CN110929261A - 存储器系统及其操作方法 - Google Patents
存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN110929261A CN110929261A CN201910743240.3A CN201910743240A CN110929261A CN 110929261 A CN110929261 A CN 110929261A CN 201910743240 A CN201910743240 A CN 201910743240A CN 110929261 A CN110929261 A CN 110929261A
- Authority
- CN
- China
- Prior art keywords
- memory
- encrypted
- boot image
- authentication key
- boot
- 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
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/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/575—Secure boot
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- 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/0656—Data buffering 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/0658—Controller construction arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种存储器系统及其操作方法。该存储器系统包括:存储器装置,用于存储包括第一固件的加密的第一启动图像,包括第二固件的加密的第二启动图像以及用于对加密的第二启动图像进行解密的第二验证密钥;以及控制器,用于控制存储器装置,并包括启动存储器、一个或多个第一处理块、一个或多个第二处理块和缓冲存储器,该启动存储器设置有启动加载程序和用于对加密的第一启动图像进行解密的第一验证密钥,该一个或多个第一处理块中的每一个包括第一内核,该一个或多个第二处理块中的每一个包括第二内核。
Description
相关申请的交叉引用
本申请要求于2018年9月19日提交的申请号为10-2018-0112170的韩国专利申请的优先权,其全部内容通过引用并入本文。
技术领域
本发明的各个实施例涉及一种存储器系统,更具体地,涉及一种用于处理存储器装置中的数据的存储器系统和操作该存储器系统的方法。
背景技术
计算机环境范例已经转变成能够随时随地使用计算机系统的普适计算。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有存储器装置的存储器系统,即数据存储装置。数据存储装置被用作便携式电子装置的主存储器装置或辅助存储器装置。
由于使用存储器装置的数据存储装置不具有机械驱动部件,所以其提供优异的稳定性、耐用性、高信息访问速度和低功耗。对于具有这些优点的存储器系统的示例,数据存储装置包括通用串行总线(USB)存储器装置、具有不同接口的存储卡和固态驱动器(SSD)。
发明内容
本发明的实施例涉及一种用于提高存储器系统的性能和安全性的启动方法和设备。
根据本发明的实施例,一种存储器系统包括:存储器装置,用于存储包括第一固件的加密的第一启动图像,包括第二固件的加密的第二启动图像以及用于对加密的第二启动图像进行解密的第二验证密钥;以及控制器,用于控制存储器装置,并包括启动存储器、一个或多个第一处理块、一个或多个第二处理块和缓冲存储器,该启动存储器设置有启动加载程序和用于对加密的第一启动图像进行解密的第一验证密钥,该一个或多个第一处理块中的每一个包括第一内核,该一个或多个第二处理块中的每一个包括第二内核。
在启动操作期间,一个或多个第一处理块可以通过执行启动加载程序以将加密的第一启动图像加载到缓冲存储器中、基于第一验证密钥对加密的第一启动图像进行解密、并且驱动解密的第一启动图像的第一固件,来初始化一个或多个第一处理块。
初始化的一个或多个第一处理块之中的选择第一处理块可以通过基于第一固件将加密的第二启动图像和第二验证密钥加载到缓冲存储器中、基于加载的第二验证密钥对加密的第二启动图像进行解密,并且驱动解密的第二固件,来初始化一个或多个第二处理块。
根据本发明的另一实施例,一种用于操作存储器系统的方法,该存储器系统设置有存储器装置和控制所述存储器装置的控制器,该方法包括:由一个或多个第一处理块执行存储在控制器的启动存储器中的启动加载程序,以将来自存储器装置的加密的第一启动图像加载到控制器的缓冲存储器中;由一个或多个第一处理块通过使用存储在启动存储器中的第一验证密钥,对加密的第一启动图像进行解密;由一个或多个第一处理块驱动第一固件以初始化一个或多个第一处理块;由初始化的一个或多个第一处理块之中的选择第一处理块基于第一固件将来自存储器装置的加密的第二启动图像和第二验证密钥加载到缓冲存储器中;由选择第一处理块通过基于第一固件使用加载的第二验证密钥对加密的第二启动图像进行解密;以及由选择第一处理块通过基于第一固件驱动包括在解密的第二启动图像中的第二固件,来初始化一个或多个第二处理块。
根据本发明的又一实施例,一种存储器系统,包括:存储装置,用于存储至少包含主部分和次部分的加密的启动图像,并存储用于验证次部分的次验证密钥;存储器,用于存储用于验证主部分的主验证密钥;至少一个次处理块;以及至少一个主处理块,用于当存储器系统通电时,通过主验证密钥和次验证密钥验证加密的启动图像来顺序地启动至少一个主处理块和至少一个次处理块,对验证的启动图像进行解密并驱动解密的启动图像,其中启动的主处理块和次处理块根据解密的启动图像中的固件控制存储器系统。
附图说明
图1是示出根据本发明的实施例的存储器系统的框图。
图2至图3B示出根据本发明的实施例的存储器系统的启动操作。
图4是示出根据本发明的实施例的存储器系统的结构的框图。
图5至图13示出包括根据本发明的实施例的存储器系统的数据处理系统的其它示例。
具体实施方式
以下将参照附图更详细地描述本发明的各个实施例。然而,本发明可以以不同于本文公开的配置或布置来实施。因此,本发明不限于本文阐述的实施例。相反,提供这些实施例以使本公开是彻底的和完整的,并且向本领域技术人员充分传达本发明的范围。在整个本公开中,相同的附图标记在本发明的各个附图和实施例中表示相同的部件。
注意的是,对“实施例”等的参考不一定仅指一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。
将理解的是,尽管本文可以使用术语“第一”和/或“第二”来识别各种元件,但是这些元件不应受这些术语的限制。这些术语仅用于将一个元件与另一元件区分开,否则一个元件与另一元件具有相同或相似的名称。例如,在不脱离本公开的教导的情况下,一个上下文中的第一元件可以在另一上下文中被称为第二元件,或反之亦然。
应当理解,当一个元件被称为“联接”或“连接”到另一个元件时,它可以直接联接或连接到另一个元件,或者可以在其间存在一个或多个中间元件。相反,应该理解,当元件被称为“直接联接”或“直接连接”到另一元件时,则不存在中间元件。解释元件之间关系的其它表达,诸如“在……之间”、“直接在……之间”、“与……相邻”或“与……直接相邻”应该以相同的方式来解释。两个元件无论是直接连接/联接还是间接连接/联接,两个元件之间的通信可以是有线的或无线的,除非上下文另有说明。
本文使用的术语仅用于描述特定实施例的目的,并不意图限制。在本公开中,除非上下文另有明确说明,否则单数形式旨在包括复数形式,反之亦然。在本申请和所附权利要求中使用的冠词“一”和“一个”通常应被解释为表示“一个或多个”,除非另有说明或从上下文清楚地指向单数形式。将进一步理解的是,当在本说明书中使用时,术语“包含”、“包括”、“具有”等指定所述特征、数量、步骤、操作、元件、组件和/或其组合的存在,但是并不排除存在或添加一个或多个其它特征、数量、步骤、操作、元素、组件和/或其组合。
本文公开的实施例是为了理解本公开的技术精神。然而,本公开的范围不应限于这些实施例。本公开所属领域的技术人员将根据本公开的技术精神以及所公开的实施例理解和认识到可以进行修改。
除非另有限定,否则本文使用的包括技术和科学术语的所有术语具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。除非在本公开中另外定义,否则这些术语不应被解释为理想的或过于形式的。
将参照附图详细描述本发明的各个实施例。
图1是示出根据本发明的实施例的存储器系统110的框图。
存储器系统110可响应于主机的请求操作以为主机存储数据。存储器系统110可用作主机的主存储器装置或辅助存储器装置。
主机可包括诸如移动电话、MP3播放器和膝上型计算机的各种便携式电子装置中的任意一种或诸如台式计算机、游戏机、电视(TV)和投影仪的各种非便携式电子装置中的任意一种。
主机可包括至少一个操作系统(OS),其可管理和控制主机的全部功能和操作,并且使用存储器系统110来提供主机和用户之间的操作。OS可支持与用户的使用目的和用途相对应的功能和操作。
存储器系统110可响应于主机的请求操作以为主机存储数据。存储器系统110的非限制性示例包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用串行总线(USB)装置、通用闪存(UFS)装置、紧凑式闪存(CF)卡、智能媒体卡(SMC)、个人计算机存储卡国际协会(PCMCIA)卡和记忆棒。MMC可包括嵌入式MMC(eMMC)、尺寸减小的MMC(RS-MMC)和微型-MMC等。SD卡可包括迷你-SD卡和微型-SD卡。
存储器系统110可通过各种类型的存储装置来实施。这种存储装置的示例包括但不限于诸如动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置和诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM或ReRAM)和闪速存储器的非易失性存储器装置。
存储器系统110可包括控制器130和存储器装置150。
控制器130和存储器装置150可被集成到单个半导体装置中,单个半导体装置可被包括在如上所例示的各种类型的存储器系统中的任意一个中。例如,控制器130和存储器装置150可集成为一个半导体装置来构成固态驱动器(SSD)。当存储器系统110被用作SSD时,可提高连接至存储器系统110的主机的操作速度。在另一示例中,控制器130和存储器装置150可被集成为一个半导体装置以构成诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)卡,紧凑式闪存(CF)卡,智能媒体(SM)卡,记忆棒,包括尺寸减小的MMC(RS-MMC)和微型-MMC的多媒体卡(MMC),包括迷你-SD卡、微型-SD卡和SDHC卡的安全数字(SD)卡,或通用闪存(UFS)装置。
存储器系统110的非限制性应用示例包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、3维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境下传输/接收信息的装置、构成家庭网络的各种电子装置中的一个、构成计算机网络的各种电子装置中的一个、构成远程信息处理的各种电子装置中的一个、射频识别(RFID)装置或构成计算系统的各种组件中的一个。
存储器装置150可以是非易失性存储器装置,并且即使不供应电力,也可保持其中存储的数据。存储器装置150可通过写入操作来存储从主机提供的数据,并且通过读取操作将存储在其中的数据提供至主机。存储器装置150可包括多个存储块,多个存储块中的每一个可包括多个页面,并且多个页面中的每一个可包括联接到字线的多个存储器单元。在实施例中,存储器装置150可以是闪速存储器。闪速存储器可具有三维(3D)堆叠结构。
控制器130可响应于来自主机的请求来控制存储器装置150。例如,控制器130可将从存储器装置150读取的数据提供到主机,并将从主机提供的数据存储至存储器装置150中。对于该操作,控制器130可控制存储器装置150的读取操作、写入操作、编程操作和擦除操作。
控制器130可包括主机接口(I/F)132、处理器134、错误校正码(ECC)组件、电源管理单元(PMU)140、诸如NAND闪速控制器(NFC)的存储器I/F 142以及存储器144,其全部通过内部总线可操作地联接。
主机接口132可被配置成处理主机的命令和数据,并可通过诸如以下的各种接口协议中的一种或多种与主机通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-e或PCIe)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。主机接口可以驱动固件以支持主机和控制器130之间的数据传输。固件可以称为主机接口层(HIL)。
PMU 140可提供和管理控制器130的电力。
存储器I/F 142可用作用于将控制器130和存储器装置150接口连接的存储器/存储接口,使得控制器130响应于来自主机的请求来控制存储器装置150。当存储器装置150是闪速存储器或特别地是NAND闪速存储器时,存储器I/F 142可在处理器134的控制下生成用于存储器装置150的控制信号并处理待被提供至存储器装置150的数据。存储器I/F 142可用作用于处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。特别地,存储器I/F 142可以驱动固件以支持控制器130和存储器装置150之间的数据传输。固件可以称为闪存接口层(FIL)。
缓冲存储器144可用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。
缓冲存储器144可通过易失性存储器来实施。例如,缓冲存储器144可通过静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。缓冲存储器144可设置在控制器130的内部或外部。图1示出缓冲存储器144设置在控制器130的内部。在实施例中,缓冲存储器144可通过具有存储器接口的外部易失性存储器来实施,该存储器接口用于在缓冲存储器144和控制器130之间传输数据。
控制器130可响应于来自主机的请求控制存储器装置150执行读取操作、写入操作、编程操作和擦除操作。控制器130可将从存储器装置150读取的数据提供给主机并且可将从主机提供的数据存储到存储器装置150中。缓冲存储器144可存储控制器130和存储器装置150执行这些操作所需的数据。为了存储控制器130和存储器装置150所需的数据,缓冲存储器144可以包括写入缓冲器、读取缓冲器、数据缓冲器和映射缓冲器。
处理器134可控制存储器系统110的全部操作。处理器134可驱动固件以控制存储器系统110的全部操作。固件可被称为闪存转换层(FTL)。而且,处理器134可被实现为微处理器或中央处理单元(CPU)。
参照图1,处理器134可以包括多个处理块。每个处理块可以包括用于处理操作的内核和用于存储操作内核所需的数据的存储器(未示出)。
例如,控制器130可通过处理器134在存储器装置150中执行由主机请求的操作,其中处理器134被实现为微处理器或CPU。换言之,控制器130可执行与从主机或其它来源接收的命令相对应的命令操作。控制器130可执行前台操作作为与从主机接收到的命令相对应的命令操作。例如,控制器130可执行对应于写入命令的编程操作、对应于读取命令的读取操作、对应于擦除命令的擦除操作以及对应于设置参数命令或设置特征命令的参数设置操作。
而且,控制器130可通过处理器134对存储器装置150执行后台操作,其中处理器134被实现为微处理器或CPU。对存储器装置150执行的后台操作可包括:将存储在存储器装置150的存储块之中的一些存储块中的数据复制到其它存储块中并对该数据进行处理的操作,例如垃圾收集(GC)操作;在选择存储块之间交换数据的操作,例如损耗均衡(WL)操作;将存储在控制器130中的映射数据存储在存储块中的操作,例如映射清除操作;或者管理存储器装置150的坏块的操作,例如检测并处理存储块之中的坏块的坏块管理操作。
同时,当存储器系统110通电时,缓冲存储器144可以不存储用于驱动存储器系统110的数据。处理器134可以从存储器装置150加载用于驱动存储器系统110的数据,并将数据存储在缓冲存储器144中。用于驱动存储器系统110的数据被称为启动图像。
存储器装置150可以存储启动图像。启动图像可以包括固件和用于驱动固件所需的数据。固件可以由稍后将描述的处理器134执行,并且可以包括存储器系统110的操作所需的命令。例如,固件可以控制主机接口132、处理器134、电源管理单元140和存储器接口142之中的至少一个。
而且,启动存储器136可以存储启动存储器系统110所需的数据。具体地,启动存储器136可以包括启动加载程序(boot loader)和例如第一密钥的验证。即使没有供应电力,启动存储器136也可以保持数据。
当存储器系统110通电时,处理器134可以响应于从启动加载程序提供的命令将启动图像加载到缓冲存储器144中。启动加载程序可以包括与用于控制存储器装置150读取存储在其中的启动图像以将启动图像加载到缓冲存储器144中的命令对应的源代码。
启动图像可能被恶意和未经授权的访问(诸如数据黑客攻击等)损坏。存储器系统110可以执行通过存储在启动存储器136中的验证密钥来验证启动图像的安全启动,以便不通过损坏的启动图像启动存储器系统110。
随着对高性能存储器系统的需求增加,可以提高构成存储器系统110的处理器134的性能,并且可以存在由处理器驱动的多种类型的这样的固件。例如,上述每个处理块可以驱动控制PMU 140的电源管理固件以及诸如上述HIL、FIL和FTL的多个固件之中的至少一个。因此,存储在存储器装置150中的启动图像可以包括多个固件,并且启动图像的大小可以增大。
在根据现有技术的存储器系统中,处理器响应于从启动加载程序提供的命令,将用于驱动多个固件的所有大容量启动图像加载到控制器的存储器中,并通过使用包括在启动存储器中的验证密钥对整个启动图像执行验证。
存储启动加载程序和验证密钥的启动存储器具有低操作速度。因此,从启动加载程序提供命令以加载和验证大小较大的启动图像花费更多时间。而且,由于不能修改一次存储在启动存储器中的数据,因此当泄漏验证密钥时,根据现有技术的存储器系统的安全性可能是脆弱的。
根据本发明的实施例,处理器134可以包括响应于启动加载程序的命令而安全启动的一个或多个第一处理块以及在所启动的一个或多个第一处理块的控制下安全启动的一个或多个第二处理块。图1示出包括一个第一处理块146和多个第二处理块148的处理器134。
根据本发明的实施例,启动存储器136可以包括用于加载存储在存储器装置150中的加密的第一启动图像的启动加载程序和用于验证第一启动图像的第一验证密钥。第一启动图像可以包括作为整个启动图像的一部分的第一固件,并且可以进一步包括用于将第二固件从存储器装置150加载到缓冲存储器144中的可作为命令和数据的源代码。
根据本发明的实施例,存储器装置150可以包括加密的第一启动图像、加密的第二启动图像和用于验证加密的第二启动图像的第二验证密钥。第二启动图像可以包括第二固件。
根据本发明的实施例,通过另外使用存储器装置150和一个或多个第一处理块146的资源,可以独立于启动存储器136的有限资源来改进存储器系统110的启动操作。进一步地,可以通过使用多个验证密钥来增强启动图像的安全性。
图1示出第二验证密钥存储在存储器装置150中的与存储加密的第一启动图像和第二启动图像的区域不同的区域中。然而,本发明不限于这种布置。在另一实施例中,第二验证密钥可以包括在加密的第一启动图像中。
图2至图3B示出根据本发明的实施例的存储器系统的启动操作。
参照图2,当存储器系统110通电时,在步骤S202中,第一处理块146可以执行存储在启动存储器136中的启动加载程序。第一处理块146可以响应于从启动加载程序提供的命令将加密的第一启动图像从存储器装置150加载到缓冲存储器144中。
在步骤S204中,第一处理块146可以通过使用存储在启动存储器136中的第一验证密钥来解密加密的第一启动图像。
在本发明的实施例中,加密的第一启动图像还可以包括第一验证密钥。第一处理块146可以通过比较第一验证密钥来提取第一验证密钥并解密第一启动图像。当存储在存储器装置150中的加密的第一启动图像被损坏并且因此其中的第一验证密钥也被损坏时,第一处理块146可不解密从存储器装置150加载的被损坏的第一启动图像,因为存储在启动存储器136中的第一验证密钥与被损坏的第一启动图像中的损坏的第一验证密钥不同。
在本发明的实施例中,第一处理块146可以执行设置操作以从第一启动图像提取第一验证密钥。第一处理块146可以通过将提取的第一验证密钥与存储在启动存储器136中的第一验证密钥进行比较来解密第一启动图像。启动存储器136可以进一步包括用于设置操作的可作为命令和数据的源代码。
当加密的第一启动图像被损坏时,第一验证密钥彼此不一致,例如不匹配。当第一验证密钥彼此不一致时(在步骤S204中为“否”),第一处理块146可以结束启动操作而不解密第一启动图像。
当第一验证密钥彼此一致时(在步骤S204中为“是”),在步骤S206中,第一处理块146可以解密第一启动图像并响应于从第一启动图像提供的命令对其自身执行启动操作。具体地,第一处理块146的启动操作可以包括通过驱动包括在第一启动图像中的第一固件来启动第一处理块146。当完成初始化第一处理块146的操作时,第一处理块146可以在第一固件的控制下独自操作。
初始化的第一处理块146可以基于第一固件来控制存储器系统110的操作。例如,当第一固件是电源管理固件时,第一处理块146可以通过控制电源管理单元(PMU)140来管理存储器系统110的电源。
由第一固件驱动的第一处理块146可能不足以控制存储器系统110的全部操作。然而,初始化的第一处理块146可以自身操作,而不依赖于来自启动存储器136的启动加载程序的命令。例如,第一处理块146可以基于第一固件独自操作,以向存储器装置150提供用于读取存储在存储器装置150中的数据的命令。
图3A示出加密的第一启动图像被加载到缓冲存储器144中的状态。图3A中所示的阴影区域可以表示执行步骤S202至S206的操作的区域。
返回参照图2,在步骤S208中,初始化的第一处理块146可以响应于第一启动图像中的命令,将加密的第二启动图像从存储器装置150加载到缓冲存储器144中。
在步骤S210中获得的初始化的第一处理块146可以通过使用存储在存储器装置150中的第二验证密钥来解密加密的第二启动图像。
根据本发明的实施例,加密的第二启动图像还可以包括第二验证密钥。启动的第一处理块146可以从第二启动图像提取第二验证密钥,并通过将从加密的第二启动图像提取的第二验证密钥与从存储器装置150加载的第二验证密钥进行比较来解密第二启动图像。
根据本发明的实施例,启动的第一处理块146可以执行设置操作以从加密的第二启动图像中提取第二验证密钥。启动的第一处理块146可以通过将提取的第二验证密钥与从存储器装置150加载的第二验证密钥进行比较来解密第二启动图像。启动存储器136可以进一步包括用于执行设置操作的可作为命令和数据的源代码。
图3B示出加密的第二启动图像被加载到缓冲存储器144中的状态。图3B中所示的阴影区域可以表示执行步骤S208至S210的操作的区域。
当加密的第二启动图像被损坏时,从被损坏的第二启动图像提取的第二验证密钥和从存储器装置150加载的第二验证密钥彼此不一致。当第二验证密钥彼此不一致时(在步骤S210中为“否”),初始化的第一处理块146可以结束启动操作而不解密被损坏的第二启动图像。
当第二验证密钥彼此一致时(在步骤S210中为“是”),在步骤S212中,初始化的第一处理块146可以解密加密的第二启动图像并且响应于第二启动图像中的命令对一个或多个第二处理块148执行启动操作。具体地,第二处理块148的启动操作可以包括通过驱动包括在解密的第二图像中的第二固件来初始化第二处理块148的操作。当完成初始化第二处理块148的操作时,第二处理块148可以在第二固件的控制下独自操作。
根据本发明的实施例,加载到缓冲存储器144中的第二启动图像可以被加密和编码。当被加密和编码的第二启动图像被解密时,初始化的第一处理块146可以对编码的第二启动图像进行解码,并通过读取解码的第二启动图像对一个或多个第二处理块148执行启动操作。第一启动图像可以进一步包括用于对第二启动图像进行解码的可作为命令和数据的源代码。
完成启动操作的一个或多个第二处理块148可以通过单独驱动第二固件来控制存储器系统110的操作。第二固件可以指控制存储器系统110的全部操作所需的多个固件之中除第一固件之外的固件。例如,当第一固件是电源管理固件时,第二固件可以是HIL、FIL或FTL。然而,本发明不限于这些类型的第一固件和第二固件。
当完成步骤S212的操作时,初始化第一处理块146和第二处理块148的操作可以全部完成,因此第一处理块和第二处理块中的每一个可以在第一固件和第二固件的控制下独自操作。因此,处理器134能够控制存储器系统110的全部操作。
尽管图1示出存储器系统110,在存储器系统110中响应于启动加载程序的命令启动一个第一处理块146并且在启动的第一处理块146的控制下启动多个第二处理块148,但是本发明的概念和精神不限于该布置和配置。
图4是示出根据本发明的实施例的存储器系统110的结构的框图。
参照图4,可以响应于启动加载程序的命令启动多个第一处理块446。启动的第一处理块446可以分别在不同的第一固件的控制下进行操作。启动的第一处理块446可以并行操作以启动多个第二处理块448。
根据本发明的实施例,启动的第一处理块446可以包括加载块和验证块。一旦加载块在步骤S208中加载加密的第二启动图像或紧接着加载块在步骤S208中加载加密的第二启动图像之后,验证块可以通过对已经加载的第二启动图像的一部分执行设置操作来提取第二验证密钥,以便提取加密的第二启动图像的验证密钥。
根据上述本发明的实施例,即使当启动存储器136的资源是有限的时,也可以通过另外使用存储器装置150和一个或多个第一处理块146的资源来改进存储器系统110的启动操作。
而且,当启动存储器136由只读存储器装置形成时,数据一旦被存储就可能难以改变。另一方面,存储器装置150是诸如可以改变所存储的数据的闪速存储器的非易失性存储器装置。因此,即使泄漏了第二验证密钥,也可以相对容易地改变第二验证密钥,因为第二验证密钥被存储在存储器装置150中的密钥存储区域中。因此,可以提高存储器系统110的安全性。
参照图5至图13,将详细描述可应用包括上述存储器装置150和控制器130的存储器系统110的数据处理系统和电子装置。
图5是示意性地示出包括根据实施例的存储器系统的数据处理系统的示图。图5示意性示出应用根据实施例的存储器系统的存储卡系统6100。
参照图5,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更特别地,存储器控制器6120可连接至通过非易失性存储器(NVM)实施的存储器装置6130,并被配置成访问存储器装置6130。例如,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机(未示出)之间的接口连接并驱动固件以控制存储器装置6130。也就是说,存储器控制器6120可对应于参照图1描述的存储器系统110的控制器130,并且存储器装置6130可对应于参照图1描述的存储器系统110的存储器装置150。
因此,如图1所示,存储器控制器6120可包括随机存取存储器(RAM)、处理器、主机接口、存储器接口和错误校正组件。
存储器控制器6120可通过连接器6110与例如图1的主机的外部装置通信。例如,如参照图1所述,存储器控制器6120可被配置成通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、无线保真(Wi-Fi或WiFi)以及蓝牙。因此,存储器系统和数据处理系统可应用于有线和/或无线电子装置,尤其是移动电子装置。
存储器装置6130可通过易失性存储器(NVM)实施。例如,存储器装置6130可利用诸如以下的各种非易失性存储器装置中的任意来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋转移力矩磁性RAM(STT-MRAM)。
存储器控制器6120和存储器装置6130可被集成到单个半导体装置中。例如,存储器控制器6120和存储器装置6130可被集成以形成固态驱动器(SSD)。在另一实施例中,存储器控制器6120和存储器装置6130可形成诸如以下的存储卡:PC卡(例如,个人计算机存储卡国际协会(PCMCIA))、紧凑式闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、安全数字(SD)卡(例如,SD、迷你SD、微型SD和SDHC)和/或通用闪存(UFS)。
图6是示意性地示出包括根据实施例的存储器系统的数据处理系统6200的另一示例的示图。
参照图6,数据处理系统6200可包括具有一个或多个非易失性存储器(NVM)的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。数据处理系统6200可用作诸如存储卡(CF卡、SD卡、微型SD卡等)或USB装置的存储介质,如参照图1描述的。存储器装置6230可对应于图1所示的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于图1所示的存储器系统110中的控制器130。
存储器控制器6220可响应于主机6210的请求控制对存储器装置6230的读取操作、写入操作或擦除操作,并且存储器控制器6220可包括一个或多个中央处理单元(CPU)6221、诸如随机存取存储器(RAM)6222的缓冲存储器、主机接口6224以及诸如NVM接口6225的存储器接口。
CPU 6221可控制对存储器装置6230的全部操作,例如读取操作、写入操作、文件系统管理操作和坏页面管理操作。RAM 6222可根据CPU 6221的控制来操作,并且用作工作存储器、缓冲存储器或高速缓存存储器。当RAM 6222用作工作存储器时,由CPU 6221处理的数据可被临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222可用于缓冲从主机6210传输到存储器装置6230或从存储器装置6230传输到主机6210的数据。当RAM 6222用作高速缓存存储器时,RAM 6222可辅助存储器装置6230以高速运转。
存储器控制器6220可通过主机接口6224与主机6210交换数据,并通过NVM接口6225与存储器装置6230交换数据。主机接口6224可通过并行高级技术附件(PATA)总线、串行高级技术附件(SATA)总线、小型计算机系统接口(SCSI)、通用串行总线(USB)、高速外围组件互连(PCIe)或NAND接口而连接至主机6210。存储器控制器6220可具有包含诸如无线保真(WiFi)或长期演进(LTE)的移动通信协议的无线通信功能。存储器控制器6220可连接至外部装置,例如主机6210或另一外部装置,然后与外部装置交换数据。特别地,由于存储器控制器6220被配置成通过各种通信协议的一种或多种与外部装置进行通信,因此存储器系统和数据处理系统可被应用于有线和/或无线电子装置,特别是移动电子装置。
图7是示意性地示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图7示意性示出可应用存储器系统的固态驱动器(SSD)6300。
参照图7,SSD 6300可包括控制器6320和包括多个非易失性存储器(NVM)的存储器装置6340。控制器6320可对应于图1的存储器系统110中的控制器130,并且存储器装置6340可对应于图1的存储器系统中的存储器装置150。
更特别地,控制器6320可通过多个通道CH1至CHi连接至存储器装置6340。控制器6320可包括一个或多个处理器6321、主机接口6324、缓冲存储器6325和例如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可临时存储从主机6310提供的数据或从存储器装置6340中包括的多个闪速存储器NVM提供的数据,或者临时存储多个闪速存储器NVM的元数据,例如,包括映射表的映射数据。缓冲存储器6325可由诸如动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、低功率DDR(LPDDR)SDRAM和图形RAM(GRAM)的易失性存储器或诸如铁电RAM(FRAM)、电阻式RAM(RRAM或ReRAM)、自旋转移力矩磁性RAM(STT-MRAM)和相变RAM(PRAM)的非易失性存储器实施。通过示例的方式,图7示出缓冲存储器6325存在于控制器6320中。然而,缓冲存储器6325可被设置在控制器6320的外部。
主机接口6324可提供与外部装置例如主机6310的接口连接功能,并且非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口连接功能。
此外,可设置应用图1的存储器系统110的多个SSD 6300来实施数据处理系统,例如,独立磁盘冗余阵列(RAID)系统。RAID系统可包括多个SSD 6300和用于控制多个SSD6300的RAID控制器。当RAID控制器响应于从SSD 6300中的主机6310提供的写入命令执行编程操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的写入命令的RAID级别信息,选择一个或多个存储器系统或SSD 6300,并将对应于写入命令的数据输出到选择的SSD6300。此外,当RAID控制器响应于从SSD 6300中的主机6310提供的读取命令执行读取操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的读取命令的RAID级别信息,选择一个或多个存储器系统或SSD 6300,并将从所选择的SSD 6300读取的数据提供到主机6310。
图8是示意性地示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图8示意性地示出可应用存储器系统的嵌入式多媒体卡(eMMC)6400。
参照图8,eMMC 6400可包括控制器6430和通过一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1的存储器系统110中的控制器130,并且存储器装置6440可对应于图1的存储器系统110中的存储器装置150。
更特别地,控制器6430可通过多个通道连接至存储器装置6440。控制器6430可包括一个或多个内核6432、主机接口(I/F)6431和例如NAND接口(I/F)6433的存储器接口。
内核6432可控制eMMC 6400的全部操作,主机接口6431可提供控制器6430和主机6410之间的接口连接功能,并且NAND接口6433可提供存储器装置6440和控制器6430之间的接口连接功能。例如,主机接口6431可用作例如参照图1所述的MMC接口的并行接口。此外,主机接口6431可用作串行接口,例如超高速(UHS)-I和UHS-II接口。
在图5至图8中描述的存储器控制器6120、存储器控制器6220、控制器6320和控制器6430中的每一个可以包括启动存储器、第一处理块和第二处理块,该启动存储器包括启动加载程序和第一验证密钥。存储器装置6130、存储器装置6230、存储器装置6340和存储器装置6440可以包括第一启动图像、第二启动图像和第二验证密钥。
第一处理块可以响应于启动加载程序的控制来加载第一启动图像以启动自身。启动的第一处理块可以通过加载第二启动图像和第二验证密钥来启动第二处理块。换言之,可以通过另外利用第一处理块的资源来提高存储器系统的启动性能,并且可以通过使用多个验证密钥来增强安全性。
图9至图12是示意性地示出包括根据一个或多个实施例的存储器系统的数据处理系统的其它示例的示图。图9至图12示意性地示出可应用存储器系统的通用闪存(UFS)系统。
参照图9至图12,UFS系统6500、6600、6700和6800可分别包括主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830。主机6510、6610、6710和6810可用作有线和/或无线电子装置或特别是移动电子装置的应用处理器,UFS装置6520、6620、6720和6820可用作嵌入式UFS装置。UFS卡6530、6630、6730和6830可用作外部嵌入式UFS装置或可移动UFS卡。
各个UFS系统6500、6600、6700和6800中的主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过UFS协议与例如有线和/或无线电子装置,特别是移动电子装置的外部装置通信。UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可由图1所示的存储器系统110实施。例如,在UFS系统6500、6600、6700和6800中,UFS装置6520、6620、6720和6820可参照图6至图8描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730和6830可以参照图5描述的存储卡系统6100的形式来实施。
此外,在UFS系统6500、6600、6700和6800中,主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过例如MIPI(移动工业处理器接口)中的MIPI M-PHY和MIPI UniPro(统一协议)的UFS接口来彼此通信。此外,UFS装置6520、6620、6720和6820与UFS卡6530、6630、6730和6830可通过除UFS协议以外的例如通用串行总线(USB)闪存驱动器(UFD)、多媒体卡(MMC)、安全数字(SD)、迷你-SD卡和微型-SD卡的各种协议彼此通信。
在图9所示的UFS系统6500中,主机6510、UFS装置6520以及UFS卡6530中的每一个可包括UniPro。主机6510可执行交换操作,以便与UFS装置6520和UFS卡6530通信。特别地,主机6510可通过例如UniPro处的L3交换的链路层交换与UFS装置6520或UFS卡6530通信。UFS装置6520和UFS卡6530可通过在主机6510的UniPro处的链路层交换来彼此通信。在所示出的实施例中,通过示例的方式示出一个UFS装置6520和一个UFS卡6530连接到主机6510的配置。然而,在另一实施例中,多个UFS装置和UFS卡可并联或以星型形式连接至主机6510,并且多个UFS卡可并联或以星型形式连接至UFS装置6520,或者串联或以链型形式连接至UFS装置6520。
在图10所示的UFS系统6600中,主机6610、UFS装置6620、UFS卡6630中的每一个可包括UniPro,并且主机6610可通过执行交换操作的交换模块6640,例如通过在UniPro处执行例如L3交换的链路层交换的交换模块6640,与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可通过在UniPro处的交换模块6640的链路层交换来彼此通信。在所示出的实施例中,通过示例的方式示出一个UFS装置6620和一个UFS卡6630连接到交换模块6640的配置。然而,在另一实施例中,多个UFS装置和UFS卡可并联或以星型形式连接至交换模块6640,并且多个UFS卡可串联或以链型形式连接至UFS装置6620。
在图11所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可包括UniPro。主机6710可通过执行交换操作的交换模块6740,例如通过在UniPro处执行例如L3交换的链路层交换的交换模块6740,与UFS装置6720或UFS卡6730通信。UFS装置6720和UFS卡6730可通过在UniPro处的交换模块6740的链路层交换来彼此通信,并且交换模块6740可在UFS装置6720的内部或外部与UFS装置6720集成为一个模块。在所示出的实施例中,通过示例的方式示出一个UFS装置6720和一个UFS卡6730连接到交换模块6740的配置。然而,在另一实施例中,每个包括交换模块6740和UFS装置6720的多个模块可并联或以星型形式连接至主机6710,或串联或以链型形式彼此连接。此外,多个UFS卡可并联或以星型形式连接至UFS装置6720。
在图12所示的UFS系统6800中,主机6810、UFS装置6820和UFS卡6830中的每一个可包括M-PHY和UniPro。UFS装置6820可执行交换操作,以便与主机6810和UFS卡6830通信。特别地,UFS装置6820可以通过在用于与主机6810通信的M-PHY和UniPro模块和用于与UFS卡6830通信的M-PHY和UniPro模块之间的交换操作,例如通过目标标识符(ID)交换操作,来与主机6810或UFS卡6830通信。主机6810和UFS卡6830可通过UFS装置6820的M-PHY和UniPro模块之间的目标ID交换来彼此通信。在所示出的实施例中,通过示例的方式示出一个UFS装置6820连接到主机6810且一个UFS卡6830连接到UFS装置6820的配置。然而,在另一实施例中,多个UFS装置可并联或以星型形式连接至主机6810,或串联或以链型形式连接至主机6810,并且多个UFS卡可并联或以星型形式连接至UFS装置6820,或串联或以链型形式连接至UFS装置6820。
图13是示意性地示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图13示意性地示出可应用存储器系统的用户系统6900。
参照图13,用户系统6900可包括用户接口6910、存储器模块6920、应用处理器6930、网络模块6940和存储模块6950。
更特别地,应用处理器6930可驱动包括在用户系统6900中的例如操作系统(OS)的组件,并且包括控制用户系统6900中包括的组件的控制器、接口和图形引擎。应用处理器6930可被设置为片上系统(SoC)。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块6920可包括诸如动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDRAM、LPDDR2SDRAM或LPDDR3SDRAM的易失性随机存取存储器(RAM),或诸如相变RAM(PRAM)、电阻式RAM(ReRAM)、磁阻RAM(MRAM)或铁电RAM(FRAM)的非易失性RAM。例如,可基于堆叠封装(POP)来封装和安装应用处理器6930和存储器模块6920。
网络模块6940可与外部装置通信。例如,网络模块6940不仅可支持有线通信,而且还支持诸如以下的各种无线通信协议:码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(WiMAX)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI-DI),从而与有线/无线电子装置或特别是移动电子装置通信。因此,根据本发明的实施例的存储器系统和数据处理系统可应用于有线/无线电子装置。网络模块6940可被包括在应用处理器6930中。
存储模块6950可存储例如从应用处理器6930接收的数据的数据,然后可将所存储的数据传输到应用处理器6930。存储模块6950可由诸如以下的非易失性半导体存储器装置实施:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪存、NOR闪存和3D NAND闪存,并且可被设置为诸如用户系统6900的存储卡或外部驱动器的可移动存储介质。存储模块6950可对应于参照图1所述的存储器系统110。此外,存储模块6950可被实施为如上参照图7至图12所述的SSD、eMMC和UFS。
用户接口6910可包括用于将数据或命令输入到应用处理器6930或用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器的用户输出接口。
此外,当图1的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的全部操作,并且网络模块6940可用作用于控制与外部装置的有线和/或无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示由应用处理器6930处理的数据,或支持从触摸面板接收数据的功能。
根据本发明的实施例,提供了一种可以改善存储器系统的性能和安全性的启动方法和设备。
虽然已经针对具体实施例说明和描述了本发明,但是根据本公开,对于本领域技术人员显而易见的是,在不脱离如所附权利要求中限定的本公开的精神和范围的情况下,可以进行各种改变和修改。
Claims (19)
1.一种存储器系统,包括:
存储器装置,存储包括第一固件的加密的第一启动图像、包括第二固件的加密的第二启动图像,以及对所述加密的第二启动图像进行解密的第二验证密钥;以及
控制器,控制所述存储器装置,并且包括:
启动存储器,设置有启动加载程序和对所述加密的第一启动图像进行解密的第一验证密钥,
一个或多个第一处理块,所述一个或多个第一处理块中的每一个包括第一内核,
一个或多个第二处理块,所述一个或多个第二处理块中的每一个包括第二内核,以及
缓冲存储器。
2.根据权利要求1所述的存储器系统,其中在启动操作期间,所述一个或多个第一处理块通过执行所述启动加载程序以将所述加密的第一启动图像加载到所述缓冲存储器中、基于所述第一验证密钥对所述加密的第一启动图像进行解密、并且驱动所述解密的第一启动图像的所述第一固件,来初始化所述一个或多个第一处理块。
3.根据权利要求2所述的存储器系统,其中初始化的一个或多个第一处理块之中的选择第一处理块通过基于所述第一固件将所述加密的第二启动图像和所述第二验证密钥加载到所述缓冲存储器中、基于所述加载的第二验证密钥对所述加密的第二启动图像进行解密、并且驱动所述解密的第二固件,来初始化所述一个或多个第二处理块。
4.根据权利要求2所述的存储器系统,
其中所述加密的第一启动图像包括第一验证密钥,并且
其中所述一个或多个第一处理块根据所述加密的第一启动图像的第一验证密钥与所述启动存储器的第一验证密钥之间的第一比较结果,对所述加密的第一启动图像进行解密。
5.根据权利要求4所述的存储器系统,其中所述一个或多个第一处理块之中的选择第一处理块通过执行设置操作提取所述加密的第一启动图像的所述第一验证密钥。
6.根据权利要求4所述的存储器系统,其中当所述第一比较结果显示所述加密的第一启动图像的第一验证密钥与所述启动存储器的第一验证密钥不一致时,所述一个或多个第一处理块结束操作。
7.根据权利要求3所述的存储器系统,
其中所述加密的第二启动图像包括所述第二验证密钥,并且
其中所述选择第一处理块根据所述加密的第二启动图像的第二验证密钥与所述存储器装置的第二验证密钥之间的第二比较结果,对所述加密的第二启动图像进行解密。
8.根据权利要求7所述的存储器系统,其中所述选择第一处理块通过对所述加密的第二启动图像执行设置操作来提取所述第二验证密钥。
9.根据权利要求7所述的存储器系统,其中当所述第二比较结果显示所述加密的第二启动图像的第二验证密钥与所述存储器装置的第二验证密钥彼此不一致时,所述选择第一处理块结束操作。
10.根据权利要求2所述的存储器系统,
其中初始化的第一处理块中的每一个包括加载块和验证块,并且
其中在所述加载块基于所述第一固件将所述加密的第二启动图像和所述第二验证密钥加载到所述缓冲存储器中之后,所述验证块通过对已经加载的所述第二启动图像的一部分执行设置操作来提取第二验证密钥,通过将提取的第二验证密钥与所述缓冲存储器的第二验证密钥进行比较来解密所述加密的第二启动图像,并驱动所述解密的第二启动图像的第二固件。
11.根据权利要求1所述的存储器系统,其中所述第二验证密钥包括在所述加密的第一启动图像中。
12.一种操作存储器系统的方法,所述存储器系统设置有存储器装置和控制所述存储器装置的控制器,所述方法包括:
由一个或多个第一处理块执行存储在所述控制器的启动存储器中的启动加载程序,以将来自所述存储器装置的加密的第一启动图像加载到所述控制器的缓冲存储器中;
由所述一个或多个第一处理块通过使用存储在所述启动存储器中的第一验证密钥,对所述加密的第一启动图像进行解密;
由所述一个或多个第一处理块驱动第一固件以初始化所述一个或多个第一处理块;
由初始化的一个或多个第一处理块之中的选择第一处理块基于所述第一固件将来自所述存储器装置的加密的第二启动图像和第二验证密钥加载到所述缓冲存储器中;
由所述选择第一处理块通过基于所述第一固件使用所述加载的第二验证密钥对所述加密的第二启动图像进行解密;以及
由所述选择第一处理块通过基于所述第一固件驱动包括在所述解密的第二启动图像中的第二固件,来初始化一个或多个第二处理块。
13.根据权利要求12所述的方法,其中对所述加密的第一启动图像进行解密包括:
提取所述加密的第一启动图像的第一验证密钥;以及
根据所述加密的第一启动图像的第一验证密钥与所述启动存储器的第一验证密钥之间的第一比较结果,对所述加密的第一启动图像进行解密。
14.根据权利要求13所述的方法,其中提取第一验证密钥包括:
通过对所述加密的第一启动图像执行设置操作来提取第一验证密钥。
15.根据权利要求13所述的方法,其中对所述加密的第一启动图像进行解密进一步包括当所述第一比较结果显示所述加密的第一启动图像的第一验证密钥与所述启动存储器的第一验证密钥彼此不一致时结束操作。
16.根据权利要求12所述的方法,其中对所述加密的第二启动图像进行解密包括:
提取所述加密的第二启动图像的所述第二验证密钥;以及
根据所述加密的第二启动图像的第二验证密钥与所述存储器装置的第二验证密钥之间的第二比较结果,对所述加密的第二启动图像进行解密。
17.根据权利要求16所述的方法,其中提取第二验证密钥包括:
通过执行设置操作来提取第二验证密钥。
18.根据权利要求16所述的方法,其中对所述加密的第二启动图像进行解密进一步包括当所述第二比较结果显示所述加密的第二启动图像的第二验证密钥与所述存储器装置的第二验证密钥彼此不一致时结束操作。
19.一种存储器系统,包括:
存储装置,存储至少包含主部分和次部分的加密的启动图像,并存储验证所述次部分的次验证密钥;
存储器,存储验证所述主部分的主验证密钥;
至少一个次处理块;以及
至少一个主处理块,当所述存储器系统通电时,通过所述主验证密钥和次验证密钥验证所述加密的启动图像来顺序地启动所述至少一个主处理块和所述至少一个次处理块,对验证的启动图像进行解密并驱动解密的启动图像,
其中启动的主处理块和次处理块根据所述解密的启动图像中的固件控制所述存储器系统。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180112170A KR102558901B1 (ko) | 2018-09-19 | 2018-09-19 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR10-2018-0112170 | 2018-09-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110929261A true CN110929261A (zh) | 2020-03-27 |
CN110929261B CN110929261B (zh) | 2023-03-28 |
Family
ID=69774092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910743240.3A Active CN110929261B (zh) | 2018-09-19 | 2019-08-13 | 存储器系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11170110B2 (zh) |
KR (1) | KR102558901B1 (zh) |
CN (1) | CN110929261B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI788594B (zh) * | 2019-10-07 | 2023-01-01 | 系微股份有限公司 | 安全執行可延伸韌體應用程式的方法及計算機設備 |
US11579799B2 (en) * | 2020-03-18 | 2023-02-14 | Micron Technology, Inc. | Dynamic selection of cores for processing responses |
CN117480503A (zh) * | 2021-06-16 | 2024-01-30 | 华为技术有限公司 | 一种芯片安全启动方法及芯片 |
KR102510506B1 (ko) * | 2021-11-18 | 2023-03-15 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
EP4184359A1 (en) * | 2021-11-18 | 2023-05-24 | Samsung Electronics Co., Ltd. | Storage device and operating method of storage device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU7341894A (en) * | 1993-07-30 | 1995-02-28 | Intellect Australia Pty Ltd | Device and method for ic cards |
US6708273B1 (en) * | 1997-09-16 | 2004-03-16 | Safenet, Inc. | Apparatus and method for implementing IPSEC transforms within an integrated circuit |
US20130067245A1 (en) * | 2011-09-13 | 2013-03-14 | Oded Horovitz | Software cryptoprocessor |
US9064117B1 (en) * | 2011-09-20 | 2015-06-23 | Amazon Technologies, Inc. | Mobile provisioning device |
CN104871169A (zh) * | 2012-12-06 | 2015-08-26 | 三星电子株式会社 | 执行安全启动的片上系统、使用该片上系统的图像形成装置及其方法 |
US20180181320A1 (en) * | 2016-12-27 | 2018-06-28 | SK Hynix Inc. | Controller and operation method thereof |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064457A1 (en) * | 2002-09-27 | 2004-04-01 | Zimmer Vincent J. | Mechanism for providing both a secure and attested boot |
US7600062B2 (en) | 2006-02-24 | 2009-10-06 | Realtek Semiconductor Corp. | Method and apparatus for micro-code execution |
KR101393307B1 (ko) * | 2007-07-13 | 2014-05-12 | 삼성전자주식회사 | 보안 부팅 방법 및 그 방법을 사용하는 반도체 메모리시스템 |
US8996851B2 (en) * | 2010-08-10 | 2015-03-31 | Sandisk Il Ltd. | Host device and method for securely booting the host device with operating system code loaded from a storage device |
US8386763B1 (en) * | 2012-01-04 | 2013-02-26 | Google Inc. | System and method for locking down a capability of a computer system |
EP2851807B1 (en) | 2013-05-28 | 2017-09-20 | Huawei Technologies Co., Ltd. | Method and system for supporting resource isolation under multi-core architecture |
KR102157668B1 (ko) * | 2014-04-03 | 2020-09-22 | 에스케이하이닉스 주식회사 | 호스트와 통신하는 메모리 컨트롤러, 그것의 동작 방법 및 그것을 포함하는 컴퓨팅 시스템 |
-
2018
- 2018-09-19 KR KR1020180112170A patent/KR102558901B1/ko active IP Right Grant
-
2019
- 2019-05-10 US US16/409,263 patent/US11170110B2/en active Active
- 2019-08-13 CN CN201910743240.3A patent/CN110929261B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU7341894A (en) * | 1993-07-30 | 1995-02-28 | Intellect Australia Pty Ltd | Device and method for ic cards |
US6708273B1 (en) * | 1997-09-16 | 2004-03-16 | Safenet, Inc. | Apparatus and method for implementing IPSEC transforms within an integrated circuit |
US20130067245A1 (en) * | 2011-09-13 | 2013-03-14 | Oded Horovitz | Software cryptoprocessor |
US9064117B1 (en) * | 2011-09-20 | 2015-06-23 | Amazon Technologies, Inc. | Mobile provisioning device |
CN104871169A (zh) * | 2012-12-06 | 2015-08-26 | 三星电子株式会社 | 执行安全启动的片上系统、使用该片上系统的图像形成装置及其方法 |
US20180181320A1 (en) * | 2016-12-27 | 2018-06-28 | SK Hynix Inc. | Controller and operation method thereof |
Non-Patent Citations (2)
Title |
---|
CHRISTOPH BAUMANN: "A high assurance virtualization platform for ARMv8" * |
郑显义等: "系统安全隔离技术研究综述" * |
Also Published As
Publication number | Publication date |
---|---|
KR102558901B1 (ko) | 2023-07-25 |
US20200089889A1 (en) | 2020-03-19 |
KR20200032920A (ko) | 2020-03-27 |
CN110929261B (zh) | 2023-03-28 |
US11170110B2 (en) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110929261B (zh) | 存储器系统及其操作方法 | |
CN108255739B (zh) | 存储器系统及其操作方法 | |
US9760503B2 (en) | Operation method of memory controller and nonvolatile memory system including the memory controller | |
CN109284202B (zh) | 控制器及其操作方法 | |
KR102156222B1 (ko) | 데이터 저장 장치 및 그것을 포함하는 데이터 처리 시스템 | |
CN108257637B (zh) | 存储器系统及其操作方法 | |
CN109935251B (zh) | 存储器系统、其操作方法以及包括其的数据处理系统 | |
KR102233400B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN110032471B (zh) | 存储器系统及其操作方法 | |
US9606811B2 (en) | Operating method of data storage device | |
CN110457230B (zh) | 存储器系统及其操作方法 | |
CN108536622B (zh) | 存储装置、数据处理系统以及操作存储装置的方法 | |
KR20160025292A (ko) | 데이터 저장 장치, 그것을 포함하는 데이터 처리 시스템 및 그것의 동작 방법 | |
CN110196822B (zh) | 存储器装置、存储器控制器和存储器系统及其操作方法 | |
CN113377692A (zh) | 计算系统及其操作方法 | |
KR20200089939A (ko) | 메모리 시스템 및 그 동작 방법 | |
KR20200114086A (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
KR20190106005A (ko) | 메모리 시스템, 그것의 동작 방법 및 전자 장치 | |
KR102180972B1 (ko) | 메모리 컨트롤 유닛 및 그것을 포함하는 데이터 저장 장치 | |
CN111124035B (zh) | 基于实时时钟管理空闲页面的存储器系统及其操作方法 | |
US11550906B2 (en) | Storage system with separated RPMB sub-systems and method of operating the same | |
CN111309518B (zh) | 存储器系统和存储器系统的操作方法 | |
US11520896B2 (en) | Storage device | |
CN116069691A (zh) | 存储器控制器和存储装置 | |
KR20230133666A (ko) | 전자 장치 및 그 동작 방법 |
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 |