CN116009765A - 操作存储装置的方法以及使用该方法操作存储系统的方法 - Google Patents
操作存储装置的方法以及使用该方法操作存储系统的方法 Download PDFInfo
- Publication number
- CN116009765A CN116009765A CN202211184956.2A CN202211184956A CN116009765A CN 116009765 A CN116009765 A CN 116009765A CN 202211184956 A CN202211184956 A CN 202211184956A CN 116009765 A CN116009765 A CN 116009765A
- Authority
- CN
- China
- Prior art keywords
- request
- storage
- region
- write
- read
- 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
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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection 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/1425—Protection 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/1441—Protection 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
-
- 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1008—Correctness of operation, e.g. memory ordering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/34—Encoding or coding, e.g. Huffman coding or error correction
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
提供了一种操作存储装置的方法以及使用该方法操作存储系统的方法。在操作包括多个存储区域的存储装置的方法中,接收第一请求。所述第一请求用于对第一存储区域进行加密擦除。在第一时间间隔期间,基于所述第一请求来变更与所述第一存储区域相对应的第一加密密钥。接收第二请求。响应于在所述第一时间间隔内接收到所述第二请求,输出区域访问信号。响应于基于所述区域访问信号确定所述第二请求与所述第一存储区域相关联,暂停所述第二请求的执行。响应于基于所述区域访问信号确定所述第二请求与所述多个存储区域当中的第二存储区域相关联,执行所述第二请求。
Description
相关申请的交叉引用
本申请要求于2021年10月21日在韩国知识产权局(KIPO)提交的韩国专利申请No.10-2021-0140749的优先权,该韩国专利申请的公开内容通过引用整体地并入本文。
技术领域
示例实施例通常涉及半导体集成电路,并且更具体地涉及一种操作存储装置的方法以及一种使用所述方法操作存储系统的方法。
背景技术
诸如使用非易失性存储器的固态硬盘(SSD)的存储装置被广泛地使用。这些存储装置具有稳定性和耐用性好、信息访问速度快、功耗低的优点。可以基于多个协议来配置存储装置以提高性能。例如,可以基于使用多队列以进行数据的超高速和大容量处理的快速非易失性存储器(NVMe)协议以及另外地用于提高数据的安全性能的可信计算组(TCG)协议来配置存储装置。基于TCG协议,存储装置可以对数据进行加密并且将加密数据写入到存储装置的某些存储区域,以及变更用于加密的加密密钥以对写入数据执行加密擦除(cryptographic erasure)。基于NVMe协议,存储装置能够并行地从主机装置获取多个请求并且高速处理该多个请求。然而,当存储装置变更加密密钥以执行加密擦除时,也可能会阻止对与和加密擦除无关的存储区域相对应的请求的获取。因此,无法正常处理被阻止的请求。
发明内容
一些示例实施例可以提供一种用于存储装置的方法和设备,所述方法和设备能够正常执行数据的写入/读取/擦除操作并且防止存储装置的性能劣化。
根据示例实施例,在一种操作包括多个存储区域的存储装置的方法中,接收第一请求。所述第一请求用于对所述多个存储区域当中的第一存储区域进行加密擦除。在第一时间间隔期间,基于所述第一请求来变更与所述第一存储区域相对应的第一加密密钥。接收第二请求。所述第二请求包括写入请求、读取请求或擦除请求中的至少一者。响应于在所述第一时间间隔内接收到所述第二请求,输出表示所述第二请求是否与所述第一存储区域相关联的区域访问信号。响应于基于所述区域访问信号确定所述第二请求与所述第一存储区域相关联,暂停所述第二请求的执行直到经过了所述第一时间间隔。响应于基于所述区域访问信号确定所述第二请求与所述多个存储区域当中的不同于所述第一存储区域的第二存储区域相关联,执行所述第二请求而不管是否经过了所述第一时间间隔。
根据示例实施例,一种存储系统包括基于快速非易失性存储器(NVMe)协议彼此连接的主机装置和存储装置。所述存储装置包括多个存储区域。在一种操作所述存储系统的方法中,所述主机装置发出用于对所述多个存储区域当中的第一存储区域进行加密擦除的第一请求。在第一时间间隔期间,所述存储装置基于所述第一请求来变更与所述第一存储区域相对应的第一加密密钥。所述主机装置发出包括写入请求、读取请求或擦除请求中的至少一者的第二请求。响应于在所述第一时间间隔期间接收到所述第二请求,所述存储装置输出表示所述第二请求是否与所述第一存储区域相关联的区域访问信号。响应于基于所述区域访问信号确定出所述第二请求与所述第一存储区域相关联,所述存储装置推迟所述第二请求的执行直到经过了所述第一时间间隔。响应于基于所述区域访问信号确定出所述第二请求与所述多个存储区域当中的不同于所述第一存储区域的第二存储区域相关联,所述存储装置执行所述第二请求而不管是否经过了所述第一时间间隔。
根据示例实施例,一种存储装置包括多个存储区域。在一种操作所述存储装置的方法中,接收第一请求。所述第一请求用于对所述多个存储区域当中的第一存储区域进行加密擦除。在第一时间间隔期间,基于所述第一请求变更第一加密密钥。所述第一加密密钥对应于所述第一存储区域。接收第二请求。所述第二请求包括写入请求、读取请求或擦除请求中的至少一者。响应于在所述第一时间间隔内接收到所述第二请求,输出区域访问信号。所述区域访问信号表示所述第二请求是否与所述第一存储区域相关联。响应于基于所述区域访问信号确定所述第二请求与所述第一存储区域相关联,暂停所述第二请求的执行直到经过了所述第一时间间隔。响应于基于所述区域访问信号确定出所述第二请求与所述多个存储区域当中的不同于所述第一存储区域的第二存储区域相关联,执行所述第二请求而不管是否经过了所述第一时间间隔。在暂停所述第二请求的执行中,基于所述区域访问信号来推迟写入命令、读取命令和擦除命令的生成,或者基于所述区域访问信号来推迟写入数据的加密以及推迟读取数据的解密。所述写入命令、所述读取命令和所述擦除命令分别对应于与所述第二请求相关联的并且从所述存储装置中的存储控制器向所述存储装置中的非易失性存储器发出的所述写入请求、所述读取请求和所述擦除请求。响应于所述第二请求包括所述写入请求,所述写入数据对应于所述写入请求。响应于所述第二请求包括所述读取请求,所述读取数据对应于所述读取请求。
附图说明
根据结合附图进行的以下详细描述,将更清楚地理解本公开的示例实施例。
图1是图示了根据示例实施例的操作存储装置的方法的流程图。
图2是图示了根据示例实施例的存储装置和包括该存储装置的存储系统的框图。
图3是图示了图2中的存储控制器的示例的框图。
图4A、图4B和图4C是用于描述包括在图2中的存储装置中的多个存储区域的图。
图5是图示了图2的存储系统的示例的框图。
图6是用于描述在图2的存储装置中执行的加密擦除的图。
图7是图示了图1中的接收第一请求的示例的流程图。
图8是图示了图1中的变更第一加密密钥的示例的流程图。
图9是用于描述与图1中的变更第一加密密钥相关联的密钥变更表的图。
图10是图示了图1中的输出区域访问信号、暂停第二请求的执行和执行第二请求的示例的流程图。
图11和图12是图示了图1中的确定第二请求是否与第一存储区域相关联的示例的流程图。
图13和图14是用于描述图1中的暂停第二请求的执行的图。
图15和图16是图示了图1中的暂停第二请求的执行的示例的流程图。
图17是图示了图1中的第二请求的执行的示例的流程图。
图18是图示了根据示例实施例的操作存储系统的方法的流程图。
图19是图示了图18中设置多个存储区域的示例的流程图。
图20是用于描述图18中暂停第二请求的执行的图。
图21是用于描述与图18中变更第一加密密钥相关联的密钥变更表的图。
图22是图示应用了根据示例实施例的存储系统的数据中心的框图。
具体实施方式
将在下文中参考附图更充分地描述各种示例实施例,在附图中示出了一些示例实施例。在附图中,相似的标号自始至终指相似的要素。可以省略重复描述。
图1是图示了根据示例实施例的操作存储装置的方法的流程图。
参考图1,可以使用连接到主机装置的存储装置来执行根据示例实施例的操作存储装置的方法。可以基于多个协议来配置存储装置以改善性能,并且主机装置和存储装置可以基于多个协议彼此通信。例如,可以基于使用多队列以进行数据的超高速和大容量处理的快速非易失性存储器(NVMe)协议以及另外地用于提高数据的安全性能的可信计算组(TCG)协议来配置存储装置。
在根据示例实施例的操作存储装置的方法中,可以接收用于对存储装置的多个存储区域当中的第一存储区域进行加密擦除的第一请求(S100)。
在一些实施例中,存储装置可以包括多个非易失性存储器。多个存储区域可以是逻辑上和/或物理上划分多个非易失性存储器获得的可以在其中存储数据的任意存储器区域。
在一些实施例中,主机装置可以基于多个协议来设置多个存储区域。例如,主机装置可以基于TCG协议和NVMe协议中的至少一种来设置多个存储区域。当基于TCG协议来设置多个存储区域时,可以将多个存储区域称为“多个范围”,而当基于NVMe协议来设置多个存储区域时,可以将多个存储区域称为“多个命名空间(namespaces)”。
在一些实施例中,第一存储区域可以包括多个存储区域当中的一个或更多个存储区域,并且为了描述的方便,第一存储区域可以包括多个范围中的一个或更多个范围。然而,第一存储区域不限于此。第一存储区域可以包括多个命名空间当中的一个或更多个命名空间。将在下面参考图4A、图4B和图4C描述多个存储区域。
在一些实施例中,存储装置可以包括与加密擦除相关联的密钥变更表。密钥变更表可以包括多个地址信息、多个加密密钥和/或多个密钥变更位。多个地址信息中的每一个地址信息可以表示多个存储区域中的相应存储区域。多个加密密钥中的每一个加密密钥可以用于对写入到多个存储区域的相应存储区域的数据进行加密。多个密钥变更位中的每一个密钥变更位可以表示是否正在对多个存储区域中的相应存储区域中的数据执行加密擦除。将在下面参考图9和图21描述密钥变更表。
在一些实施例中,加密擦除可以指如下操作:通过基于TCG协议来变更用于对存储装置的某个存储区域中写入的数据进行加密的加密密钥,从而产生与擦除写入数据基本上相同的效果。将在下面参考图6描述加密擦除。
在一些实施例中,第一请求可以由主机装置发出,并且存储装置可以根据由NVMe协议确定的方案来接收第一请求。将在下面参考图7描述接收第一请求。
在第一时间间隔期间,可以基于第一请求来变更与第一存储区域相对应的第一加密密钥(S200)。
在一些实施例中,第一时间间隔可以是从第一时间点到第二时间点的时间间隔。第一时间点可以是接收到第一请求的时间点。第二时间点可以是在第一加密密钥被变更为第二加密密钥之后预定寄存器的值变更完成的时间点。例如,预定寄存器可以是根据NVMe协议的完成队列门铃(doorbell)寄存器。
在一些实施例中,通过变更与第一存储区域相对应的第一加密密钥,在第一存储区域中写入的数据不能再被解密,因此可以保持在与被从存储装置擦除的情况相同的状态。
可以接收包括写入请求、读取请求和擦除请求中的至少一者的第二请求(S300)。
在一些实施例中,第二请求可以由主机装置发出,并且存储装置可以根据由NVMe协议确定的方案来接收第二请求。
在一些实施例中,第二请求可以与第一请求区分开,并且可以是与用于加密擦除的请求不同的请求。例如,主机装置可以发出请求将数据写入到存储装置的写入请求,发出请求从存储装置读取写入数据的读取请求,以及发出请求擦除存储装置中的写入数据的擦除请求。写入/读取请求可以是用于请求对非易失性存储器进行逐页写入/读取请求的逐页写入/读取请求。写入/读取请求可以是用于对非易失性存储器执行逐页写入/读取操作的请求。擦除请求可以是用于对非易失性存储器执行逐块擦除操作的请求,并且可以与用于请求针对一个或更多个范围的加密擦除的第一请求区分开。
响应于在第一时间间隔内接收到第二请求,可以输出表示第二请求是否与第一存储区域相关联的区域访问信号(S400)。
在一些实施例中,区域访问信号可以是表示第二请求是否是针对第一存储区域的请求的数字信号。例如,响应于第二请求对应于第一逻辑电平,这可以表示第二请求是针对不同于第一存储区域的第二存储区域的请求。响应于第二请求对应于第二逻辑电平,这可以表示第二请求是针对第一存储区域的请求。然而,表示第二请求是否是针对第一存储区域的请求的方案是非限制性示例并且可以被不同地改变。
响应于基于区域访问信号确定第二请求与第一存储区域相关联,可以暂停(或推迟)第二请求的执行直到经过了第一时间间隔(S500)。
在一些实施例中,由于正在对第一存储区域执行加密擦除,所以可以暂停(或推迟)与第一存储区域相关联的第二请求的执行。将在下面参考图10、图11、图12、图13、图14、图15和图16描述暂停第二请求的执行。
响应于基于区域访问信号确定第二请求与多个存储区域当中的不同于第一存储区域的第二存储区域相关联,可以执行第二请求而不管是否经过了第一时间间隔。
在一些实施例中,由于第二请求不是针对第一存储区域的请求,所以即使在第一时间间隔内也可以执行第二请求。将在下面参考图10和图17描述执行第二请求。
根据上述配置,即使正在执行针对第一存储区域的加密擦除时,存储装置也可以正常地处理与第二存储区域相对应的与加密擦除不相关的第二请求。存储装置可以对第二存储区域正常地执行数据的写入/读取/擦除操作,从而防止根据加密擦除而可能发生的存储装置的性能劣化。
图2是图示了根据示例实施例的存储装置和包括该存储装置的存储系统的框图。
参考图2,存储系统100可以包括主机装置200和存储装置300。
主机装置200可以包括主机处理器210和主机存储器220,并且控制存储系统100的整体操作。主机处理器210可以控制主机装置200的操作并且运行例如操作系统(OS)。主机存储器220可以存储由主机处理器210运行和处理的指令和数据。例如,由主机处理器210运行的操作系统可以包括用于文件管理的文件系统以及用于在操作系统级别控制包括存储装置300的外围装置的装置驱动程序。
在一些实施例中,主机处理器210可以包括核211。核211可以是如在下面参考图13描述的单核、如在下面参考图20描述的双核,和/或包括三个或更多个核。
存储装置300可以由主机装置200访问。存储装置300可以包括存储控制器310、多个非易失性存储器(NVM)320a、320b和320c以及缓冲存储器330。
存储控制器310可以控制存储装置300的操作。例如,存储控制器310可以基于从主机装置200接收到的请求REQ和数据DAT来控制多个非易失性存储器320a、320b和320c的操作。
多个非易失性存储器320a、320b和320c可以存储数据。
在一些实施例中,多个非易失性存储器320a、320b和320c中的每一个非易失性存储器可以包括NAND闪存。在其他实施例中,多个非易失性存储器320a、320b和320c中的每一个非易失性存储器可以包括EEPROM(电可擦除可编程只读存储器)、PRAM(相变随机存取存储器)、RRAM(电阻随机存取存储器)、NFGM(纳米浮栅存储器)、PoRAM(聚合物随机存取存储器)、MRAM(磁性随机存取存储器)、FRAM(铁电随机存取存储器)等。
在一些实施例中,可以针对多个非易失性存储器320a、320b和320c设置多个存储区域。如将在下面参考图4A、图4B和图4C描述的,可以针对多个非易失性存储器320a、320b和320c的一部分设置一个范围或一个命名空间。
缓冲存储器330可以存储由存储控制器310运行和处理的命令和数据,并且暂时存储在多个非易失性存储器320a、320b和320c中写入或要写入的数据。例如,缓冲存储器330可以包括诸如动态随机存取存储器(DRAM)的易失性存储器。
存储控制器310可以包括加密/解密/命令(ENC/DEC/CMD)管理器311、加密密钥管理器313和加密/解密(ENC/DEC)引擎315,并且存储装置300可以执行上面参考图1描述的操作存储装置的方法。例如,加密/解密/命令管理器311可以执行S100、S300、S400和S500操作中的至少一部分操作,加密密钥管理器313可以执行S200操作,并且加密/解密引擎315可以执行图1的S500和S600操作。
在一些实施例中,存储装置300可以是固态硬盘(SSD)。在一些实施例中,存储装置300可以是通用闪存(UFS)、多媒体卡(MMC)或嵌入式MMC(eMMC)。在一些实施例中,可以将存储装置300实现为安全数字(SD)卡、微型SD卡、记忆棒、芯片卡、通用串行总线(USB)卡、智能卡、CF(紧凑闪存)卡等。
在一些实施例中,存储装置300可以通过包括NVMe总线的块可访问接口连接到主机装置200,并且主机装置200可以通过块可访问接口以块为单位访问存储装置300。
在一些实施例中,存储系统100可以是任何计算系统,诸如个人计算机(PC)、服务器计算机、数据中心、工作站、数字电视和机顶盒等。在其他实施例中,存储系统100可以是任何移动系统,诸如移动电话、智能电话、平板PC、膝上型计算机、个人数字助理(PDA)、便携式多媒体播放器(PMP)、数码相机、摄像机、便携式游戏机、音乐播放器、视频播放器、导航装置、可穿戴装置、物联网(IoT)装置、电子书、虚拟现实(VR)装置、增强现实(AR)装置、无人机等。
图3是图示了图2中的存储控制器的示例的框图。
参考图3,存储控制器400可以包括处理器410、加密密钥管理器420、AES(高级加密标准)引擎430、主机接口440、缓冲存储器接口450、闪存转换层(FTL)460、ECC(纠错码)块470和存储器接口480。处理器410可以包括加密/解密/命令(ENC/DEC/CMD)管理器412并且加密密钥管理器420可以包括加密(ENC)密钥表422。加密/解密/命令管理器412、加密密钥管理器420和AES引擎430分别可以对应于上面参考图2描述的加密/解密/命令管理器311、加密密钥管理器313和加密/解密引擎315。
处理器410可以基于通过主机接口440从主机装置(例如,图2中的200)接收到的请求来控制存储控制器400的操作。例如,处理器410可以通过采用用于驱动存储装置(例如,图2中的300)的固件来控制每种配置。例如,当加密/解密/命令管理器412从主机装置接收到与存储装置的多个存储区域中的一部分存储区域相关联的加密擦除请求、写入请求、读取请求和擦除请求时,加密/解密/命令管理器412可以控制加密密钥管理器420、AES引擎430、主机接口440和存储器接口480,使得可以执行与加密擦除请求、写入请求、读取请求和擦除请求相对应的各种操作。
例如,当加密密钥管理器420从主机装置接收到对存储装置的多个存储区域中的一部分存储区域的加密擦除请求时,加密密钥管理器420可以在加密/解密/命令管理器412的控制下,变更对应于与加密擦除请求相关联的存储区域的多个加密密钥和/或表示是否正在执行加密擦除的多个密钥变更位。
AES引擎430可以使用AES算法来执行数据的加密和解密,并且可以进一步包括单独的加密模块和/或解密模块。
FTL 460可以使用地址映射信息,将从主机装置提供的逻辑数据地址(例如,逻辑块地址(LBA))转换成物理数据地址(例如,物理块地址(PBA))。
用于纠错的ECC块470可以使用诸如以下编码调制来执行ECC编码和/或ECC解码:博斯-乔赫里-霍克文黑姆(Bose-Chaudhuri-Hocquenghem,BCH)码、低密度奇偶校验(LDPC)码、turbo码、里德-所罗门(Reed-Solomon)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)、块编码调制(BCM)和/或其他纠错码。
主机接口440可以提供主机装置与存储装置之间的物理连接。例如,主机接口440可以提供与主机装置的总线格式相对应的与存储装置的对接。在一些实施例中,主机装置的总线格式可以是快速外围组件互连(PCIe)、NVMe等。
存储器接口480可以与非易失性存储器(例如,图2中的320a、320b和320c)交换数据。存储器接口480可以向非易失性存储器发送数据以及接收从非易失性存储器读取的数据。在一些实施例中,存储器接口480可以通过一个通道连接到非易失性存储器。在其他实施例中,存储器接口480可以通过两个或更多个通道连接到非易失性存储器。
图4A、图4B和图4C是用于描述包括在图2中的存储装置中的多个存储区域的图。
参考图2、图4A和图4B,主机装置200可以针对多个非易失性存储器NVM1、NVM2、...、NVMK设置多个存储区域,其中K是大于或等于二的自然数。
在图4A所示的示例中,可以将多个非易失性存储器NVM1、NVM2、...、NVMK之一的整个区域设置为多个存储区域(例如,多个范围)之一。例如,非易失性存储器NVM1的整个区域可以被设置为第一范围RNG11,非易失性存储器NVM2的整个区域可以被设置为第二范围RNG12,并且非易失性存储器NVMK的整个区域可以被设置为第M范围RNG1M。
在图4B所示的示例中,可以将多个非易失性存储器NVM1、NVM2、...、NVMK的一部分区域设置为多个存储区域(例如,多个范围)之一。例如,多个非易失性存储器NVM1、NVM2、...、NVMK的部分区域可以被设置为第四范围RNG21,多个非易失性存储器NVM1、NVM2、...、NVMK的另一部分区域可以被设置为第五范围RNG22,并且多个非易失性存储器NVM1、NVM2、...、NVMK的又一部分区域可以被设置为第N范围RNG2N。然而,设置多个存储区域的方案是示例并且不限于此。在图4A和图4B所示的示例中,主机装置200基于TCG协议来设置多个存储区域,但是在其他实施例中,主机装置200可以基于NVMe协议来设置多个存储区域。在这种情况下,可以将多个存储区域称为如上面参考图1描述的多个命名空间。另外,主机装置200可以包括多个核。在这种情况下,多个核中的每一个核可以独立地设置多个存储区域,并且在由多个核中的每一个核设置的多个存储区域之间可以存在重叠存储区域。
在图4C所示的示例中,图示了当主机装置200设置多个存储区域(例如,多个范围RNG11、RNG12、RNG13、RNG14、RNG15、...),并且主机装置200设置多个存储区域(例如,多个命名空间NS1、NS2、NS3、NS4、NS5、...)时,多个范围RNG11、RNG12、RNG13、RNG14、RNG15...与多个命名空间NS1、NS2、NS3、NS4、NS5、…之间的关系。然而,该关系是非限制性示例,并且主机装置200可以设置多个存储区域,使得多个命名空间对应于一个范围,并且还设置多个存储区域,使得多个范围对应于一个命名空间。
图5是图示了图2的存储系统的示例的框图。
在图5中,图示了主机装置和存储装置。为了描述的方便,仅图示了包括在主机装置(例如,图2中的200)中的多个组件当中的主机存储器220。仅图示了包括在存储装置(例如,图3中的400)中的多个组件当中的主机接口440、加密密钥管理器420、加密/解密/命令管理器412、FTL460、AES引擎430和存储器接口480以及多个存储区域RNG11、RNG12、...、RNG1M。
参考图5,主机存储器200可以包括基于快速非易失性存储器(NVMe)协议的提交队列221和完成队列223。主机接口440可以包括提交队列(SQ)门铃寄存器441和完成队列(CQ)门铃寄存器443。
主机装置可以向存储装置发出加密擦除请求、写入请求、读取请求和擦除请求。将描述基于NVMe协议向存储装置提供由主机装置发出的请求的过程。主机装置可以包括单个核,并且提交队列221和完成队列223可以是分配给单个核的输入/输出队列对。
基于NVMe协议,主机装置可以将要发出的请求插入到提交队列221中并且变更提交队列门铃寄存器441的值。例如,主机装置可以在将请求插入到提交队列221中之后增加存储在提交队列门铃寄存器441中的值。
存储装置可以监测提交队列门铃寄存器441。存储装置可以基于提交队列门铃寄存器441的值的变更来获取存储在提交队列221中的请求。
存储装置可以处理所获取的请求。当所获取的请求的处理完成时,存储装置可以变更完成队列门铃寄存器443的值。例如,存储装置可以在所获取的请求的处理完成时增加存储在完成队列门铃寄存器443中的值。
根据该过程,可以将加密擦除请求、写入请求、读取请求和擦除请求从主机装置提供给存储装置。当存储装置从主机装置接收到包括加密擦除请求、写入请求、读取请求和/或擦除请求中的至少一者时,加密/解密/命令管理器412可以基于该请求来参考存储在FTL460中的地址映射信息以及存储在加密密钥管理器420中的地址信息、加密密钥和密钥变更位。
加密/解密/命令管理器412可以基于写入请求和所参考的信息来控制AES引擎430对与写入请求相对应的写入数据执行加密,并且通过存储器接口480将加密后的写入数据提供给非易失性存储器。
加密/解密/命令管理器412可以基于读取请求和所参考的信息来控制AES引擎430对与读取请求相对应的读取数据执行解密,并且通过主机接口440将解密后的读取数据提供给主机装置。
加密/解密/命令管理器412可以基于擦除请求和所参考的信息来擦除与擦除请求相对应的写入数据。加密/解密/命令管理器412可以基于加密擦除请求和所参考的信息来变更与加密擦除请求相对应的加密密钥。
加密/解密/命令管理器412可以基于加密擦除请求、写入请求、读取请求和/或擦除请求来生成控制信号CTLH、CTLE和CTLM中的至少一者。加密/解密/命令管理器412可以基于控制信号CTLH来控制主机接口440,可以基于控制信号CTLE来控制AES引擎430,并且可以基于控制信号CTLM来控制存储器接口480。在一些实施例中,加密/解密/命令管理器412可以生成与加密擦除请求相对应的加密擦除命令以将该加密擦除命令提供给AES引擎430,并且该加密擦除命令可以被包括在控制信号CTLE中。加密/解密/命令管理器412可以生成分别与写入/读取请求相对应的写入/读取命令,并且将写入/读取命令提供给存储器接口480,并且写入/读取命令可以被包括在控制信号中CTLM。
当在预定时间间隔内接收到包括写入请求、读取请求和擦除请求中的至少一者的请求时,加密/解密/命令管理器412可以生成区域访问信号,区域访问信号表示该请求是否是针对在其中执行加密擦除的存储区域。
图6是用于描述在图2的存储装置中执行的加密擦除的图。
在图6中,图示了加密密钥ENC_KEY的变更是否基于读取请求READ、写入请求WRITE、擦除请求ERASE或加密擦除请求CRYPTOGRAPHIC ERASURE而发生。
参考图6,当从主机装置(例如,图2中的200)发出读取请求READ、写入请求WRITE和擦除请求ERASE之一时,可以不变更与对应于所发出的请求的存储区域相关联的加密密钥。然而,当从主机装置发出加密擦除请求CRYPTOGRAPHIC ERASURE时,可以变更与对应于所发出的请求(例如,加密擦除请求)的存储区域相关联的加密密钥。
如上面参考图1描述的,通过基于加密擦除请求来变更第一加密密钥,在与加密擦除请求相对应的存储区域中写入的数据不能再被解密,因此可以保持在与被从存储装置擦除相同的状态。
图7是图示了图1中的接收第一请求的示例的流程图。
参考图1、图5和图7,在接收第一请求(S100)时,存储装置可以监测提交队列门铃寄存器441(S111)。
基于提交队列门铃寄存器411的值的变更,存储装置可以获取存储在主机装置的提交队列221中的第一请求(S113)。
在一些实施例中,第一请求可以是用于对包括在存储装置中的多个存储区域当中的第一存储区域进行加密擦除的请求。
在一些实施例中,还可以以类似于接收第一请求(S100)的方式执行图1中的接收第二请求(S300)。因此,还可以基于类似于S111和S113的方案来将由主机装置发出的第二请求提供给存储装置。
图8是图示了图1中的变更第一加密密钥的示例的流程图。
参考图1、图5和图8,在变更第一加密密钥(S200)时,存储装置可以基于第一请求来变更多个密钥变更位当中的与第一存储区域相对应的第一密钥变更位的值(S210)。
在一些实施例中,第一请求可以是用于对包括在存储装置中的多个存储区域当中的第一存储区域进行加密擦除的请求。
在一些实施例中,多个密钥变更位可以被包括在上面参考图1描述的密钥变更表中,并且将在下面参考图9描述密钥变更表。
在一些实施例中,可以通过变更与第一存储区域相对应的第一密钥变更位的值来表示正在执行加密擦除。
存储装置可以基于第一请求来将多个加密密钥当中的第一加密密钥变更为不同于第一加密密钥的第二加密密钥(S230)。
在一些实施例中,可以通过将第一加密密钥变更为第二加密密钥来表示加密擦除完成。
图9是用于描述与图1中的变更第一加密密钥相关联的密钥变更表的图。
参考图9,密钥变更表可以包括多个地址信息(例如,起始地址STR_LBA和结束地址END_LBA)、多个加密密钥ENC_KEY和多个密钥变更位KEY_CHNG_BIT。多个地址信息中的每一个地址信息可以表示多个存储区域的相应存储区域。每一个加密密钥可以用于对在多个存储区域的相应存储区域中写入的数据进行加密。多个密钥变更位中的每一个密钥变更位可以表示是否正在对多个存储区域的相应存储区域中的数据执行加密擦除。
在一些实施例中,密钥变更位KEY_CHNG_BIT可以具有第一逻辑电平1ST_LGLV和第二逻辑电平2ND_LGLV之一。当密钥变更位KEY_CHNG_BIT对应于第一逻辑电平1ST_LGLV时,可以表示未在执行对应存储区域RANGE的加密擦除,而当密钥变更位KEY_CHNG_BIT对应于第二逻辑电平2ND_LGLV时,可以表示正在执行对应存储区域RANGE的加密擦除。
例如,存储区域RNG11可以由起始地址LBA1和结束地址LBA4表示,并且可以使用第一密钥KEY1来对写入到存储区域RNG11或者从存储区域RNG11读取的数据进行加密或解密。还可以以与写入到存储区域RNG11或者从存储区域RNG11读取的数据类似的方式,对写入到存储区域RNG12、RNG13、RNG14、RNG15、…或者从存储区域RNG12、RNG13、RNG14、RNG15、…读取的数据进行加密或解密。
由于与存储区域RNG11相对应的密钥变更位KEY_CHNG_BIT的值对应于第一逻辑电平1ST_LGLV,所以这可以表示未对存储区域RNG11执行加密擦除。可以以与在存储区域RNG11中相同的方式,表示未对存储区域RNG12和RNG15执行加密擦除,以及正在对存储区域RNG13和RNG14执行加密擦除。
图10是图示了图1中的输出区域访问信号、暂停第二请求的执行和执行第二请求的示例的流程图。
参考图1、图5和图10,存储装置可以确定是否在第一时间间隔内接收到第二请求(S410)。在一些实施例中,第二请求可以与第一请求区分开,并且可以是与用于加密擦除的请求不同的请求。
响应于在第一时间间隔内接收到第二请求(S410:是),存储装置可以确定第二请求是否与第一存储区域相关联(S430)。
在一些实施例中,第一时间间隔可以是从第一时间点到第二时间点的时间间隔。第一时间点可以是接收到第一请求的时间点,而第二时间点可以是在第一加密密钥变更为第二加密密钥之后预定寄存器的值变更完成的时间点。
在一些实施例中,可以基于与第一存储区域相对应的第一地址信息和与第二请求相对应的第二地址信息来确定第二请求是否与第一存储区域相关联。第一地址信息可以被包括在如上面参考图9描述的密钥变更表中。在一些实施例中,第一地址信息和第二地址信息均可以包括起始地址STR_LBA和结束地址END_LBA。在一些实施例中,存储装置可以基于确定的结果来生成区域访问信号。
响应于第二请求与第一存储区域相关联(S430:是),存储装置可以输出表示第二请求与第一存储区域相关联的区域访问信号(S450)。存储装置可以暂停第二请求的执行直到经过了第一时间间隔(S500)。
响应于第二请求与第一存储区域不相关(S430:否),存储装置可以输出表示第二请求与第二存储区域相关联的区域访问信号(S470)。存储装置可以不管是否经过了第一时间间隔都执行第二请求(S600)。
响应于经过了第一时间间隔之后接收到第二请求(S410:否),存储装置可以不执行S430、S450、S470、S500和S600。在这种情况下,存储装置可以根据存储装置所基于的NVMe协议以正常方式执行第二请求。因此,如在S600中一样,存储装置可以不管是否经过了第一时间间隔都执行第二请求。
图11和图12是图示了图1中的确定第二请求是否与第一存储区域相关联的示例的流程图。
参考图1、图10和图11,存储装置可以确定由第二地址信息表示的第二地址范围的至少一部分是否被包括在由第一地址信息表示的第一地址范围中(S431)。
响应于第二地址范围的至少一部分被包括在第一地址范围中(S431:是),存储装置可以确定第二请求与第一存储区域相关联(S436)。响应于第二地址范围的至少一部分未被包括在第一地址范围中(S431:否),存储装置可以确定第二请求与第一存储区域不相关(S437)。
参考图1、图10、图11和图12,第一地址信息可以包括第一起始地址和第一结束地址。第一起始地址和第一结束地址分别可以表示第一存储区域的起始地址和结束地址。第二地址信息可以包括第二起始地址和第二结束地址。第二起始地址和第二结束地址分别可以表示通过第二请求访问的非易失性存储器的起始地址和结束地址。
响应于第二起始地址低于或等于第一起始地址(S432:是)并且第二结束地址高于第一起始地址(S433:是),存储装置可以确定第二请求与第一存储区域相关联(S436)。
响应于第二起始地址高于第一起始地址(S432:否)或者第二结束地址低于或等于第一起始地址(S433:否),以及响应于第二结束地址高于或等于第一结束地址(S434:是)并且第二起始地址低于第一结束地址(S435:是),存储装置可以确定第二请求与第一存储区域相关联(S436)。
响应于第二结束地址低于第一结束地址(S434:否)或者第二起始地址高于或等于第一结束地址(S435:否),存储装置可以确定第二请求与第一存储区域不相关和/或可以确定第二请求与第二存储区域相关联(S437)。
在一些实施例中,即使由第二地址信息表示的第二地址范围未被包括在由第一地址信息表示的第一地址范围中,在特殊情况下,存储装置也可以通过执行S432、S433、S434和S435操作来确定第二请求与第一存储区域相关联。
在一些实施例中,可以执行仅包括S432和S433的S431,并且在一些实施例中,可以执行仅包括S434和S435的S431。
图13和图14是用于描述图1中的暂停第二请求的执行的图。
参考图13,主机装置可以包括单个核CORE0,并且存储装置可以包括多个范围RNG11、RNG12、RNG13、RNG14和RNG15作为多个存储区域。
当主机装置请求对多个范围RNG11、RNG12、RNG13、RNG14和RNG15当中的第三范围RNG13和第四范围RNG14的加密擦除时,可以暂停(或推迟)包括与第三范围RNG13和第四范围RNG14相关联的写入、读取和擦除请求的第一主机请求的执行。
然而,当主机装置请求包括与第一范围RNG11、第二范围RNG12和第五范围RNG15相关联的写入、读取和擦除请求的第二主机请求时,可以不管加密擦除,正常地执行第二主机请求。
参考图13和图14,图示了读取请求READ1、READ2、READ3和READ4以及写入请求WRITE1、WRITE2和WRITE3。请求对其进行加密擦除的范围对应于第三范围RNG13和第四范围RNG14。
当与写入、读取和擦除请求相对应的地址范围包括表示第三范围RNG13和/或第四范围RNG14的地址范围(例如,LBA9、LBA10、LBA11、LBA12、LBA13、LBA14、LBA15和/或LBA16)的一部分时,可以暂停(或推迟)写入、读取和擦除请求的执行。例如,由于与读取请求READ1和READ2以及写入请求WRITE2相对应的地址范围不包括表示第三范围RNG13和第四范围RNG14的地址范围(例如,LBA9至LBA16),所以可以正常地执行读取请求READ1和READ2以及写入请求WRITE2。然而,由于与读取请求READ3和READ4以及写入请求WRITE1和WRITE3相对应的地址范围包括表示第三范围RNG13和第四范围RNG14的地址范围的一部分,所以可以暂停(或推迟)读取请求READ3和READ4以及写入请求WRITE1和WRITE3的执行。
图15和图16是图示了图1中的暂停第二请求的执行的示例的流程图。
参考图15,在图1中的暂停第二请求的执行中,存储装置可以基于区域访问信号来暂停分别对应于写入请求、读取请求和擦除请求的写入命令、读取命令和擦除命令的生成(S510)。写入请求、读取请求和擦除请求可以是用于执行第二请求的请求,并且写入命令、读取命令和擦除命令可以是存储控制器向非易失性存储器发出的命令。
参考图16,在图1中的暂停第二请求的执行中,响应于第二请求包括写入请求(S511:是),存储装置可以基于区域访问信号来暂停与写入请求相对应的写入数据的加密(S513)。
响应于第二请求包括读取请求(S511:否),存储装置可以基于区域访问信号来暂停与读取请求相对应的读取数据的解密(S515)。
在一些实施例中,存储装置可以通过执行S510,通过暂停诸如写入命令、读取命令或擦除命令的命令的生成来暂停第二请求的执行。
在一些实施例中,当从主机装置发出除擦除请求以外的写入请求和读取请求之一时,存储装置可以通过执行S513和S515,通过暂停加密和解密来暂停第二请求的执行。
在一些实施例中,暂停第二请求的执行可以包括以下各项中的至少一项:基于区域访问信号,暂停写入命令、读取命令和/或擦除命令的生成;以及基于区域访问信号,暂停写入数据的加密并且暂停读取数据的解密。写入命令、读取命令和擦除命令分别可以对应于与第二请求相关联的写入请求、读取请求和擦除请求。可以从存储控制器向非易失性存储器发出写入命令、读取命令和擦除命令。写入数据可以响应于第二请求包括写入请求而对应于写入请求,并且读取数据可以响应于第二请求包括读取请求而对应于读取请求。
图17是图示了图1中的第二请求的执行的示例的流程图。
参考图17,在图1中的执行第二请求中,存储装置可以基于区域访问信号来生成与执行第二请求相关联的写入命令、读取命令和擦除命令(S531)。
响应于第二请求包括写入请求(S535:是),存储控制器可以对与写入请求相对应的写入数据进行加密并且将加密后的写入数据写入到非易失性存储器(S537)。
响应于第二请求包括读取请求(S535:否),存储控制器可以对与读取请求相对应的读取数据进行解密并且将解密后的读取数据输出到主机装置(S539)。
图18是图示了根据示例实施例的操作存储系统的方法的流程图。
与图1的操作存储装置的方法相比,图18的操作存储系统的方法可以进一步包括S50操作。因此,将省略相同操作的重复描述。
参考图18,在操作存储系统的方法中,主机装置可以例如基于TCG协议和NVMe协议之一来设置多个存储区域(S50)。
当基于TCG协议来设置多个存储区域时,可以将多个存储区域称为“多个范围”,而当基于NVMe协议来设置多个存储区域时,可以将多个存储区域称为“多个命名空间”。
在一些实施例中,可以请求对多个存储区域当中的一个或更多个存储区域进行上面参考图1描述的加密擦除。在这种情况下,针对请求对其进行加密擦除的存储区域,可以暂停(或推迟)另外的写入请求、读取请求和擦除请求的执行直到经过了第一时间间隔。第一时间间隔可以是足以完成加密擦除的时间间隔。然而,可以正常地执行与除了对其进行请求加密擦除的存储区域以外的存储区域相关联的写入请求、读取请求和擦除请求。
图19是图示了在图18中设置多个存储区域的示例的流程图。
参考图19,在图19中的设置多个存储区域中,第一核可以针对存储装置设置多个第一核存储区域(S51)。第二核可以针对存储装置设置与第一核存储区域的一部分重叠的多个第二核存储区域(S53)。
如上面参考图2描述的,主机装置可以具有双核。在这种情况下,主机装置可以包括第一核和第二核。
在一些实施例中,如在S51和S53中一样,第一核和第二核中的每一个核可以针对存储装置设置多个存储区域,例如,第一核存储区域和第二核存储区域。在这种情况下,第一核和第二核可以共享多个存储区域当中的相同存储区域(例如,一个范围)。因此,第一核可以向重叠存储区域发出上面参考图1描述的第一请求,并且第二核可以向重叠存储区域发出上面参考图1描述的第二请求。在一些实施例中,第一核可以向第二核存储区域发出上面参考图1描述的第一请求,并且第二核可以向第二核存储区域发出上面参考图1描述的第二请求。
图20是用于描述图18中的暂停第二请求的执行的图。
参考图20,主机装置可以包括双核CORE0和CORE1,并且存储装置可以包括多个范围RNG11、RNG12、RNG13、RNG14和RNG15。
当主机装置请求对多个范围RNG11、RNG12、RNG13、RNG14和RNG15当中的第三范围RNG13和第四范围RNG14进行加密擦除时,可以暂停(或推迟)包括与第三范围RNG13和第四范围RNG14相关联的写入、读取和擦除请求的第三主机请求的执行。
然而,当主机装置请求包括与第一范围RNG11、第二范围RNG12和第五范围RNG15相关联的写入、读取和擦除请求的第四主机请求时,可以不管加密擦除,正常地执行第四主机请求。
如上面参考图19描述的,当第一核CORE0请求对第三范围RNG13和第四范围RNG14进行加密擦除时,并且当第二核CORE1在加密擦除未完成的状态下发出与第三范围RNG13和第四范围RNG14相关联的写入、读取和擦除请求中的至少一者时,可以因由第一核CORE0执行的加密擦除而暂停(或推迟)由第二核CORE1发出的写入、读取和擦除请求的执行。然而,可以正常地执行由双核CORE0和CORE1发出的针对除第三范围RNG13和第四范围RNG14以外的范围的写入、读取和擦除请求。
图21是用于描述与图18中的变更第一加密密钥相关联的密钥变更表的图。
参考图21,密钥变更表可以包括多个地址信息(例如,起始地址STR_LBA和结束地址END_LBA)、多个加密密钥ENC_KEY和多个密钥变更位KEY_CHNG_BIT。将省略与图9的配置相同的配置的重复描述。
在一些实施例中,即使存储区域RNG1和存储区域RNG2被主机装置设置为不同存储区域,存储区域RNG1和存储区域RNG2中的数据也可以用同一加密密钥(例如,加密密钥KEY4)来加密或解密。类似地,即使存储区域RNG3和存储区域RNG4被主机装置设置为不同存储区域,存储区域RNG3和存储区域RNG4中的数据也可以用同一加密密钥(例如,加密密钥KEY5)来加密或解密。因此,根据示例实施例的存储装置和存储系统可以用同一加密密钥对不同存储区域中的数据进行加密或解密。在一些实施例中,上面参考图1描述的第一存储区域可以是与单个加密密钥相对应的所有存储区域,例如RNG1和RNG2。在其他实施例中,第一存储区域可以仅是与单个加密密钥相对应的存储区域的一部分,例如RNG1和RNG2之一。
图22是图示应用了根据示例实施例的存储系统的数据中心的框图。
参考图22,数据中心3000可以是收集各种类型的数据并且提供各种服务的设施,并且可以被称为数据存储中心。数据中心3000可以是用于操作搜索引擎和数据库的系统,并且可以是由诸如银行或政府机构的公司使用的计算系统。数据中心3000可以包括应用服务器3100至3100n和存储服务器3200至3200m。可以根据示例实施例不同地选择应用服务器3100至3100n的数目和存储服务器3200至3200m的数目,并且应用服务器3100至3100n的数目和存储服务器3200至3200m的数目可以彼此不同。
应用服务器3100可以包括至少一个处理器3110和至少一个存储器3120,并且存储服务器3200可以包括至少一个处理器3210和至少一个存储器3220。存储服务器3200的操作将作为示例被描述。处理器3210可以控制存储服务器3200的整体操作,并且可以访问存储器3220以运行加载在存储器3220中的指令和/或数据。存储器3220可以包括以下各项中的至少一项:双倍数据速率(DDR)同步动态随机存取存储器(SDRAM)、高带宽存储器(HBM)、混合存储器立方体(HMC)、双列直插存储器模块(DIMM)、傲腾(Optane)DIMM和/或非易失性DIMM(NVDIMM)等。可以根据示例实施例不同地选择包括在存储服务器3200中的处理器3210的数目和存储器3220的数目。在一些示例实施例中,处理器3210和存储器3220可以提供处理器-存储器对。在一些示例实施例中,处理器3210的数目和存储器3220的数目可以彼此不同。处理器3210可以包括单核处理器或多核处理器。存储服务器3200的上述描述可以被类似地应用于应用服务器3100。应用服务器3100可以包括至少一个存储装置3150,并且存储服务器3200可以包括至少一个存储装置3250。在一些示例实施例中,应用服务器3100可以不包括存储装置3150。可以根据示例实施例不同地选择包括在存储服务器3200中的存储装置3250的数目。
应用服务器3100至3100n和存储服务器3200至3200m可以通过网络3300彼此通信。网络3300可以使用光纤通道(FC)或以太网来实现。FC可以是用于相对高速数据传输的介质,并且可以使用提供高性能和/或高可用性的光开关。根据网络3300的接入方案,可以将存储服务器3200至3200m提供为文件存储装置、块存储装置或对象存储装置。
在一些示例实施例中,网络3300可以是仅存储网络或专用于存储的网络,诸如存储区域网络(SAN)。例如,SAN可以是使用FC网络并且根据FC协议(FCP)实现的FC-SAN。又如,SAN可以是使用传输控制协议/网际协议(TCP/IP)网络并且根据iSCSI(基于TCP/IP的SCSI或因特网SCSI)协议实现的IP-SAN。在示例实施例中,网络3300可以是诸如TCP/IP网络的通用或普通网络。例如,可以根据诸如以下协议中的至少一种来实现网络3300:基于以太网的FC(FCoE)、网络附连存储(NAS)、基于结构的快速非易失性存储器(NVMe over Fabrics,NVMe-oF)等。
以下,将基于应用服务器3100和存储服务器3200来描述示例实施例。应用服务器3100的描述可以被应用于另一个应用服务器3100n,并且存储服务器3200的描述可以被应用于另一个存储服务器3200m。
应用服务器3100可以通过网络3300将用户或客户端请求存储的数据存储到存储服务器3200至3200m之一中。另外,应用服务器3100可以通过网络3300从存储服务器3200至3200m之一获得用户或客户端请求读取的数据。例如,可以将应用服务器3100实现为web服务器或数据库管理系统(DBMS)。
应用服务器3100可以通过网络3300访问包括在另一个应用服务器3100n中的存储器3120n或存储装置3150n,和/或可以通过网络3300访问包括在存储服务器3200至3200m中的存储器3220至3220m或存储装置3250至3250m。因此,应用服务器3100可以对存储在应用服务器3100至3100n和/或存储服务器3200至3200m中的数据执行各种操作。例如,应用服务器3100可以运行用于在应用服务器3100至3100n和/或存储服务器3200至3200m之间移动或拷贝数据的命令。可以直接地或通过存储服务器3200至3200m的存储器3220至3220m,将数据从存储服务器3200至3200m的存储装置3250至3250m传送到应用服务器3100至3100n的存储器3120至3120n。例如,通过网络3300传送的数据可以是用于安全或隐私的加密数据。
在存储服务器3200中,接口3254可以提供处理器3210与控制器(CTRL)3251之间的物理连接和/或网络接口卡(NIC)3240与控制器3251之间的物理连接。例如,可以基于直接附连存储(DAS)方案来实现接口3254,在所述DAS方案中存储装置3250与专用电缆直接连接。例如,可以基于诸如以下各种接口方案中的至少一种来实现接口3254:高级技术附件(ATA)、串行ATA(SATA)、外部SATA(e-SATA)、小型计算机系统接口(SCSI)、串行附连SCSI(SAS)、外围组件互连(PCI)、快速PCI(PCIe)、NVMe、IEEE 1394、通用串行总线(USB)、安全数字(SD)卡接口、多媒体卡(MMC)接口、嵌入式MMC(eMMC)接口、通用闪存存储(UFS)接口、嵌入式UFS(eUFS)接口、紧凑闪存(CF)卡接口等。
存储服务器3200还可以包括开关3230和NIC 3240。开关3230可以在处理器3210的控制下选择性地将处理器3210与存储装置3250连接或者可以选择性地将NIC 3240与存储装置3250连接。类似地,应用服务器3100还可以包括开关3130和NIC 3140。
在一些示例实施例中,NIC 3240可以包括网络接口卡、网络适配器等。NIC 3240可以通过有线接口、无线接口、蓝牙接口、光接口等连接到网络3300。NIC 3240还可以包括内部存储器、数字信号处理器(DSP)、主机总线接口等,并且可以通过主机总线接口连接到处理器3210和/或开关3130。可以将主机总线接口实现为接口3254的上述示例之一。在一些示例实施例中,NIC 3240可以与处理器3210、开关3230和存储装置3250中的至少一者集成在一起。
在存储服务器3200至3200m和/或应用服务器3100至3100n中,处理器可以向存储装置3150至3150n和存储装置3250至3250m或存储器3120至3120n和存储器3220至3220m发送命令以编程或者读取数据。例如,数据可以是由纠错码(ECC)引擎纠错的数据。例如,数据可以通过数据总线反转(DBI)或数据屏蔽(DM)来处理,并且可以包括循环冗余码(CRC)信息。例如,数据可以是用于安全或隐私的加密数据。
存储装置3150至3150n和存储装置3250至3250m可以响应于从处理器接收到的读取命令向NAND闪存装置3252至3252m发送控制信号和命令/地址信号。当从NAND闪存装置3252至3252m读取数据时,读取使能(RE)信号可以作为数据输出控制信号被输入并且可以用来将数据输出到DQ总线。可以使用RE信号来生成数据选通信号(DQS)。可以基于写入使能(WE)信号的上升沿或下降沿来将命令和地址信号锁存在页缓冲器中。
控制器3251可以控制存储装置3250的整体操作。在一些示例实施例中,控制器3251可以包括静态随机存取存储器(SRAM)。控制器3251可以响应于写入命令将数据写入到NAND闪存装置3252中,或者可以响应于读取命令从NAND闪存装置3252读取数据。例如,可以从存储服务器3200中的处理器3210、另一个存储服务器3200m中的处理器3210m、或应用服务器3100至3100n中的处理器3110至3110n提供写入命令和/或读取命令。DRAM 3253可以暂时存储(例如,可以缓冲)要写入到NAND闪存装置3252的数据或从NAND闪存装置3252读取的数据。此外,DRAM3253可以存储元数据。元数据可以是由用于管理用户数据的控制器3251或NAND闪存装置3252生成的数据。可以基于根据上面参考图1至图21描述的示例实施例的存储装置来实现存储装置3150至3150n和存储装置3250至3250m,并且存储装置3150至3150n和存储装置3250至3250m中的每一者可以执行根据示例实施例的操作存储装置的方法。
如上所述,即使正在对第一存储区域执行加密擦除,根据示例实施例的存储装置也可以正常地处理与第二存储区域相对应的与加密擦除不相关的第二请求。存储装置可以正常地对第二存储区域执行数据的写入/读取/擦除操作,从而防止因加密擦除而可能发生的存储装置的性能劣化。
本发明构思可以被应用于包括存储装置和存储系统的各种电子装置和系统。例如,本发明构思可以被应用于诸如以下系统:个人计算机(PC)、服务器计算机、数据中心、工作站、移动电话、智能电话、平板计算机、膝上型计算机、个人数字助理(PDA)、便携式多媒体播放器(PMP)、数码相机、便携式游戏机、音乐播放器、摄像机、视频播放器、导航装置、可穿戴装置、物联网(IoT)装置、万物互联(IoE)装置、电子书阅读器、虚拟现实(VR)装置、增强现实(AR)装置、机器人装置、无人机等。
前述内容是对示例性实施例的说明,而不应被解释为对其进行限制。尽管已经描述了一些示例实施例,但是本领域技术人员将容易地领会,在实质上不背离示例实施例的新颖教导和优点的情况下,许多修改在示例实施例中是可能的。因此,所有此类修改都旨在被包括在如权利要求中限定的示例实施例的范围内。因此,应当理解,前述内容是对各种示例实施例的说明,而不应被解释为限于所公开的特定示例实施例,并且对所公开的示例实施例以及其他示例实施例的修改旨在被包括在所附权利要求的范围内。
Claims (20)
1.一种操作包括多个存储区域的存储装置的方法,所述方法包括:
接收用于对所述多个存储区域当中的第一存储区域进行加密擦除的第一请求;
在第一时间间隔期间,基于所述第一请求来变更与所述第一存储区域相对应的第一加密密钥;
接收包括写入请求、读取请求或擦除请求中的至少一者的第二请求;
响应于在所述第一时间间隔内接收到所述第二请求,输出区域访问信号,所述区域访问信号表示所述第二请求是与所述第一存储区域相关联还是与所述多个存储区域当中的不同于所述第一存储区域的第二存储区域相关联;
响应于基于所述区域访问信号确定出所述第二请求与所述第一存储区域相关联,暂停所述第二请求的执行直到经过了所述第一时间间隔;以及
响应于基于所述区域访问信号确定出所述第二请求与所述第二存储区域相关联,执行所述第二请求而不管是否经过了所述第一时间间隔。
2.根据权利要求1所述的方法,
其中,所述存储装置包括与所述加密擦除相关联的密钥变更表;并且
其中,所述密钥变更表包括:
多个地址信息,其中,所述多个地址信息中的每一个地址信息表示所述多个存储区域中的相应存储区域;
多个加密密钥,其中,所述多个加密密钥中的每一个加密密钥用于对写入到所述多个存储区域中的相应存储区域的数据进行加密;以及
多个密钥变更位,其中,所述多个密钥变更位中的每一个密钥变更位表示是否正在对所述多个存储区域中的相应存储区域中的数据执行所述加密擦除。
3.根据权利要求2所述的方法,其中,变更所述第一加密密钥包括:
基于所述第一请求来变更所述多个密钥变更位当中的与所述第一存储区域相对应的第一密钥变更位的值;以及
基于所述第一请求来将所述多个加密密钥当中的所述第一加密密钥变更为不同于所述第一加密密钥的第二加密密钥。
4.根据权利要求1所述的方法,其中,接收所述第一请求包括:
监测所述存储装置中的提交队列门铃寄存器;以及
由所述存储装置基于所述提交队列门铃寄存器的值的变更来获取存储在与所述存储装置连接的主机装置的提交队列中的所述第一请求。
5.根据权利要求1所述的方法,其中,输出所述区域访问信号包括:
基于与所述第一存储区域相对应的第一地址信息和与所述第二请求相对应的第二地址信息,来确定所述第二请求是否与所述第一存储区域相关联;以及
基于所述确定的结果来生成所述区域访问信号。
6.根据权利要求5所述的方法,其中,确定所述第二请求是否与所述第一存储区域相关联包括:
响应于由所述第二地址信息表示的第二地址范围的至少一部分被包括在由所述第一地址信息表示的第一地址范围中,确定所述第二请求与所述第一存储区域相关联。
7.根据权利要求6所述的方法,
其中,所述第一地址信息包括所述第一存储区域的第一起始地址和第一结束地址;
其中,所述第二地址信息包括通过所述第二请求访问的非易失性存储器的第二起始地址和第二结束地址;并且
其中,确定所述第二请求与所述第一存储区域相关联包括:
响应于所述第二起始地址低于或等于所述第一起始地址并且所述第二结束地址高于所述第一起始地址,或者响应于所述第二结束地址高于或等于所述第一结束地址并且所述第二起始地址低于所述第一结束地址,确定所述第二请求与所述第一存储区域相关联。
8.根据权利要求1所述的方法,其中,暂停所述第二请求的执行包括:
基于所述区域访问信号,暂停分别与所述写入请求、所述读取请求和所述擦除请求相对应的写入命令、读取命令和擦除命令的生成,并且
其中,所述写入命令、所述读取命令和所述擦除命令是从所述存储装置中的存储控制器向所述存储装置中的非易失性存储器发出的。
9.根据权利要求1所述的方法,其中,暂停所述第二请求的执行包括:
基于所述区域访问信号,响应于所述第二请求包括所述写入请求而暂停与所述写入请求相对应的写入数据的加密;以及
基于所述区域访问信号,响应于所述第二请求包括所述读取请求而暂停与所述读取请求相对应的读取数据的解密。
10.根据权利要求1所述的方法,其中,执行所述第二请求包括:
基于所述区域访问信号,生成与执行所述第二请求相关联的写入命令、读取命令和擦除命令;
响应于所述第二请求包括所述写入请求,对与所述写入请求相对应的写入数据进行加密并将加密后的所述写入数据写入到所述存储装置中的非易失性存储器;并且
响应于所述第二请求包括所述读取请求,对与所述读取请求相对应的读取数据进行解密并将解密后的所述读取数据输出到与所述存储装置连接的主机装置。
11.根据权利要求1所述的方法,所述方法还包括:
由与所述存储装置连接的主机装置基于TCG协议或NVMe协议之一来设置所述多个存储区域,所述TCG协议即可信计算组协议,所述NVMe协议即快速非易失性存储器协议。
12.根据权利要求11所述的方法,其中,所述多个存储区域包括基于所述TCG协议的多个范围或基于所述NVMe协议的多个命名空间中的一者。
13.根据权利要求12所述的方法,其中,所述第一存储区域包括所述多个存储区域当中的一个或更多个存储区域。
14.根据权利要求1所述的方法,其中,所述第一时间间隔是从第一时间点到第二时间点的时间间隔,所述第一时间点是接收到所述第一请求的时间点,而所述第二时间点是在所述第一加密密钥被变更为第二加密密钥之后所述存储装置中的完成队列门铃寄存器中的值变更完成的时间点。
15.一种操作存储系统的方法,所述存储系统包括基于NVMe协议彼此连接的主机装置和存储装置,所述NVMe协议即快速非易失性存储器协议,所述存储装置包括多个存储区域,所述方法包括:
由所述主机装置发出用于对所述多个存储区域当中的第一存储区域进行加密擦除的第一请求;
由所述存储装置在第一时间间隔期间基于所述第一请求来变更与所述第一存储区域相对应的第一加密密钥;
由所述主机装置发出包括写入请求、读取请求或擦除请求中的至少一者的第二请求;
响应于在所述第一时间间隔内接收到所述第二请求,由所述存储装置输出区域访问信号,所述区域访问信号表示所述第二请求是与所述第一存储区域相关联还是与所述多个存储区域当中的不同于所述第一存储区域的第二存储区域相关联;
响应于基于所述区域访问信号确定出所述第二请求与所述第一存储区域相关联,由所述存储装置暂停所述第二请求的执行直到经过了所述第一时间间隔;以及
响应于基于所述区域访问信号确定出所述第二请求与所述第二存储区域相关联,由所述存储装置执行所述第二请求而不管是否经过了所述第一时间间隔。
16.根据权利要求15所述的方法,其中,输出所述区域访问信号包括:
基于与所述第一存储区域相对应的第一地址信息和与所述第二请求相对应的第二地址信息,来确定所述第二请求是否与所述第一存储区域相关联;以及
基于所述确定的结果来生成所述区域访问信号。
17.根据权利要求15所述的方法,所述方法还包括:
由所述主机装置基于所述NVMe协议来设置所述多个存储区域。
18.根据权利要求17所述的方法,
其中,所述主机装置包括第一核和第二核;并且
其中,设置所述多个存储区域包括:
由所述第一核针对所述存储装置设置多个第一核存储区域;以及
由所述第二核针对所述存储装置设置与所述第一核存储区域的一部分重叠的多个第二核存储区域。
19.根据权利要求18所述的方法,
其中,发出所述第一请求包括:
由所述第一核向所述第二核存储区域发出所述第一请求,并且其中,发出所述第二请求包括:
由所述第二核向所述第二核存储区域发出所述第二请求。
20.一种操作包括多个存储区域的存储装置的方法,所述方法包括:
接收用于对所述多个存储区域当中的第一存储区域进行加密擦除的第一请求;
在第一时间间隔期间,基于所述第一请求来变更与所述第一存储区域相对应的第一加密密钥;
接收包括写入请求、读取请求或擦除请求中的至少一者的第二请求;
响应于在所述第一时间间隔内接收到所述第二请求,输出区域访问信号,所述区域访问信号表示所述第二请求是与所述第一存储区域相关联还是与所述多个存储区域当中的不同于所述第一存储区域的第二存储区域相关联;
响应于基于所述区域访问信号确定出所述第二请求与所述第一存储区域相关联,暂停所述第二请求的执行直到经过了所述第一时间间隔;以及
响应于基于所述区域访问信号确定出所述第二请求与所述第二存储区域相关联,执行所述第二请求而不管是否经过了所述第一时间间隔,
其中,暂停所述第二请求的执行包括以下至少一项:
基于所述区域访问信号,暂停分别与所述写入请求、所述读取请求和所述擦除请求相对应的写入命令、读取命令和擦除命令的生成,所述写入请求、所述读取请求和所述擦除请求与所述第二请求相关联并且是从所述存储装置中的存储控制器向所述存储装置中的非易失性存储器发出的;或者
基于所述区域访问信号,响应于所述第二请求包括所述写入请求而暂停与所述写入请求相对应的写入数据的加密,以及响应于所述第二请求包括所述读取请求而暂停与所述读取请求相对应的读取数据的解密。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0140749 | 2021-10-21 | ||
KR1020210140749A KR20230056920A (ko) | 2021-10-21 | 2021-10-21 | 스토리지 장치의 구동 방법 및 이를 이용한 스토리지 시스템의 구동 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116009765A true CN116009765A (zh) | 2023-04-25 |
Family
ID=86019835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211184956.2A Pending CN116009765A (zh) | 2021-10-21 | 2022-09-27 | 操作存储装置的方法以及使用该方法操作存储系统的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US12032492B2 (zh) |
KR (1) | KR20230056920A (zh) |
CN (1) | CN116009765A (zh) |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0983506A (ja) | 1995-09-13 | 1997-03-28 | Mitsubishi Electric Corp | 暗号通信装置および暗号通信方法 |
US20070110236A1 (en) | 2004-10-29 | 2007-05-17 | Pioneer Corporation | Encryption/recording device and method |
JP5134894B2 (ja) | 2007-09-07 | 2013-01-30 | 株式会社日立製作所 | ストレージ装置及び暗号鍵変更方法 |
US9418220B1 (en) * | 2008-01-28 | 2016-08-16 | Hewlett Packard Enterprise Development Lp | Controlling access to memory using a controller that performs cryptographic functions |
JP5595965B2 (ja) * | 2011-04-08 | 2014-09-24 | 株式会社東芝 | 記憶装置、保護方法及び電子機器 |
FR2980285B1 (fr) * | 2011-09-15 | 2013-11-15 | Maxim Integrated Products | Systemes et procedes de gestion de cles cryptographiques dans un microcontroleur securise |
US20130173931A1 (en) | 2011-12-30 | 2013-07-04 | Yonatan Tzafrir | Host Device and Method for Partitioning Attributes in a Storage Device |
US20140137119A1 (en) * | 2012-11-15 | 2014-05-15 | Elwha LLC, a limited liability corporation of the State of Delaware | Multi-core processing in memory |
US10255200B2 (en) | 2015-02-25 | 2019-04-09 | Western Digital Technologies, Inc. | Data storage device and method of operation using multiple security protocols |
US10003585B2 (en) | 2016-08-02 | 2018-06-19 | Samsung Electronics Co., Ltd. | Systems, devices, and methods for preventing unauthorized access to storage devices |
JP6892361B2 (ja) | 2017-09-21 | 2021-06-23 | キオクシア株式会社 | ストレージ装置 |
KR102641521B1 (ko) * | 2018-02-22 | 2024-02-28 | 삼성전자주식회사 | 키-밸류 스토리지 장치 및 이의 동작 방법 |
US10922011B2 (en) * | 2018-04-12 | 2021-02-16 | Samsung Electronics Co., Ltd. | Controllers configured to perform secure deletion, key-value storage devices including said controllers, and methods of operation thereof |
JP7109992B2 (ja) * | 2018-05-22 | 2022-08-01 | キオクシア株式会社 | メモリシステムおよび制御方法 |
JP2020115250A (ja) * | 2019-01-17 | 2020-07-30 | キオクシア株式会社 | ストレージ装置およびコマンド処理方法 |
JP7187362B2 (ja) * | 2019-03-15 | 2022-12-12 | キオクシア株式会社 | ストレージ装置及び制御方法 |
US11595204B2 (en) * | 2019-06-04 | 2023-02-28 | EMC IP Holding Company LLC | Adaptive re-keying in a storage system |
US10868679B1 (en) * | 2019-07-25 | 2020-12-15 | Cypress Semiconductor Corporation | Nonvolatile memory device with regions having separately programmable secure access features and related methods and systems |
US11893126B2 (en) * | 2019-10-14 | 2024-02-06 | Pure Storage, Inc. | Data deletion for a multi-tenant environment |
KR20210092361A (ko) | 2020-01-15 | 2021-07-26 | 삼성전자주식회사 | 스토리지 장치 및 그것의 동작 방법 |
KR20220020636A (ko) * | 2020-08-12 | 2022-02-21 | 삼성전자주식회사 | 메모리 컨트롤러, 상기 메모리 컨트롤러를 포함하는 메모리 장치 및 상기 메모리 컨트롤러의 동작 방법 |
-
2021
- 2021-10-21 KR KR1020210140749A patent/KR20230056920A/ko active Search and Examination
-
2022
- 2022-07-29 US US17/816,249 patent/US12032492B2/en active Active
- 2022-09-27 CN CN202211184956.2A patent/CN116009765A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20230056920A (ko) | 2023-04-28 |
US20230128638A1 (en) | 2023-04-27 |
US12032492B2 (en) | 2024-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9037778B2 (en) | Method and apparatus to interface semiconductor storage device and host to provide performance throttling of semiconductor storage device | |
TWI737088B (zh) | 主機型快閃記憶體維護技術 | |
US11762572B2 (en) | Method of operating storage device and method of operating storage system using the same | |
KR20140128819A (ko) | 아토믹 라이트 방법 | |
US20170345456A1 (en) | Programmable error-correcting code for a host device | |
US10642531B2 (en) | Atomic write method for multi-transaction | |
US11550906B2 (en) | Storage system with separated RPMB sub-systems and method of operating the same | |
US12007884B2 (en) | Method of allocating and protecting memory in computational storage device, computational storage device performing the same and method of operating storage system using the same | |
US11863664B2 (en) | Method of performing key exchange for security operation in storage device and method of performing authority transfer in storage device using the same | |
US12032492B2 (en) | Method of operating storage device and method of operating storage system using the same | |
US20170344425A1 (en) | Error-laden data handling on a storage device | |
US11093180B2 (en) | RAID storage multi-operation command system | |
US20230185470A1 (en) | Method of operating memory system and memory system performing the same | |
KR102720140B1 (ko) | 분리된 rpmb 기능을 가지는 스토리지 시스템 및 그 구동 방법 | |
JP6297000B2 (ja) | 検索装置 | |
US11914879B2 (en) | Storage controller and storage system comprising the same | |
US20240289284A1 (en) | Storage controller, storage device having the same, and method of operating the same | |
KR102477051B1 (ko) | 네트워크를 이용한 스토리지 장치의 데이터 복구 방법 및 이를 수행하는 스토리지 장치 | |
US12118246B2 (en) | Method of operating storage device for retention enhancement and storage device performing the same | |
US20240256130A1 (en) | Method of operating storage device using host request bypass and storage device performing the same | |
TW202321926A (zh) | 儲存裝置及其操作方法、以及控制器的操作方法 | |
KR20220147292A (ko) | 메타 데이터 관리를 수행하는 스토리지 장치 및 이의 동작 방법 | |
CN116108442A (zh) | 安全处理器及其操作方法和包括该安全处理器的存储装置 | |
CN116127479A (zh) | 存储设备及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |