CN114675779A - 存储设备的操作方法以及存储系统的操作方法 - Google Patents

存储设备的操作方法以及存储系统的操作方法 Download PDF

Info

Publication number
CN114675779A
CN114675779A CN202111347114.XA CN202111347114A CN114675779A CN 114675779 A CN114675779 A CN 114675779A CN 202111347114 A CN202111347114 A CN 202111347114A CN 114675779 A CN114675779 A CN 114675779A
Authority
CN
China
Prior art keywords
command
request
security
indicating
host device
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.)
Pending
Application number
CN202111347114.XA
Other languages
English (en)
Inventor
郑大震
金东民
朴正雨
李京伯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Priority claimed from KR1020210063018A external-priority patent/KR20220092770A/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN114675779A publication Critical patent/CN114675779A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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
    • G06F21/79Protecting 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 in semiconductor storage media, e.g. directly-addressable memories
    • 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/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • 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
    • 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/0629Configuration or reconfiguration of storage systems
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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

Abstract

提供了一种存储设备的操作方法以及存储系统的操作方法,所述存储设备与主机设备通信并且被配置为设置在种类上不同的多个命令的安全模式。所述存储设备的所述操作方法包括:从所述主机设备接收指示对所述多个命令中的第一命令进行保护以及对所述多个命令中的第二命令进行保护的安全请求;基于所述安全请求,设置所述第一命令的安全模式和所述第二命令的安全模式;从所述主机设备接收指示执行所述第一命令的请求的第一请求;基于所述第一请求,向所述主机设备输出指示所述第一命令的失败的第一响应;从所述主机设备接收指示执行所述第二命令的请求的第二请求;以及基于所述第二请求,向所述主机设备输出指示所述第二命令的失败的第二响应。

Description

存储设备的操作方法以及存储系统的操作方法
相关申请的交叉引用
本申请要求在韩国知识产权局于2020年12月24日提交的第10-2020-0183559号韩国专利申请和于2021年5月14日提交的第10-2021-0063018号韩国专利申请的优先权,其公开内容通过引用全部合并于此。
技术领域
这里描述的本公开的示例实施例涉及存储设备的安全,更具体地,涉及用于设置命令的安全模式的存储设备的操作方法,以及包括该存储设备的存储系统的操作方法。
背景技术
存储器件响应于写入请求而存储数据,并且响应于读取请求而输出存储在其中的数据。例如,存储器件被分类为在电源中断时丢失存储在其中的数据的易失性存储器件(诸如,动态随机存取存储器(DRAM)、静态RAM(SRAM))或即使在电源中断时也保留存储在其中的数据的非易失性存储器件(诸如,闪存器件、相变RAM(PRAM)、磁RAM(MRAM)或电阻RAM(RRAM))。
非易失性存储器件可以存储用户的重要(或关键)数据(例如,认证密钥和密码)。为了防止恶意用户访问重要数据,非易失性存储器件可以支持重放保护存储器块(RPMB)。当在RPMB中设置安全模式时,可以阻止恶意用户的访问。随着对存储系统的安全性的要求多样化,需要根据用户的意图保护各种命令的功能和保护各种范围的存储器区域(memoryregion)的功能。
发明内容
本公开的示例实施例提供了用于设置命令的安全模式的存储设备的操作方法以及包括该存储设备的存储系统的操作方法。
根据示例实施例的一个方面,提供了一种用于设置多个命令的安全模式的操作存储设备的方法,所述方法包括:从主机设备接收指示对所述多个命令中的第一命令进行保护以及对所述多个命令中的第二命令进行保护的安全请求,所述主机设备被配置为与所述存储设备通信,所述第一命令和所述第二命令在种类上不同;基于所述安全请求,设置所述第一命令的安全模式和所述第二命令的安全模式;从所述主机设备接收指示执行所述第一命令的请求的第一请求;基于所述第一请求,向所述主机设备输出指示所述第一命令的失败的第一响应;从所述主机设备接收指示执行所述第二命令的请求的第二请求;以及基于所述第二请求,向所述主机设备输出指示所述第二命令的失败的第二响应。
根据示例实施例的一个方面,提供了一种用于在多个逻辑单元(logic unit,即LU)中设置安全模式的操作存储设备的方法,所述方法包括:从主机设备接收指示在所述多个LU中的第一LU和第二LU中对第一命令进行保护的安全请求,所述主机设备被配置为与所述存储设备通信;基于所述安全请求,在所述第一LU和所述第二LU中设置所述第一命令的安全模式;从所述主机设备接收指示在所述第一LU中执行所述第一命令的请求的第一请求;基于所述第一请求,向所述主机设备输出指示在所述第一LU中所述第一命令失败的第一响应;从所述主机设备接收指示在所述第二LU中执行所述第一命令的请求的第二请求;以及基于所述第二请求,向所述主机设备输出指示在所述第二LU中所述第一命令失败的第二响应。
根据示例实施例的一个方面,提供了一种用于设置多个命令的安全模式的操作存储系统的方法,所述存储系统包括主机设备和被配置为与所述主机设备通信的存储设备,所述方法包括:由所述主机设备生成安全请求,所述安全请求指示在第一逻辑块地址(LBA)中对第一命令进行保护以及在第二LBA中对第二命令进行保护,所述第一命令和所述第二命令在种类上不同;由所述存储设备基于所述安全请求设置安全模式;由所述主机设备生成指示在所述第一LBA中执行所述第一命令的请求的第一请求;由所述存储设备基于所述第一请求生成指示所述第一命令的失败的第一响应;由所述主机设备生成指示在所述第二LBA中执行所述第二命令的请求的第二请求;以及由所述存储设备基于所述第二请求生成指示所述第二命令的失败的第二响应。
附图说明
通过参照附图详细描述本公开的示例实施例,本公开的以上和其他目的和特征将变得明显。
图1是根据本公开的示例实施例的存储系统的框图。
图2是根据本公开的一些示例实施例描述图1的存储系统的操作方法的图。
图3是根据本公开的一些示例实施例描述由图2的存储管理器管理的存储器区域的安全环境的图。
图4是根据本公开的一些示例实施例描述存储系统的操作方法的流程图。
图5是根据本公开的一些示例实施例描述存储系统的操作方法的流程图。
图6是根据本公开的一些示例实施例的用于描述重放保护存储器块(RPMB)消息的图。
图7A是根据本公开的一些示例实施例详细示出图6的请求消息类型的图。
图7B是根据本公开的一些示例实施例详细示出图6的响应消息类型的图。
图8是根据本公开的一些示例实施例描述安全命令保护配置块写入请求的图。
图9是根据本公开的一些示例实施例详细示出图8的安全命令保护配置块写入请求的图。
图10是根据本公开的一些示例实施例详细示出图9的安全命令保护配置块的图。
图11是根据本公开的一些示例实施例详细示出图10的索引的图。
图12是根据本公开的一些示例实施例详细示出图10的安全命令保护条目的图。
图13是根据本公开的一些示例实施例详细示出图12的命令保护类型的图。
图14是根据本公开的一些示例实施例详细示出图12的命令保护标志的图。
图15是描述根据本公开的一些示例实施例的存储系统的框图。
图16是示出根据本公开的一些示例实施例的存储设备的操作方法的流程图。
图17是示出根据本公开的一些示例实施例的存储设备的操作方法的流程图。
图18是根据本公开的一些示例实施例描述通用闪存(UFS)系统的图。
图19是根据本公开的一些示例实施例详细示出图18的存储器单元的图。
图20是根据本公开的一些示例实施例详细示出图19的存储器块的图。
具体实施方式
下面,将详细且清楚地描述本公开的示例实施例,使得本领域技术人员容易实施本公开。
在详细描述中参考术语“部分”、“单元”、“模块”、“层”等描述的组件以及附图中示出的功能块可以以软件、硬件或其组合的形式来实现。例如,软件可以是机器代码、固件、嵌入代码和应用软件。例如,硬件可以包括电路、电子电路、处理器、计算机、集成电路、集成电路核、压力传感器、惯性传感器、微机电系统(MEMS)、无源元件或其组合。
图1是根据本公开的示例实施例的存储系统的框图。参照图1,存储系统1000可以包括主机设备1100和存储设备1200。在一些示例实施例中,存储系统1000可以是被配置为处理各种信息的计算系统,诸如,个人计算机(PC)、笔记本、膝上型计算机、服务器、工作站、平板PC、智能电话、数字相机和黑盒。
主机设备1100可以控制存储系统1000的整体操作。例如,主机设备1100可以将数据存储在存储设备1200中或者可以读取存储在存储设备1200中的数据。在一些示例实施例中,主机设备1100可以遵照通用闪存(UFS)接口与存储设备1200通信。
主机设备1100可以包括命令(CMD)生成器1110。命令生成器1110可以生成指示要在存储设备1200处执行的操作的命令。由命令生成器1110生成的命令可以被发送到存储设备1200。
例如,命令生成器1110可以生成各种命令,诸如,读取命令、写入命令、清除(purge)命令和解映射命令。读取命令可以指示读取存储在存储设备1200中的数据的操作。写入命令可以指示将数据写入在存储设备1200中的操作。清除命令可以指示物理擦除存储在存储设备1200中的数据的操作。解映射命令可以指示删除存储设备1200中的与逻辑地址和物理地址之间的关系对应的逻辑到物理映射信息的操作。
在一些示例实施例中,命令生成器1110可以支持安全命令保护配置块SCPCB。例如,命令生成器1110可以生成包括安全命令保护配置块SCPCB的安全请求,该安全请求利用UFS标准的重放保护存储器块(RPMB)消息来实现。安全命令保护配置块SCPCB可以包括针对每个存储器区域(例如,逻辑块地址(LBA)或逻辑单元(LU))的各种命令的安全模式的信息。安全模式可以控制命令是否是可执行的。例如,可以阻止安全模式被启用的命令的执行。将一起参照图10至图14更详细地描述安全命令保护配置块SCPCB。
存储设备1200可以包括存储控制器1210和非易失性存储器件1220。非易失性存储器件1220可以存储数据。存储控制器1210可以将数据存储在非易失性存储器件1220中,或者可以读取存储在非易失性存储器件1220中的数据。非易失性存储器件1220可以在存储控制器1210的控制下进行操作。
例如,基于指示要在非易失性存储器件1220处执行的操作的命令以及指示数据的位置的地址,存储控制器1210可以将数据存储在非易失性存储器件1220中,或者可以读取存储在非易失性存储器件1220中的数据。
在一些示例实施例中,非易失性存储器件1220可以是闪存器件,但是本公开不限于此。例如,非易失性存储器件1220可以是即使关断电源也保留存储在其中的数据的各种存储设备(诸如,相变随机存取存储器(PRAM)、磁RAM(MRAM)、电阻RAM(RRAM)和铁电RAM(FRAM))中的一种。
存储控制器1210可以包括命令执行器1211和安全管理器1212。命令执行器1211可以执行由命令生成器1110生成的命令。安全管理器1212可以基于由命令执行器1211执行的命令来管理要针对非易失性存储器件1220执行的命令的安全模式。
在一些示例实施例中,命令执行器1211可以支持安全命令保护配置块SCPCB。例如,命令执行器1211可以根据包括安全命令保护配置块SCPCB的安全请求来执行安全命令,该安全请求利用UFS标准的重放保护存储器块(RPMB)消息来实现。
图2是根据本公开的一些示例实施例描述图1的存储系统的操作方法的图。参照图2,存储系统1000可以包括主机设备1100和存储设备1200。
主机设备1100可以包括命令生成器1110、应用1120和主机接口电路1130。命令生成器1110可以生成指示要在存储设备1200处执行的操作的命令。命令生成器1110可以支持安全命令保护配置块SCPCB。
应用1120可以指可在主机设备1100上执行的应用程序。应用1120可以包括认证密钥AK。认证密钥AK可以在RPMB的认证操作中使用。
主机设备1100可以通过主机接口电路1130与存储设备1200通信。例如,主机接口电路1130可以向存储设备1200提供分别从命令生成器1110和应用1120提供的命令和数据,或者可以向应用1120提供从存储设备1200接收的数据。
存储设备1200可以包括存储控制器1210、非易失性存储器件1220和存储接口电路1230。存储设备1200可以通过存储接口电路1230与主机设备1100通信。例如,存储接口电路1230可以向存储控制器1210提供从主机设备1100提供的命令和数据,或者可以向主机设备1100提供从存储控制器1210接收的数据。在一些示例实施例中,主机接口电路1130和存储接口电路1230可以遵照UFS标准彼此通信。
存储控制器1210可以与存储接口电路1230通信。存储控制器1210可以控制非易失性存储器件1220。存储控制器1210可以包括命令执行器1211、安全管理器1212和存储管理器1213。
命令执行器1211可以执行通过存储接口电路1230从主机设备1100接收的命令。安全管理器1212可以依据由命令执行器1211执行的安全命令来设置安全模式。例如,依据由命令执行器1211执行的安全命令,安全管理器1212可以在存储管理器1213的多个逻辑单元LU1至LUN中的第一逻辑单元LU1的第二逻辑块地址LBA2和第三逻辑块地址LBA3中设置命令的安全模式。
存储管理器1213可以管理多个逻辑单元LU1、LU2、……LUN。在这里,“N”可以是任何自然数。多个逻辑单元LU1至LUN中的每个逻辑单元可以包括多个逻辑块地址。为了简化附图,示出了第一逻辑单元LU1包括第一逻辑块地址至第四逻辑块地址LBA1、LBA2、LBA3和LBA4的示例,但是本公开不限于此。包括在多个逻辑单元LU1至LUN中的每个逻辑单元中的逻辑块地址的数量可以增加或减少。
由存储管理器1213管理的多个逻辑单元LU1至LUN可以分别对应于包括在非易失性存储器件1220中的多个存储器单元(storage unit)SU1、SU2、……SUN。例如,逻辑单元的逻辑地址可以与存储器单元的物理地址具有逻辑到物理映射关系。
在一些示例实施例中,存储管理器1213可以以存储器类型为单位(unit)管理多个逻辑单元LU1至LUN。被称为存储器类型的属性可以是供应商指定属性。例如,第一逻辑单元LU1和第二逻辑单元LU2可以包括在第一存储器类型中,并且可以利用有利于执行清除命令的单阶单元(single level cell,SLC)来实现。例如,第三逻辑单元LU3和第四逻辑单元LU4可以包括在第二存储器类型中,并且可以利用有利于存储大量数据的多阶单元(multi-level cell,MLC)或三阶单元(triple level cell,TLC)来实现。然而,本公开不限于此。例如,可以由用户或供应商不同地确定用于定义存储器类型的标准。
非易失性存储器件1220可以包括多个存储器单元SU1至SUN。在存储管理器1213的控制下,多个存储器单元SU1至SUN中的每个存储器单元可以存储数据或者可以向存储接口电路1230输出存储在其中的数据。
根据本公开的一些示例实施例,存储系统1000可以通过使用安全请求来设置安全模式。可以阻止安全模式被设置的命令的执行。
更详细地,命令生成器1110可以生成包括安全命令保护配置块SCPCB的安全请求(①)。由命令生成器1110生成的安全请求可以通过主机接口电路1130提供给存储设备1200。
命令执行器1211可以通过存储接口电路1230从主机设备1100接收安全请求。命令执行器1211可以根据安全请求执行安全命令。当由命令执行器1211执行安全命令时,安全管理器1212可以在由存储管理器1213管理的第一逻辑单元LU1的第二逻辑块地址LBA2和第三逻辑块地址LBA3中设置(例如,启用)命令的安全模式(②)。可以阻止安全模式被设置的命令的执行。在一些示例实施例中,可以基于应用1120的认证密钥AK,由经认证的用户来执行安全模式的设置。
命令生成器1110可以请求在第一逻辑单元LU1的第二逻辑块地址LBA2和/或第三逻辑块地址LBA3处执行安全模式被设置的命令(③)。命令生成器1110可以通过主机接口电路1130向存储设备1200提供请求。
命令执行器1211可以基于通过存储接口电路1230接收的请求来尝试执行安全模式被设置的命令。命令执行器1211可能在执行命令时失败。命令执行器1211可以生成指示命令的执行失败的响应。命令执行器1211可以通过存储接口电路1230向主机设备1100输出指示命令的执行失败的响应。
图3是根据本公开的一些示例实施例描述由图2的存储管理器管理的存储器区域的安全环境的图。参照图2和图3,安全管理器1212可以依据来自主机设备1100的安全请求来设置由存储管理器1213管理的存储器区域的安全环境。
安全环境可以指多个存储器区域中的安全模式。可以按照各种单位来设置在其中安全模式被设置的存储器区域的范围。例如,在其中安全模式被设置的存储器区域的范围可以以存储器类型为单位、以逻辑单元为单位或以逻辑块地址为单位。
在一些示例实施例中,存储管理器1213可以以存储器类型为单位管理存储器区域。例如,存储管理器1213可以基于第一存储器类型MT1和第二存储器类型MT2来管理存储器区域。第一存储器类型MT1可以包括第一逻辑单元LU1和第二逻辑单元LU2。第二存储器类型MT2可以包括第三逻辑单元LU3和第四逻辑单元LU4。第一逻辑单元LU1至第四逻辑单元LU4中的每个逻辑单元可以包括第一逻辑块地址LBA1至第四逻辑块地址LBA4。然而,本公开不限于此。例如,存储器类型的数量、包括在存储器类型中的逻辑单元的数量以及包括在不同逻辑单元中的每个逻辑单元中的逻辑块地址的数量可以增加或减少。
在一些示例实施例中,安全管理器1212可以管理多个命令CMD1和CMD2的安全模式。例如,命令生成器1110可以生成安全请求,该安全请求指示在第一逻辑单元LU1的第一逻辑块地址LBA1中对第一命令CMD1进行保护以及在第一逻辑单元LU1的第二逻辑块地址LBA2中对第二命令CMD2进行保护。命令执行器1211可以基于安全请求执行安全命令。例如,依据由命令执行器1211执行的安全命令,安全管理器1212可以在第一逻辑单元LU1的第一逻辑块地址LBA1中启用第一命令CMD1的安全模式,并且可以在第一逻辑单元LU1的第二逻辑块地址LBA2中启用第二命令CMD2的安全模式。然而,本公开不限于此。例如,安全管理器1212还可以管理除了第一命令CMD1和第二命令CMD2之外的任何其他命令的安全模式。
在一些示例实施例中,安全管理器1212可以管理与逻辑单元对应的安全模式表。例如,第一逻辑单元LU1的安全模式表可以存储关于是否保护与第一逻辑块地址LBA1至第四逻辑块地址LBA4中的每个逻辑块地址相关联的第一命令CMD1和第二命令CMD2的信息。例如,当与第一逻辑单元LU1的第一逻辑块地址LBA1和第一命令CMD1对应的代码值是第一代码值(例如,“1b”)时,可以阻止在第一逻辑单元LU1的第一逻辑块地址LBA1中第一命令CMD1的执行。例如,当与第一逻辑单元LU1的第一逻辑块地址LBA1和第二命令CMD2对应的代码值是第二代码值(例如,“0b”)时,可以不阻止在第一逻辑单元LU1的第一逻辑块地址LBA1中第二命令CMD2的执行。如在以上描述中,在第一逻辑单元LU1的第二逻辑块地址LBA2中,可以不阻止第一命令CMD1的执行,可以阻止第二命令CMD2的执行。
在一些示例实施例中,安全管理器1212可以以逻辑块地址为单位管理安全模式。例如,参考第二逻辑单元LU2的安全模式表,可以阻止在第二逻辑单元LU2的第一逻辑块地址LBA1中第一命令CMD1和第二命令CMD2的执行。可以不阻止在第二逻辑单元LU2的第二逻辑块地址LBA2至第四逻辑块地址LBA4中第一命令CMD1和第二命令CMD2的执行。可以基于一个安全请求来执行包括在同一逻辑单元中的不同逻辑块地址的安全模式的设置。
在一些示例实施例中,安全管理器1212可以以逻辑单元为单位管理安全模式。例如,参考第三逻辑单元LU3的安全模式表,可以阻止在第三逻辑单元LU3的第一逻辑块地址LBA1至第四逻辑块地址LBA4中第一命令CMD1的执行,可以不阻止在第三逻辑单元LU3的第一逻辑块地址LBA1至第四逻辑块地址LBA4中第二命令CMD2的执行。可以基于一个安全请求来执行包括在同一逻辑单元中的所有逻辑块地址的安全模式的同时设置。
在一些示例实施例中,安全管理器1212可以以存储器类型为单位管理安全模式。例如,第二存储器类型MT2可以包括第三逻辑单元LU3和第四逻辑单元LU4。参考第三逻辑单元LU3的安全模式表,可以阻止在第三逻辑单元LU3中第一命令CMD1的执行,可以不阻止在第三逻辑单元LU3中第二命令CMD2的执行。参考第四逻辑单元LU4的安全模式表,可以阻止在第四逻辑单元LU4中第一命令CMD1的执行,可以不阻止在第四逻辑单元LU4中第二命令CMD2的执行。可以基于一个安全请求执行包括在同一存储器类型中的所有逻辑单元的安全模式的同时设置。
如上所述,根据本公开的实施例,可以提供以逻辑块地址为单位、以逻辑单元为单位和/或以存储器类型为单位而设置安全模式的存储设备,可以提供为多个命令而设置不同安全模式的存储设备。如此,可以提供一种针对存储器区域的各种范围和各种类型的命令而提供灵活的安全环境的存储设备。
图4是根据本公开的一些示例实施例描述存储系统的操作方法的流程图。将参照图4描述包括主机设备1100和存储设备1200的存储系统的操作方法。存储系统可以对应于图1的存储系统1000和图2的存储系统1000。
在操作S110中,主机设备1100可以向存储设备1200输出具有安全命令保护配置块SCPCB的安全请求。安全命令保护配置块SCPCB可以指示在第一逻辑块地址LBA1中对第一命令CMD1进行保护以及在第二逻辑块地址LBA2中对第二命令CMD2进行保护。
在操作S111中,存储设备1200可以基于操作S110中的安全请求来设置安全模式。例如,存储设备1200可以启用与第一逻辑块地址LBA1相关联的第一命令CMD1的安全模式,并且可以禁用与第一逻辑块地址LBA1相关联的第二命令CMD2的安全模式。存储设备1200可以禁用与第二逻辑块地址LBA2相关联的第一命令CMD1的安全模式,并且可以启用与第二逻辑块地址LBA2相关联的第二命令CMD2的安全模式。
在操作S112中,存储设备1200可以向主机设备1100输出指示安全模式的设置完成的安全响应。
在操作S120中,主机设备1100可以向存储设备1200输出与用于在第一逻辑块地址LBA1中执行第一命令CMD1的请求对应的第一请求。在操作S121中,存储设备1200可以基于操作S120中的第一请求向主机设备1100输出指示在第一逻辑块地址LBA1中第一命令CMD1失败的第一失败响应。
在操作S130中,主机设备1100可以向存储设备1200输出与用于在第一逻辑块地址LBA1中执行第二命令CMD2的请求对应的第二请求。在操作S131中,存储设备1200可以基于操作S130中的第二请求在第一逻辑块地址LBA1中执行第二命令CMD2。
在操作S140中,主机设备1100可以向存储设备1200输出与用于在第二逻辑块地址LBA2中执行第一命令CMD1的请求对应的第三请求。在操作S141中,存储设备1200可以基于操作S140中的第三请求在第二逻辑块地址LBA2中执行第一命令CMD1。
在操作S150中,主机设备1100可以向存储设备1200输出与用于在第二逻辑块地址LBA2中执行第二命令CMD2的请求对应的第四请求。在操作S151中,存储设备1200可以基于操作S150中的第四请求向主机设备1100输出指示在第二逻辑块地址LBA2中第二命令CMD2失败的第二失败响应。
图5是根据本公开的一些示例实施例描述存储系统的操作方法的流程图。将参照图5描述包括主机设备1100和存储设备1200的存储系统的操作方法。存储系统可以支持UFS标准的RPMB消息。图5的操作方法可以对应于图4的一些操作S110、S111和S112。
在操作S210中,主机设备1100可以向存储设备1200发送安全协议输出命令。安全协议输出命令可以利用UFS标准的RPMB消息来实现。操作S210中的安全协议输出命令可以是用于开始安全命令保护配置块(SCPCB)写入请求的命令。
在操作S211中,主机设备1100可以向存储设备1200输出安全命令保护配置块(SCPCB)写入请求。安全命令保护配置块(SCPCB)写入请求可以是允许存储设备1200设置命令的安全模式的信号。安全命令保护配置块(SCPCB)写入请求可以对应于图1和图2的安全请求或者根据图4的操作S110的安全请求。
例如,安全命令保护配置块(SCPCB)写入请求可以包括:指示命令的安全模式的安全命令保护配置块(SCPCB)、消息认证码(MAC)、当前写入计数器值、地址等。
在一些示例实施例中,操作S211可以包括:在主机设备1100处向存储设备1200发送用于安全命令保护配置块(SCPCB)写入请求的命令UFS协议信息单元(UPIU),在存储设备1200处向主机设备1100发送准备好传送(ready-to-transfer)UPIU,以及在主机设备1100处向存储设备1200发送数据输出UPIU。
在操作S212中,存储设备1200可以向主机设备1100发送与操作S211中的安全命令保护配置块(SCPCB)写入请求对应的响应UPIU。
在操作S213中,主机设备1100可以向存储设备1200发送安全协议输出命令。操作S213中的安全协议输出命令可以是用于开始结果读取请求的命令。
在操作S214中,主机设备1100可以向存储设备1200发送结果读取请求。结果读取请求可以是用于验证是否根据操作S211设置命令的安全模式的请求。
在一些示例实施例中,操作S214可以包括:在主机设备1100处向存储设备1200发送用于结果读取请求的命令UPIU,在存储设备1200处向主机设备1100发送准备好传送UPIU,以及在主机设备1100处向存储设备1200发送数据输出UPIU。
在操作S215中,存储设备1200可以向主机设备1100发送与操作S214中的结果读取请求对应的响应UPIU。
在操作S216中,主机设备1100可以向存储设备1200发送安全协议输入命令。操作S216中的安全协议输入命令可以是用于开始结果读取响应的命令。
在操作S217中,存储设备1200可以向主机设备1100发送结果读取响应。结果读取响应可以包括根据操作S214中的结果读取请求的结果代码。
在一些示例实施例中,操作S217可以包括:在主机设备1100处向存储设备1200发送用于结果读取响应的命令UPIU,在存储设备1200处向主机设备1100发送数据输入UPIU,以及在存储设备1200处向主机设备1100发送响应UPIU。
图6是根据本公开的一些示例实施例的用于描述重放保护存储器块(RPMB)消息的图。将参照图6描述RPMB消息配置。RPMB消息可以支持参照图1、图2、图4和图5描述的安全请求。
RPMB消息配置可以包括用于请求消息类型、响应消息类型、认证密钥、MAC、结果、写入计数器、地址、随机值(nonce)、数据和块计数的字段。
请求消息类型可以包括在用于定义请求消息类型的字段中。请求消息类型可以具有2字节的长度。响应消息类型可以包括在用于定义响应消息类型的字段中。响应消息类型可以具有2字节的长度。在一些示例实施例中,请求消息类型和响应消息类型可以支持安全命令保护配置块SCPCB。
数据可以包括在支持要写入或读取的数据的字段中。数据可以具有256字节的长度。在一些示例实施例中,RPMB消息的数据字段可以包括安全命令保护配置块SCPCB。
认证密钥可以包括在用于对认证密钥进行编程的字段中。认证密钥可以具有32字节的长度。MAC可以包括在描述消息认证码的字段中。MAC可以具有32字节的长度。结果可以包括在描述根据RPMB消息的操作结果(例如,成功或失败)的字段中。结果可以具有2字节的长度。写入计数器可以包括在描述成功的经认证的数据写入操作的总量的字段中。写入计数器可以具有4字节的长度。地址可以包括在指示要被编程在RPMB区域中或要从RPMB区域读取的数据的逻辑块地址(LBA)的字段中。地址可以具有2字节的长度。随机值可以包括在指示由主机(例如,主机设备)生成的随机数(例如,临时值)的字段中。随机值可以具有16字节的长度。块计数可以指示请求编程或读取的256字节逻辑块的数量。块计数可以具有2字节的长度。
图7A是根据本公开的一些示例实施例详细示出图6的请求消息类型的图。将参照图7A描述根据图6的RPMB消息配置的请求消息类型。
在请求消息类型中,代码“0001h”可以指示认证密钥编程请求。代码“0002h”可以指示写入计数器读取请求。代码“0003h”可以指示经认证的数据写入请求。代码“0004h”可以指示经认证的数据读取请求。代码“0005h”可以指示结果读取请求。代码“0006h”可以指示安全写入保护配置块写入请求。代码“0007h”可以指示安全写入保护配置块读取请求。
代码“0008h”可以指示安全命令保护配置块写入请求。安全命令保护配置块写入请求可以对应于参照图1、图2、图4和图5描述的认证请求。安全命令保护配置块写入请求可以是被定义为支持安全命令保护配置块SCPCB的类型。例如,安全命令保护配置块写入请求可以是用于设置存储设备的命令的安全模式的请求。
代码“0009h”可以指示安全命令保护配置块读取请求。安全命令保护配置块读取请求可以是被定义为支持安全命令保护配置块SCPCB的类型。
图7B是根据本公开的一些示例实施例详细示出图6的响应消息类型的图。将参照图7B描述根据图6的RPMB消息配置的响应消息类型。
在响应消息类型中,代码“0100h”可以指示认证密钥编程响应。代码“0200h”可以指示写入计数器读取响应。代码“0300h”可以指示经认证的数据写入响应。代码“0400h”可以指示经认证的数据读取响应。代码“0500h”可以指示“保留”。例如,与图7A的请求消息类型之中的代码“0005h”对应的结果读取请求可以是不需要响应的请求消息,可以不使用与代码“0500h”对应的响应消息类型。代码“0600h”可以指示安全写入保护配置块写入响应。代码“0700h”可以指示安全写入保护配置块读取响应。
代码“0800h”可以指示安全命令保护配置块写入响应。安全命令保护配置块写入响应可以是与图7A的代码“0008h”的安全命令保护配置块写入请求对应的响应信号。安全命令保护配置块写入响应可以是被定义为支持安全命令保护配置块SCPCB的类型。
代码“0900h”可以指示安全命令保护配置块读取响应。安全命令保护配置块读取响应可以是与图7A的代码“0009h”的安全命令保护配置块读取请求对应的响应信号。安全命令保护配置块读取响应可以是被定义为支持安全命令保护配置块SCPCB的类型。
图8是根据本公开的一些示例实施例描述安全命令保护配置块写入请求的图。参照图8,主机设备1100可以向存储设备1200发送基于RPMB消息的安全命令保护配置块(SCPCB)写入请求。安全命令保护配置块(SCPCB)写入请求可以使得能够针对存储设备1200处的各种命令和存储器区域的各种范围灵活地设置安全模式。
安全命令保护配置块(SCPCB)写入请求可以利用RPMB消息来实现。例如,安全命令保护配置块(SCPCB)写入请求可以是支持参照图6描述的安全命令保护配置块SCPCB的RPMB消息的请求消息。
安全命令保护配置块(SCPCB)写入请求可以包括安全命令保护配置块SCPCB和请求消息类型。请求消息类型可以指示RPMB消息的请求消息类型。安全命令保护配置块SCPCB可以包括用于设置安全模式的多条信息,例如,要在其中设置安全模式的存储器区域的范围和/或在其中安全模式要被设置的命令。
安全命令保护配置块SCPCB可以包括索引和至少一个安全命令保护条目。索引可以指示要在其中设置安全模式的存储器区域的范围。例如,索引可以指示要在其中设置安全模式的存储器区域的范围是对应于逻辑块地址的单位、逻辑单元的单位还是存储器类型的单位。索引可以包括用于识别逻辑块地址的索引、用于识别逻辑单元的索引或用于识别存储器类型的索引。
至少一个安全命令保护条目可以指示多个命令中的每个命令的安全模式的信息和对应的存储器区域的地址的信息。至少一个安全命令保护条目可以包括命令保护类型和命令保护标志。
命令保护标志可以包括指示是启用还是禁用多个命令中的每个命令的安全模式的代码值。命令保护类型可以定义对命令保护标志进行控制的类型。
例如,命令保护类型可以定义用于在电力循环(power cycle)或硬件复位之后对命令保护标志的代码值进行设置的类型。电力循环可以意味着供应给存储设备的电力被关断,然后再次供应给存储设备。硬件复位可以意味着供应给存储设备的电力被维持,但是存储设备再次被设置为默认设置。
图9是根据本公开的一些示例实施例详细示出图8的安全命令保护配置块写入请求的图。将参照图9描述图8的安全命令保护配置块(SCPCB)写入请求。安全命令保护配置块(SCPCB)写入请求可以利用RPMB消息来实现。
用于安全命令保护配置块(SCPCB)写入请求的RPMB消息可以具有512字节的大小。偏移(offset)可以指示对应的字段开始的字节和对应的字段结束的字节。字段名称可以指示根据RPMB消息配置(参照图6)的字段名称。值可以指示包括在对应的字段名称中的值。
在偏移“0:195”中,消息(即,用于安全命令保护配置块(SCPCB)写入请求的RPMB消息)可以填充有具有随机值的填充字节。在偏移“196:227”中,消息可以包括从主机设备接收的消息认证码(MAC)。
在偏移“228:483”中,消息可以包括安全命令保护配置块SCPCB。安全命令保护配置块SCPCB可以包括命令的安全模式的信息。安全命令保护配置块SCPCB可以具有256字节的大小。
在偏移“484:499”中,消息可以具有对应于随机值的值。在偏移“500:503”中,消息可以具有对应于写入计数器的当前计数器值。在偏移“504:505”中,消息可以具有对应于地址的值。在偏移“506:507”中,消息可以具有对应于块计数的值。在偏移“508:509”中,消息可以具有对应于结果的值。
在偏移“510:511”中,消息可以具有对应于请求消息类型的值。例如,如参照图7A所描述的,因为安全命令保护配置块写入请求可以对应于“0008h”,所以指示偏移“510:511”的请求消息类型的值可以是“0008h”。
图10是根据本公开的一些示例实施例详细示出图9的安全命令保护配置块的图。将参照图10描述包括在图9的偏移“228:483”中的安全命令保护配置块SCPCB。安全命令保护配置块SCPCB可以具有256字节(即,256×8位)的大小。
在字节“0”中,安全命令保护配置块SCPCB可以包括索引。在字节“1”中,安全命令保护配置块SCPCB可以包括数据长度。
在从字节“2”至字节“21”的范围中,安全命令保护配置块SCPCB可以包括第一安全命令保护条目。也就是说,安全命令保护条目可以具有20字节的大小。如在以上描述中,安全命令保护配置块SCPCB可以包括从字节“22”至字节“41”的第二安全命令保护条目,可以包括从字节“42”至字节“61”的第三安全命令保护条目,并且可以包括从字节“62”至字节“81”的第四安全命令保护条目。
可以不使用从字节“82”至字节“255”的范围。例如,从字节“82”至字节“255”的范围可以是保留区域。然而,本公开不限于此。安全命令保护配置块SCPCB管理的安全命令保护条目的数量可以依据包括在一个逻辑单元中的逻辑块地址的数量而增加或减少。
图11是根据本公开的一些示例实施例详细示出图10的索引的图。将参照图11描述图10的安全命令保护配置块SCPCB的索引。索引可以包括在安全命令保护配置块SCPCB的字节“0”中。索引的大小可以是1字节(即,8位)。
在从位“0”至位“5”的范围中,索引可以包括用于识别逻辑单元或存储器类型MT的值。在从位“6”至位“7”的范围中,索引可以包括定义要在其中设置安全模式的存储器区域的范围的代码值。
当索引的位“6”和位“7”构成代码“00b”时,安全命令保护配置块SCPCB可以指要以逻辑块地址为单位执行的保护操作(即,以逻辑块地址为单位设置安全模式的启用)。索引的位“0”至位“5”可以包括用于识别下述逻辑单元的值,所述逻辑单元包括要在其中设置安全模式的逻辑块地址。
在一些示例实施例中,一个逻辑单元可以包括第一逻辑块地址至第四逻辑块地址。存储设备可以通过分别与第一逻辑块地址至第四逻辑块地址对应的第一安全命令保护条目至第四安全命令保护条目来不同地设置第一逻辑块地址的安全模式至第四逻辑块地址的安全模式。
当索引的位“6”和位“7”构成代码“01b”时,安全命令保护配置块SCPCB可以指要以逻辑单元为单位执行的保护操作。索引的位“0”至位“5”可以包括用于识别要在其中设置安全模式的逻辑单元的值。在这种情况下,可以将相同的安全模式设置到包括在对应的逻辑单元中的所有逻辑块地址。例如,在图10中,可以仅使用第一安全命令保护条目,可以不使用第二安全命令保护条目至第四安全命令保护条目。
当索引的位“6”和位“7”构成代码“10b”时,安全命令保护配置块SCPCB可以指要以存储器类型MT为单位执行的保护操作。索引的位“0”至位“5”可以包括用于识别要在其中设置安全模式的存储器类型MT的值。在这种情况下,可以将相同的安全模式设置到包括在对应的存储器类型MT中的所有逻辑单元的所有逻辑块地址。例如,在图10中,可以仅使用第一安全命令保护条目,可以不使用第二安全命令保护条目至第四安全命令保护条目。
当索引的位“6”和位“7”构成代码“11b”时,安全命令保护配置块SCPCB可以指不执行保护操作。
图12是根据本公开的一些示例实施例详细示出图10的安全命令保护条目的图。将参照图12描述图10的安全命令保护配置块SCPCB的安全命令保护条目。要参照图12描述的安全命令保护条目可以对应于图10的第一安全命令保护条目至第四安全命令保护条目之一。安全命令保护条目的大小可以是20字节(即,160位)。
从字节“0”的位“0”至位“1”,安全命令保护条目可以包括命令保护类型CPT。命令保护类型CPT可以定义用于对命令保护标志CPF进行控制的类型。从字节“0”的位“2”至位“7”,安全命令保护条目可以包括保留值。
从字节“1”至字节“7”,安全命令保护条目可以包括命令保护标志CPF。命令保护标志CPF可以指示是否在与安全命令保护条目对应的逻辑块地址、逻辑单元或存储器类型中启用多个命令的安全模式。
从字节“8”至字节“15”,安全命令保护条目可以包括要在其中设置安全模式的逻辑块地址。从字节“16”至字节“19”,安全命令保护条目可以包括关于要在其中设置安全模式的逻辑块的数量的信息。
图13是根据本公开的一些示例实施例详细示出图12的命令保护类型的图。将参照图12和图13描述包括在安全命令保护条目中的命令保护类型CPT。命令保护类型CPT可以控制命令保护标志CPF。命令保护类型CPT的大小可以是2位。命令保护类型CPT可以具有2位的代码值。
当命令保护类型CPT具有代码“00b”时,即使在电力循环或硬件复位之后,也可以维持安全命令保护条目的命令保护标志CPF的现有代码值。例如,命令保护标志CPF的代码值可以仅通过安全命令保护配置块(SCPCB)写入请求来改变。
当命令保护类型CPT具有代码“01b”时,安全命令保护条目的命令保护标志CPF的所有代码值可以在电力循环或硬件复位之后被设置为“0b”。命令保护标志CPF的代码值为“0b”可以意味着禁用与命令保护标志CPF对应的命令的安全模式。
当命令保护类型CPT具有代码“10b”时,安全命令保护条目的命令保护标志CPF的所有代码值可以在电力循环或硬件复位之后被设置为“1b”。命令保护标志CPF的代码值为“1b”可以意味着启用与命令保护标志CPF对应的命令的安全模式。
当命令保护类型CPT具有代码“11b”时,可以不管理安全命令保护条目的命令保护标志CPF的代码值。例如,具有安全命令保护条目的RPMB消息可以不管理存储设备的安全模式。
图14是根据本公开的一些示例实施例详细示出图12的命令保护标志的图。将参照图12和图14描述包括在安全命令保护条目中的命令保护标志CPF。命令保护标志CPF可以指示是否启用多个命令中的每个命令的安全模式。命令保护标志CPF的大小可以是56位。命令保护标志CPF的56位中的每个位可以定义是否保护对应的命令(即,是启用还是禁用安全模式)。
命令保护标志CPF的位“8”可以指示是否保护读取命令。当位“8”具有代码“0b”时,可以禁用读取命令的安全模式。可以依据主机设备的请求来执行安全模式被禁用的命令。当位“8”具有代码“1b”时,可以启用读取命令的安全模式。即使接收到主机设备的执行命令的请求,也可能无法执行安全模式被启用的命令。
命令保护标志CPF的位“9”可以指示是否保护写入命令。当位“9”具有代码“0b”时,可以禁用写入命令的安全模式。当位“9”具有代码“1b”时,可以启用写入命令的安全模式。
命令保护标志CPF的位“10”可以指示是否保护清除命令。当位“10”具有代码“0b”时,可以禁用清除命令的安全模式。当位“10”具有代码“1b”时,可以启用清除命令的安全模式。
命令保护标志CPF的位“11”可以指示是否保护解映射命令。当位“11”具有代码“0b”时,可以禁用解映射命令的安全模式。当位“11”具有代码“1b”时,可以启用解映射命令的安全模式。
如在以上描述中,可以通过使用命令保护标志CPF的位“12”至位“63”来定义是否保护任何其他命令。例如,命令保护标志CPF可以通过使用位“12”来定义是否保护任何其他命令,以这种方式,可以定义是否保护最多56个命令。然而,本公开不限于此。当命令的数量大于56时,对于本领域技术人员而言将明显的是,本公开属于通过调整安全命令保护配置块SCPCB的保留区域来增加命令保护标志CPF的大小。
在一些示例实施例中,因为命令保护标志CPF存在于每个安全命令保护条目,所以存储设备可以以逻辑块地址为单位设置每个命令的安全模式。然而,本公开不限于此。当安全命令保护配置块的索引指示以逻辑单元为单位或以存储器类型为单位设置安全模式时,存储设备可以以逻辑单元为单位或以存储器类型为单位设置每个命令的安全模式。
如上所述,命令保护标志CPF可以指示是启用还是禁用多个命令中的每个命令的安全模式。为了更好地理解本公开,参照图14描述了位“8”至位“11”分别对应于读取命令、写入命令、清除命令和解映射命令的描述。然而,本公开不限于此。例如,可以不同地改变命令保护标志CPF中的命令的顺序和/或类型。
图15是根据本公开的一些示例实施例描述存储系统的框图。将参照图15描述存储系统1000的架构。存储系统1000可以对应于参照图1和图2描述的存储系统1000,并且可以支持图8的安全命令保护配置块(SCPCB)写入请求。存储系统1000可以包括主机设备1100和存储设备1200。
主机设备1100可以包括应用层L11、操作系统层L12、命令生成器层L13、数据发送管理器层L14和物理(PHY)层L15。存储设备1200可以包括存储管理器层L21、命令执行器层L22、命令解析器层L23、数据发送管理器层L24和PHY层L25。
应用层L11可以包括可在主机设备1100上执行的应用程序。操作系统层L12可以包括文件系统。操作系统层L12可以提供执行应用层L11的应用程序的环境。
命令生成器层L13可以生成能够由存储设备1200处理的命令。命令生成器层L13可以生成包括安全命令保护配置块SCPCB的安全请求。
数据发送管理器层L14可以基于从命令生成器层L13接收的命令和从应用层L11接收的数据来生成数据包(packet)。
PHY层L15可以向PHY层L25发送电信号,或者可以从PHY层L25接收电信号。例如,PHY层L15可以从数据发送管理器层L14接收数据包,并且可以向存储设备1200的PHY层L25物理地(例如,电地)发送接收到的数据包。PHY层L15可以向数据发送管理器层L14发送从PHY层L25接收的数据包。
PHY层L25可以向PHY层L15发送电信号,或者可以从PHY层L15接收电信号。PHY层L25可以向数据发送管理器层L24发送从PHY层L15接收的数据包。可选择地,PHY层L25可以向PHY层L15发送从数据发送管理器层L24接收的数据包。
数据发送管理器层L24可以管理数据包。数据发送管理器层L24可以向命令解析器层L23发送包括在通过PHY层L25接收的数据包中的命令(例如,安全请求、读取请求或写入请求)。数据发送管理器层L24可以向存储管理器层L21发送包括在通过PHY层L25接收的数据包中的数据。
命令解析器层L23可以解析从数据发送管理器层L24接收的命令。命令解析器层L23可以解析包括安全命令保护配置块SCPCB的安全请求。命令解析器层L23可以向命令执行器层L22发送解析的命令。
命令执行器层L22可以执行从命令解析器层L23接收的命令。命令执行器层L22可以基于由命令解析器层L23解析的安全请求的安全命令保护配置块SCPCB来设置由存储管理器层L21管理的存储器区域的安全模式。存储管理器层L21可以管理存储器区域(例如,逻辑块地址LBA和逻辑单元LU)。
图16是根据本公开的一些示例实施例描述存储设备的操作方法的流程图。将参照图16描述存储设备的操作方法。存储设备可以对应于参照图1、图2、图4、图5、图8和图15描述的存储设备1200。存储设备可以与主机设备通信。存储设备可以被配置为设置在种类上不同的多个命令的安全模式。
在操作S310中,存储设备可以从主机设备接收指示对第一命令进行保护以及对第二命令进行保护的安全请求。在一些示例实施例中,安全请求可以利用UFS标准的RPMB消息的请求消息来实现。安全请求可以支持安全命令保护配置块。在一些示例实施例中,第一命令和第二命令中的每个命令可以是可由存储设备执行的命令(诸如读取命令、写入命令、清除命令和解映射命令)之一。
在操作S320中,存储设备可以基于安全请求设置第一命令的安全模式和第二命令的安全模式。例如,存储设备可以不执行安全模式被启用的命令,即,可以阻止存储设备执行命令。存储设备可以执行安全模式被禁用的命令。
在操作S330中,存储设备可以从主机设备接收指示执行第一命令的请求的第一请求。在操作S340中,存储设备可以基于第一请求向主机设备输出指示第一命令的失败的第一响应。第一命令的失败可以是根据第一命令的安全模式的启用而未执行第一命令。
在操作S350中,存储设备可以从主机设备接收指示执行第二命令的请求的第二请求。在操作S360中,存储设备可以基于第二请求向主机设备输出指示第二命令的失败的第二响应。第二命令的失败可以是根据第二命令的安全模式的启用而未执行第二命令。
在一些示例实施例中,存储设备可以以逻辑块地址为单位设置安全模式。例如,操作S310中的安全请求可以指示在第一逻辑块地址中对第一命令进行保护而不对第二命令进行保护,并且可以指示在第二逻辑块地址中不对第一命令进行保护而对第二命令进行保护。操作S330中的第一请求还可以指示在第一逻辑块地址中执行第一命令的请求。操作S350中的第二请求还可以指示在第二逻辑块地址中执行第二命令的请求。
在这种情况下,当接收到在第二逻辑块地址中执行第一命令的请求时,存储设备可以在第二逻辑块地址中执行第一命令。当接收到在第一逻辑块地址中执行第二命令的请求时,存储设备可以在第一逻辑块地址中执行第二命令。也就是说,可以以逻辑块地址为单位独立地设置多个命令的安全模式。
在一些示例实施例中,存储设备可以以逻辑单元为单位设置安全模式。例如,操作S310中的安全请求还可以指示在第一逻辑单元中包括的多个逻辑块地址中对第一命令进行保护以及对第二命令进行保护。操作S330中的第一请求还可以指示在第一逻辑单元中包括的多个逻辑块地址中的至少一部分逻辑块地址中执行第一命令的请求。操作S350中的第二请求还可以指示在第一逻辑单元中包括的多个逻辑块地址中的至少一部分逻辑块地址中执行第二命令的请求。
在一些示例实施例中,存储设备可以以存储器类型为单位设置安全模式。例如,操作S310中的安全请求还可以指示在第一逻辑单元中包括的多个第一逻辑块地址和第二逻辑单元中包括的多个第二逻辑块地址中对第一命令进行保护以及对第二命令进行保护。第一逻辑单元和第二逻辑单元可以包括在同一存储器类型中。操作S330中的第一请求还可以指示在多个第一逻辑块地址和多个第二逻辑块地址中的至少一部分逻辑块地址中执行第一命令的请求。操作S350中的第二请求还可以指示在多个第一逻辑块地址和多个第二逻辑块地址中的至少一部分逻辑块地址中执行第二命令的请求。
图17是根据本公开的一些示例实施例示出存储设备的操作方法的流程图。将参照图17描述存储设备的操作方法。存储设备可以对应于参照图1、图2、图4、图5、图8和图15描述的存储设备1200。存储设备可以与主机设备通信。存储设备可以被配置为基于一个安全请求而在多个逻辑单元中设置安全模式。
在操作S410中,存储设备可以从主机设备接收指示在第一逻辑单元和第二逻辑单元中对命令进行保护的安全请求。该命令可以是例如第一命令和/或第二命令。在操作S420中,存储设备可以基于安全请求在第一逻辑单元和第二逻辑单元中设置命令的安全模式。在一些示例实施例中,第一逻辑单元和第二逻辑单元可以包括在同一存储器类型中。例如,在操作S420中,可以不设置包括在与第一逻辑单元和第二逻辑单元的存储器类型不同的存储器类型中的第三逻辑单元的安全模式。因此,当存储设备从主机设备接收到指示在第三LU中执行命令的请求的第三请求时,存储设备可以基于第三请求在第三LU中执行命令。
在操作S430中,存储设备可以从主机设备接收指示在第一逻辑单元中执行命令的请求的第一请求。在操作S440中,存储设备可以基于第一请求向主机设备输出指示在第一逻辑单元中命令失败的第一响应。
在操作S450中,存储设备可以从主机设备接收指示在第二逻辑单元中执行命令的请求的第二请求。在操作S460中,存储设备可以基于第二请求向主机设备输出指示在第二逻辑单元中命令失败的第二响应。
图18是根据本公开的一些示例实施例描述UFS系统的图。将参照图18描述根据本公开的一些示例实施例的UFS系统2000。作为符合由JEDEC(联合电子器件工程委员会)发布的UFS标准的系统的UFS系统2000可以包括UFS主机2100、UFS设备2200和UFS接口2300。
UFS系统2000可以对应于参照图1、图2和图15描述的存储系统1000。UFS系统2000的UFS设备2200可以对应于参照图1、图2、图4、图5、图8和图15描述的存储设备1200,并且可以执行参照图16和图17描述的操作方法。
UFS主机2100和UFS设备2200可以通过UFS接口2300来互连。UFS主机2100可以包括UFS主机控制器2110、应用2120、UFS驱动器2130、主机存储器2140和UFS互连(UIC)层2150。
UFS设备2200可以包括UFS设备控制器2210、非易失性存储器件2220、存储接口2230、设备存储器2240、UIC层2250以及调节器2260。非易失性存储器件2220可以包括多个存储器单元2221。该存储器单元2221可以包括2D NAND闪存或3D V-NAND闪存,或者可以包括另一类型的非易失性存储器,(诸如PRAM和/或RRAM)。UFS设备控制器2210和非易失性存储器件2220可以通过存储接口2230互连。存储接口2230可以被实现为符合诸如Toggle或ONFI(开放式NAND闪存接口)的标准。
应用2120可以包括要求与UFS设备2200通信以使用UFS设备2200的功能的程序。对于与UFS设备2200相关联的输入/输出,应用2120可以向UFS驱动器2130发送输入-输出请求IOR。输入-输出请求IOR可以包括数据读取请求、数据写入请求和/或数据擦除请求,但不限于此。
UFS驱动器2130可以通过UFS-HCI(主机控制器接口)来管理UFS主机控制器2110。UFS驱动器2130可以将由应用2120生成的输入-输出请求转换为由UFS标准定义的UFS命令,并且可以向UFS主机控制器2110发送UFS命令。一个输入-输出请求可以被转换成多个UFS命令。通常,UFS命令可以是由SCSI标准定义的命令。然而,UFS命令可以是UFS标准专用命令。
UFS主机控制器2110可以通过UFS主机2100的UIC层2150和UFS接口2300,向UFS设备2200的UIC层2250发送由UFS驱动器2130转换的UFS命令。在该过程中,UFS主机控制器2110的UFS主机寄存器2111可以执行命令队列(CQ)的作用。
UFS主机2100的UIC层2150可以包括MIPI M-PHY 2151和MIPI UniPro 2152,UFS设备2200的UIC层2250也可以包括MIPI M-PHY 2251和MIPI UniPro 2252。
UFS接口2300可以包括被配置为发送参考时钟REF_CLK的线(line)、被配置为发送用于UFS设备2200的硬件复位信号RST_n的线、被配置为发送差分输入信号对DIN_t和DIN_c的一对线、以及被配置为发送差分输出信号对DOUT_t和DOUT_c的一对线。
从UFS主机2100提供给UFS设备2200的参考时钟REF_CLK的频率值可以是以下频率值之一:19.2MHz、26MHz、38.4MHz和52MHz。然而,本公开不限于此。即使在操作中(即,即使在UFS主机2100和UFS设备2200之间交换数据时),UFS主机2100也可以改变参考时钟REF_CLK的频率值。UFS设备2200可以通过使用锁相环(PLL)等,根据从UFS主机2100提供的参考时钟REF_CLK来生成各种频率的时钟。此外,UFS主机2100可以通过参考时钟REF_CLK的频率值来设置UFS主机2100与UFS设备2200之间的数据速率值。也就是说,可以依据参考时钟REF_CLK的频率值来确定数据速率值。
UFS接口2300可以支持多个通道(lane),每个通道可以利用差分对来实现。例如,UFS接口2300可以包括一个或更多个接收通道和一个或更多个发送通道。在图18中,被配置为发送差分输入信号对DIN_t和DIN_c的一对线可以构成接收通道,并且被配置为发送差分输出信号对DOUT_t和DOUT_c的一对线可以构成发送通道。在图18中示出了一个发送通道和一个接收通道,但是发送通道的数量和接收通道的数量可以改变。
接收通道和发送通道可以允许以串行通信方式进行数据传输,接收通道和发送通道彼此分离的结构使得UFS主机2100和UFS设备2200能够以全双工方式彼此通信。即,即使在UFS设备2200通过接收通道从UFS主机2100接收数据时,UFS设备2200也可以通过发送通道向UFS主机2100发送数据。此外,从UFS主机2100到UFS设备2200的控制数据(诸如命令)以及UFS主机2100意图存储在UFS设备2200的非易失性存储器件2220中或意图从非易失性存储器件2220读取的用户数据可以通过同一通道来提供。如此,除了一个接收通道和一个发送通道之外,不需要在UFS主机2100与UFS设备2200之间进一步提供用于数据传输的单独通道。
UFS设备2200的UFS设备控制器2210可以整体上控制UFS设备2200的操作。UFS设备控制器2210可以通过作为逻辑数据存储器单元的逻辑单元(LU)2211来管理非易失性存储器件2220。逻辑单元2211的数量可以是“N”(例如,N=8),但不限于此。UFS设备控制器2210可以包括闪存转换层(FTL),并且可以通过使用FTL的地址映射信息将从UFS主机2100提供的逻辑数据地址(例如,LBA)转换为物理数据地址(例如,物理块地址(PBA))。在UFS系统2000中,用于存储用户数据的逻辑块可以具有给定范围的大小。例如,逻辑块的最小大小可以被设置为4千字节(Kbyte)。
当来自UFS主机2100的命令通过UIC层2250输入到UFS设备2200时,UFS设备控制器2210可以执行与输入命令对应的操作;当操作完成时,UFS设备控制器2210可以向UFS主机2100发送完成响应。
在示例实施例中,当UFS主机2100意图将用户数据存储在UFS设备2200中时,UFS主机2100可以向UFS设备2200发送数据写入命令。当从UFS设备2200接收到准备好传送响应(例如,准备好传送UPIU)时,UFS主机2100可以向UFS设备2200发送用户数据。UFS设备控制器2210可以将接收到的用户数据临时存储在设备存储器2240中,并且可以基于FTL的地址映射信息将临时存储在设备存储器2240中的用户数据存储在非易失性存储器件2220的选定位置处。
作为另一个示例,当UFS主机2100意图读取存储在UFS设备2200中的用户数据时,UFS主机2100可以向UFS设备2200发送数据读取命令。当UFS设备控制器2210接收到数据读取命令时,基于该数据读取命令,UFS设备控制器2210可以从非易失性存储器件2220读取用户数据,并且可以将读取的用户数据临时存储在设备存储器2240中。在该读取过程中,UFS设备控制器2210可以通过使用嵌入式纠错码(ECC)引擎(未示出)来检测并校正读取的用户数据的错误。更详细地,ECC引擎可以为要写入非易失性存储器件2220中的写入数据生成奇偶校验位,并且由此生成的奇偶校验位可以与写入数据一起存储在非易失性存储器件2220中。当从非易失性存储器件2220读取数据时,ECC引擎可以通过使用与读取数据一起从非易失性存储器件2220读取的奇偶校验位来校正读取数据的错误,并且可以输出经纠错的读取数据。
UFS设备控制器2210可以向UFS主机2100发送临时存储在设备存储器2240中的用户数据。另外,UFS设备控制器2210还可以包括高级加密标准(AES)引擎(未示出)。AES引擎可以通过使用对称密钥算法来对输入到UFS设备控制器2210的数据执行加密操作和解密操作中的至少一个。
UFS主机2100可以依序将要发送到UFS设备2200的命令存储在能够用作命令队列的UFS主机寄存器2111中,并且可以依序向UFS设备2200发送命令。在这种情况中,即使在先前命令仍由UFS设备2200处理时(即,即使在接收到指示先前命令被UFS设备2200完全处理的通知之前),UFS主机2100也可以向UFS设备2200发送命令队列中待命的下一命令。如此,即使在处理先前命令时,UFS设备2200也可以从UFS主机2100接收下一命令。能够存储在命令队列中的命令的最大数量(即,队列深度)可以是例如32。此外,命令队列可以以循环队列的形式来实现,该循环队列分别通过头指针和尾指针指示在其中排队的命令的开始和结束。
多个存储器单元2221中的每个存储器单元可以包括存储单元阵列(未示出)和控制存储单元阵列的操作的控制电路(未示出)。存储单元阵列可以包括二维存储单元阵列或三维存储单元阵列。存储单元阵列可以包括多个存储单元(memory cell),并且存储单元中的每个存储单元可以是存储1位信息的单阶单元(SLC)。然而,每个存储单元可以利用存储2位或更多位信息的存储单元(诸如多阶单元(MLC)、三阶单元(TLC)或四阶单元(QLC))来实现。三维存储单元阵列可以包括垂直取向的垂直NAND串,使得至少一个存储单元位于另一存储单元上方。
UFS设备2200可以接收VCC、VCCQ1、VCCQ2等作为电源电压。作为用于UFS设备2200的主电源电压的“VCC”可以具有2.4V至3.6V的值。作为用于供应低范围的电压的电源电压的“VCCQ1”可以主要用于UFS设备控制器2210,并且可以具有1.14V至1.26V的值。作为用于供应低于“VCC”且高于“VCCQ1”的范围的电压的电源电压的“VCCQ2”可以主要用于诸如MIPIM-PHY 2251的输入/输出接口,并且可以具有1.7V至1.95V的值。可以通过调节器2260为UFS设备2200的相应组件供应“VCC”、“VCCQ1”和“VCCQ2”。
图19是根据本公开的一些示例实施例详细示出图18的存储器单元的图。图20是根据本公开的一些示例实施例详细示出图19的存储器块的图。
参照图18、图19和图20,非易失性存储器件2220可以包括多个存储器单元2221。多个存储器单元2221可以对应于第一存储器单元SU1至第N存储器单元SUN,并且“N”可以是随机自然数。图19的存储器单元SU可以对应于图18的多个存储器单元SU1至SUN之一。存储器单元SU可以从UFS设备控制器2210接收地址ADD和命令CMD。存储器单元SU可以与UFS设备控制器2210交换数据。
存储器单元SU可以包括存储单元阵列121、地址译码器122、控制逻辑和电压生成电路123、页缓冲器124以及输入/输出(I/O)电路125。
存储单元阵列121可以包括用于存储数据的多个存储器块BLK。多个存储器块BLK中的每个存储器块BLK可以在结构上类似于图20中所示的存储器块BLK。图20中所示的存储器块BLK可以对应于非易失性存储器件2220的物理擦除单元,但是本公开不限于此。例如,物理擦除单元可以改变为页单元、字线单元、子块单元等。
如图20中所示,存储器块BLK可以包括多个单元串CS11、CS12、CS21和CS22。多个单元串CS11、CS12、CS21和CS22可以在行方向和列方向上布置。为了简洁起见,图20中示出了四个单元串CS11、CS12、CS21和CS22,但是本公开不限于此。例如,单元串的数量可以在行方向或列方向上增加或减少。
多个单元串CS11、CS12、CS21和CS22之中的安置在同一列处的单元串可以与同一位线连接。例如,单元串CS11和CS21可以与第一位线BL1连接,单元串CS12和CS22可以与第二位线BL2连接。多个单元串CS11、CS12、CS21及CS22中的每个单元串可以包括多个单元晶体管。多个单元晶体管中的每个单元晶体管可以利用电荷俘获闪存(CTF)存储单元来实现。多个单元晶体管可以在高度方向上堆叠,该高度方向是垂直于由行方向和列方向限定的平面(例如,半导体衬底(未示出))的方向。
多个单元晶体管可以串联连接在对应位线(例如,BL1或BL2)与公共源极线CSL之间。例如,多个单元晶体管可以包括串选择晶体管SSTa和SSTb、虚设存储单元DMC1和DMC2、存储单元MC1至MC4以及接地选择晶体管GSTa和GSTb。串联连接的串选择晶体管SSTa和SSTb可以设置在串联连接的存储单元MC1至MC4与对应的位线(例如,BL1和BL2)之间。串联连接的接地选择晶体管GSTa和GSTb可以设置在串联连接的存储单元MC1至MC4与公共源极线CSL之间。
在一些示例实施例中,第二虚设存储单元DMC2可以设置在串联连接的串选择晶体管SSTa和SSTb与串联连接的存储单元MC1至MC4之间,并且第一虚设存储单元DMC1可以设置在串联连接的存储单元MC1至MC4与串联连接的接地选择晶体管GSTa和GSTb之间。
在多个单元串CS11、CS12、CS21及CS22中,存储单元MC1至MC4之中的安置在同一高度处的存储单元可以共享同一字线。例如,多个单元串CS11、CS12、CS21和CS22的第一存储单元MC1可以安置在距衬底(未示出)相同高度处且可以共享第一字线WL1。多个单元串CS11、CS12、CS21和CS22的第二存储单元MC2可以安置在距衬底(未示出)相同高度处且可以共享第二字线WL2。同样地,多个单元串CS11、CS12、CS21和CS22的第三存储单元MC3可以安置在距衬底(未示出)相同高度处且可以共享第三字线WL3,多个单元串CS11、CS12、CS21和CS22的第四存储单元MC4可以安置在距衬底(未示出)相同高度处且可以共享第四字线WL4。
多个单元串CS11、CS12、CS21和CS22的虚设存储单元DMC1和DMC2之中的安置在同一高度处的虚设存储单元可以共享同一虚设字线。例如,多个单元串CS11、CS12、CS21和CS22的第一虚设存储单元DMC1可以共享第一虚设字线DWL1,多个单元串CS11、CS12、CS21和CS22的第二虚设存储单元DMC2可以共享第二虚设字线DWL2。
多个单元串CS11、CS12、CS21和CS22的串选择晶体管SSTa和SSTb之中的安置在同一高度和同一行处的串选择晶体管可以共享同一串选择线。例如,单元串CS11和CS12的串选择晶体管SSTb可以共享串选择线SSL1b,单元串CS11和CS12的串选择晶体管SSTa可以共享串选择线SSL1a。单元串CS21和CS22的串选择晶体管SSTb可以共享串选择线SSL2b,单元串CS21和CS22的串选择晶体管SSTa可以共享串选择线SSL2a。
多个单元串CS11、CS12、CS21和CS22的接地选择晶体管GSTa和GSTb之中的安置在同一高度和同一行处的接地选择晶体管可以共享同一接地选择线。例如,单元串CS11和CS12的接地选择晶体管GSTb可以与接地选择线GSL1b连接,单元串CS11和CS12的接地选择晶体管GSTa可以与接地选择线GSL1a连接。单元串CS21和CS22的接地选择晶体管GSTb可以与接地选择线GSL2b连接,单元串CS21和CS22的接地选择晶体管GSTa可以与接地选择线GSL2a连接。
在一些示例实施例中,图20中所示的存储器块BLK是示例。例如,单元串的数量可以增加或减少,并且单元串的行数和单元串的列数可以依据单元串的数量而增加或减少。此外,在存储器块BLK中,单元晶体管的数量可以增加或减少,存储器块BLK的高度可以依据单元晶体管的数量而增加或减少,与单元晶体管连接的线的数量可以依据单元晶体管的数量而增加或减少。
在一些示例实施例中,存储器块BLK可以包括多个存储器页。例如,与第一字线WL1连接的单元串CS11、CS12、CS21和CS22的第一存储单元MC1可以被称为“第一物理页”。在一些示例实施例中,一个物理页面可以对应于多个逻辑页。例如,在第一存储单元MC1是存储对应于三位的信息的三阶单元(TLC)的情况下,物理页可以对应于三个逻辑页。
再次参照图18和图19,控制逻辑和电压生成电路123可以接收命令CMD。命令CMD可以指指示要由非易失性存储器件2220执行的操作(诸如读取操作或写入操作)的信号。控制逻辑和电压生成电路123可以控制地址译码器122、页缓冲器124和I/O电路125。控制逻辑和电压生成电路123可以向地址译码器122提供与命令CMD对应的电压。
地址译码器122可以接收地址ADD。地址译码器122可以对地址ADD进行译码。地址译码器122可以通过串选择线SSL、字线WL和接地选择线GSL与存储单元阵列121连接。地址译码器122可以基于译码结果和从控制逻辑和电压生成电路123接收的电压来控制要施加到串选择线SSL、字线WL和接地选择线GSL的电压。
页缓冲器124可以通过位线BL与存储单元阵列121连接。页缓冲器124可以通过感测位线BL的电压而以页为单位从存储单元阵列121读取数据。页缓冲器124可以通过数据线DL向I/O电路125输出读取数据。
页缓冲器124可以从I/O电路125接收写入数据。页缓冲器124可以以页为单位将写入数据存储在存储单元阵列121中。
I/O电路125可以通过数据线DL与页缓冲器124连接。I/O电路125可以通过数据线DL向页缓冲器124提供从UFS设备控制器2210接收的数据。I/O电路125可以向UFS设备控制器2210输出通过数据线DL接收到的数据。
根据本公开的示例实施例,提供了一种用于设置命令的安全模式的存储设备的操作方法以及一种包括该存储设备的存储系统的操作方法。
此外,提供了一种存储设备的操作方法以及一种包括该存储设备的存储系统的操作方法,该存储设备保护数据免受恶意用户的影响并且提供针对存储器区域的各种范围和各种命令的灵活的安全环境。
根据示例实施例,可以通过各种单位针对存储器区域的范围来设置安全模式。例如,在其中设置安全模式的存储器区域的单位可以是存储器类型的单位、逻辑单元的单位或逻辑块地址的单位。
根据示例实施例,由附图中的框表示的组件、元件、模块或单元(在本段中被统称为“组件”)中的至少一个可以实现为执行上述相应功能的各种数量的硬件、软件和/或固件结构。根据示例实施例,这些组件中的至少一个可以使用直接电路结构(诸如存储器、处理器、逻辑电路、查找表等),其可以通过一个或更多个微处理器或其他控制装置的控制来执行相应功能。此外,这些组件中的至少一个可以由模块、程序或代码的一部分来具体实现,并且由一个或更多个微处理器或其他控制装置来执行,该模块、该程序或该代码的一部分包括用于执行特定逻辑功能的一个或更多个可执行指令。此外,这些组件中的至少一个可以包括诸如执行相应功能的中央处理单元(CPU)、微处理器等的处理器或可以由它们来实现。这些部件中的两个或更多个可以组合成一个单个组件,该单个组件执行组合的两个或更多个组件的所有操作或功能。此外,这些组件中的至少一个的功能的至少一部分可以由这些组件中的另一个来执行。上述示例性实施例的功能方面可以以在一个或更多个处理器上执行的算法来实现。此外,由块或处理步骤表示的组件可以采用用于电子配置、信号处理和/或控制、数据处理等的任何数量的相关领域技术。
虽然已经参照本公开的示例实施例描述了本公开,但是对于本领域普通技术人员而言将明显的是,在不脱离如所附权利要求及其等同物中阐述的本公开的精神和范围的情况下,可以对其进行各种改变和修改。

Claims (20)

1.一种用于设置多个命令的安全模式的操作存储设备的方法,所述方法包括:
从主机设备接收指示对所述多个命令中的第一命令进行保护以及对所述多个命令中的第二命令进行保护的安全请求,所述主机设备被配置为与所述存储设备通信,所述第一命令和所述第二命令在种类上不同;
基于所述安全请求,设置所述第一命令的安全模式和所述第二命令的安全模式;
从所述主机设备接收指示执行所述第一命令的请求的第一请求;
基于所述第一请求,向所述主机设备输出指示所述第一命令的失败的第一响应;
从所述主机设备接收指示执行所述第二命令的请求的第二请求;以及
基于所述第二请求,向所述主机设备输出指示所述第二命令的失败的第二响应。
2.根据权利要求1所述的方法,其中,所述安全请求基于通用闪存标准的重放保护存储器块消息的请求消息,并且所述安全请求支持安全命令保护配置块。
3.根据权利要求1所述的方法,其中,所述第一命令是读取命令、写入命令、清除命令和解除映射命令中的一者,并且
其中,所述第二命令是所述读取命令、所述写入命令、所述清除命令和所述解除映射命令中的另一者。
4.根据权利要求1所述的方法,其中,所述安全请求还指示在第一LBA中对所述第一命令进行保护以及在与所述第一LBA不同的第二LBA中不对所述第一命令进行保护,其中,所述LBA即逻辑块地址,并且
其中,所述第一请求还指示在所述第一LBA中执行所述第一命令的请求。
5.根据权利要求4所述的方法,所述方法还包括:
从所述主机设备接收指示在所述第二LBA中执行所述第一命令的请求的第三请求;以及
基于所述第三请求,在所述第二LBA中执行所述第一命令。
6.根据权利要求4所述的方法,其中,所述安全请求还指示在所述第一LBA中不对所述第二命令进行保护以及在所述第二LBA中对所述第二命令进行保护,
其中,所述第二请求还指示在所述第二LBA中执行所述第二命令的请求,并且
其中,所述方法还包括:
从所述主机设备接收指示在所述第一LBA中执行所述第二命令的请求的第四请求;以及
基于所述第四请求,在所述第一LBA中执行所述第二命令。
7.根据权利要求1所述的方法,其中,所述安全请求还指示在第一LU中包括的多个LBA中对所述第一命令进行保护以及对所述第二命令进行保护,其中,所述LU即逻辑单元,所述LBA即逻辑块地址,
其中,所述第一请求还指示在所述多个LBA中的至少一部分LBA中执行所述第一命令的请求,并且
其中,所述第二请求还指示在所述多个LBA中的至少一部分LBA中执行所述第二命令的请求。
8.根据权利要求1所述的方法,其中,所述安全请求还指示:在第一LU中包括的多个第一LBA和第二LU中包括的多个第二LBA中对所述第一命令进行保护,以及在所述第一LU中包括的所述多个第一LBA和所述第二LU中包括的所述多个第二LBA中对所述第二命令进行保护,其中,所述LU即逻辑单元,所述LBA即逻辑块地址,
其中,所述第一LU和所述第二LU包括在同一存储器类型中,
其中,所述第一请求还指示在所述多个第一LBA和所述多个第二LBA中的至少一部分LBA中执行所述第一命令的请求,并且
其中,所述第二请求还指示在所述多个第一LBA和所述多个第二LBA中的至少一部分LBA中执行所述第二命令的请求。
9.根据权利要求1所述的方法,其中,所述安全请求的数据字段包括安全命令保护配置块,并且所述安全请求的请求消息类型字段指示安全命令保护配置块写入请求。
10.根据权利要求9所述的方法,其中,所述安全命令保护配置块包括:
索引,所述索引指示要在其中设置所述第一命令的所述安全模式和所述第二命令的所述安全模式的范围;以及
安全命令保护条目,所述安全命令保护条目指示是否对所述第一命令进行保护以及是否对所述第二命令进行保护。
11.根据权利要求10所述的方法,其中,所述索引包括以下项中的一项:
第一索引代码值,所述第一索引代码值指示LBA保护操作,其中,所述LBA即逻辑块地址;
第二索引代码值,所述第二索引代码值指示LU保护操作,其中,所述LU即逻辑单元;以及
第三索引代码值,所述第三索引代码值指示存储器类型保护操作。
12.根据权利要求10所述的方法,其中,所述安全命令保护条目包括:
命令保护标志,所述命令保护标志指示是否对所述第一命令进行保护以及是否对所述第二命令进行保护;以及
命令保护类型,所述命令保护类型定义对所述命令保护标志进行控制的类型。
13.根据权利要求12所述的方法,其中,所述命令保护类型包括以下项中的一项:
第一命令保护类型代码值,所述第一命令保护类型代码值指示在电力循环或硬件复位之后维持现有的命令保护标志的代码值;
第二命令保护类型代码值,所述第二命令保护类型代码值指示所述命令保护标志的所述代码值中的每个代码值在所述电力循环或所述硬件复位之后被设置为第一代码值;以及
第三命令保护类型代码值,所述第三命令保护类型代码值指示所述命令保护标志的所述代码值中的每个代码值在所述电力循环或所述硬件复位之后被设置为第二代码值。
14.根据权利要求12所述的方法,其中,所述命令保护标志包括分别与所述多个命令对应的多个命令字段,并且所述多个命令字段中的每个命令字段指示是否保护对应的命令,
其中,所述多个命令字段中的每个命令字段包括指示启用所述对应命令的安全模式的第一代码值或指示禁用所述对应命令的所述安全模式的第二代码值,
其中,所述多个命令字段之中的与所述第一命令对应的第一命令字段包括所述第一代码值,并且
其中,所述多个命令字段之中的与所述第二命令对应的第二命令字段包括所述第一代码值。
15.一种用于在多个LU中设置安全模式的操作存储设备的方法,所述LU即逻辑单元,所述方法包括:
从主机设备接收指示在所述多个LU中的第一LU和第二LU中对第一命令进行保护的安全请求,所述主机设备被配置为与所述存储设备通信;
基于所述安全请求,在所述第一LU和所述第二LU中设置所述第一命令的安全模式;
从所述主机设备接收指示在所述第一LU中执行所述第一命令的请求的第一请求;
基于所述第一请求,向所述主机设备输出指示在所述第一LU中所述第一命令失败的第一响应;
从所述主机设备接收指示在所述第二LU中执行所述第一命令的请求的第二请求;以及
基于所述第二请求,向所述主机设备输出指示在所述第二LU中所述第一命令失败的第二响应。
16.根据权利要求15所述的方法,所述方法还包括:
从所述主机设备接收第三请求,所述第三请求指示在所述多个LU中的第三LU中执行所述第一命令的请求;以及
基于所述第三请求,在所述第三LU中执行所述第一命令,以及
其中,所述第一LU和所述第二LU包括在第一存储器类型中,并且所述第三LU包括在第二存储器类型中。
17.根据权利要求15所述的方法,其中,所述安全请求还指示在所述第一LU和所述第二LU中对第二命令进行保护,以及
其中,所述的设置所述安全模式包括:
基于所述安全请求,在所述第一LU和所述第二LU中设置所述第一命令的所述安全模式和所述第二命令的安全模式。
18.根据权利要求17所述的方法,其中,所述第一命令是读取命令、写入命令、清除命令和解除映射命令中的一者,并且
其中,所述第二命令是所述读取命令、所述写入命令、所述清除命令和所述解除映射命令中的另一者。
19.一种用于设置多个命令的安全模式的操作存储系统的方法,所述存储系统包括主机设备和被配置为与所述主机设备通信的存储设备,所述方法包括:
由所述主机设备生成安全请求,所述安全请求指示在第一LBA中对第一命令进行保护以及在第二LBA中对第二命令进行保护,所述第一命令和所述第二命令在种类上不同,所述LBA即逻辑块地址;
由所述存储设备基于所述安全请求设置安全模式;
由所述主机设备生成指示在所述第一LBA中执行所述第一命令的请求的第一请求;
由所述存储设备基于所述第一请求生成指示所述第一命令的失败的第一响应;
由所述主机设备生成指示在所述第二LBA中执行所述第二命令的请求的第二请求;以及
由所述存储设备基于所述第二请求生成指示所述第二命令的失败的第二响应。
20.根据权利要求19所述的方法,所述方法还包括:
由所述主机设备生成指示在所述第二LBA中执行所述第一命令的请求的第三请求;
由所述存储设备基于所述第三请求在所述第二LBA中执行所述第一命令;
由所述主机设备生成指示在所述第一LBA中执行所述第二命令的请求的第四请求;以及
由所述存储设备基于所述第四请求在所述第一LBA中执行所述第二命令。
CN202111347114.XA 2020-12-24 2021-11-15 存储设备的操作方法以及存储系统的操作方法 Pending CN114675779A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2020-0183559 2020-12-24
KR20200183559 2020-12-24
KR10-2021-0063018 2021-05-14
KR1020210063018A KR20220092770A (ko) 2020-12-24 2021-05-14 커맨드의 보안 모드를 설정하는 스토리지 장치의 동작 방법, 및 스토리지 장치를 포함하는 스토리지 시스템의 동작 방법

Publications (1)

Publication Number Publication Date
CN114675779A true CN114675779A (zh) 2022-06-28

Family

ID=78598865

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111347114.XA Pending CN114675779A (zh) 2020-12-24 2021-11-15 存储设备的操作方法以及存储系统的操作方法

Country Status (3)

Country Link
US (1) US11726672B2 (zh)
EP (1) EP4020296B1 (zh)
CN (1) CN114675779A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10210123B2 (en) 2016-07-26 2019-02-19 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode NMVe over fabrics devices
US20190109720A1 (en) 2016-07-26 2019-04-11 Samsung Electronics Co., Ltd. Modular system (switch boards and mid-plane) for supporting 50g or 100g ethernet speeds of fpga+ssd

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005108273A (ja) 2003-09-26 2005-04-21 Toshiba Corp 不揮発性半導体記憶装置
JP4780304B2 (ja) 2006-02-13 2011-09-28 株式会社メガチップス 半導体メモリおよびデータアクセス方法
WO2013016496A1 (en) * 2011-07-27 2013-01-31 Lsi Corporation Techniques for secure storage hijacking protection
KR102196971B1 (ko) 2014-03-28 2020-12-31 삼성전자주식회사 스토리지 시스템, 그것의 쓰기 방지 수행 방법, 그리고 그것의 쓰기 방지 인증 방법
US11030122B2 (en) 2014-04-08 2021-06-08 Micron Technology, Inc. Apparatuses and methods for securing an access protection scheme
US10257192B2 (en) 2014-05-29 2019-04-09 Samsung Electronics Co., Ltd. Storage system and method for performing secure write protect thereof
US9678760B2 (en) 2014-08-01 2017-06-13 Samsung Electronics Co., Ltd. Memory card and storage system having authentication program and method for operating thereof
KR20160019780A (ko) 2014-08-12 2016-02-22 삼성전자주식회사 시스템 온 칩, 시스템 온 칩을 포함하는 전자 장치 및 시스템 온 칩의 동작 방법
KR20190102781A (ko) * 2018-02-27 2019-09-04 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
US11088845B2 (en) * 2018-07-03 2021-08-10 Western Digital Technologies, Inc. Non-volatile memory with replay protected memory block having dual key
US20200192824A1 (en) 2018-12-12 2020-06-18 Macronix International Co., Ltd. Security memory device and operation method thereof
US11321468B2 (en) 2018-12-31 2022-05-03 Micron Technology, Inc. Systems for providing access to protected memory
US10725687B1 (en) * 2019-03-19 2020-07-28 Western Digital Technologies, Inc. Settable replay protected memory block characteristics in a logic unit

Also Published As

Publication number Publication date
US20220206693A1 (en) 2022-06-30
US11726672B2 (en) 2023-08-15
EP4020296B1 (en) 2024-05-01
EP4020296A1 (en) 2022-06-29

Similar Documents

Publication Publication Date Title
US10725835B2 (en) System and method for speculative execution of commands using a controller memory buffer
US10496312B2 (en) Method of operating a storage device to compress or decompress data and a data storage system including the storage device
US10222990B2 (en) Optimistic read operation
US10567006B2 (en) Data relocation
US10116336B2 (en) Error correcting code adjustment for a data storage device
US9864654B2 (en) Detecting data indicated as being uncorrectable at a data storage device
JP6345210B2 (ja) 軟判定復号のための物理アドレスの相互関連付け
US9905314B2 (en) Storage module and method for datapath bypass
US20140047246A1 (en) Flash memory device including key control logic and encryption key storing method
KR20190099693A (ko) 메모리 시스템 및 그것의 동작 방법
US9355732B2 (en) Latch initialization for a data storage device
US20130080787A1 (en) Memory storage apparatus, memory controller and password verification method
EP4020296B1 (en) Operating method of storage device setting secure mode of command, and operating method of storage system including the storage device
JP6994136B1 (ja) メモリにおける単調カウンタ
US9507710B2 (en) Command execution using existing address information
JP2023025687A (ja) メモリ装置およびその動作方法
US10725687B1 (en) Settable replay protected memory block characteristics in a logic unit
US20200226064A1 (en) Method of reverse mapping and data consolidation to enhance random performance
KR102404566B1 (ko) 메모리 시스템 상의 프로그램 검증을 위한 시스템 및 방법
US11106575B2 (en) Systems and methods for data storage in a memory system
KR20220092770A (ko) 커맨드의 보안 모드를 설정하는 스토리지 장치의 동작 방법, 및 스토리지 장치를 포함하는 스토리지 시스템의 동작 방법
KR102547251B1 (ko) 비휘발성 메모리 장치를 제어하는 제어기, 그것을 포함하는 저장 장치 및 그것의 동작 방법
US20230393741A1 (en) Storage device and electronic system
TW202321926A (zh) 儲存裝置及其操作方法、以及控制器的操作方法
CN114510752A (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