CN111177807A - 数据储存装置、操作该装置的方法及具有该装置的储存系统 - Google Patents
数据储存装置、操作该装置的方法及具有该装置的储存系统 Download PDFInfo
- Publication number
- CN111177807A CN111177807A CN201910908810.XA CN201910908810A CN111177807A CN 111177807 A CN111177807 A CN 111177807A CN 201910908810 A CN201910908810 A CN 201910908810A CN 111177807 A CN111177807 A CN 111177807A
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- controller
- read
- buffer memory
- 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
- 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
- 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
-
- 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/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- 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/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- 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
- G06F2212/1024—Latency reduction
-
- 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/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- 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/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
-
- 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/40—Specific encoding of data in memory or cache
- G06F2212/402—Encrypted data
-
- 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/60—Details of cache memory
- G06F2212/6022—Using a prefetch buffer or dedicated prefetch cache
-
- 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
数据储存装置、操作该装置的方法及具有该装置的储存系统。一种数据储存装置包括储存器、缓冲存储器和控制器。控制器被配置为响应于从主机装置发送的请求而控制向储存器的数据输入和从储存器的数据输出中的至少一个。控制器还被配置为接收从主机装置发送并高速缓存在缓冲存储器中的写入数据,对写入数据进行加密,并将经加密的写入数据存储在储存器中。控制器还被配置为接收从储存器读取并高速缓存在缓冲存储器中的读取数据,对读取数据进行解密,并将经解密的读取数据提供给主机装置。
Description
技术领域
各种实施方式总体涉及集成半导体装置,更具体地,涉及数据储存装置、操作数据储存装置的方法以及包括数据储存装置的储存系统。
背景技术
数据储存装置的应用领域正变得越来越多样化。与此同时,关于存储数据安全性的需求和重要性也在增加。因此,正在研究仅允许授权用户访问储存介质中所存储的数据的安全技术,该储存介质不仅包括用于商业目的的大型储存介质,而且包括用于私人目的的个人储存介质。理想情况下,此类安全技术防止数据由于未经批准的访问而被更改、删除或泄露。
为了数据安全性,可以在将数据存储在储存介质中之前对数据进行加密,并且从储存介质读取的数据可以在被提供给用户之前进行解密。从储存介质分别输入和输出的数据的加密和解密与包括储存介质的系统的性能密切相关。
发明内容
在一个实施方式中,一种数据储存装置可以包括储存器、缓冲存储器和控制器。所述控制器被配置为响应于从主机装置发送的请求而控制向所述储存器的数据输入和从所述储存器的数据输出中的至少一个。所述控制器还被配置为接收从所述主机装置发送并高速缓存在所述缓冲存储器中的写入数据,对所述写入数据进行加密,并将经加密的写入数据存储在所述储存器中。所述控制器还被配置为接收从所述储存器读取并高速缓存在所述缓冲存储器中的读取数据,对所述读取数据进行解密,并将经解密的读取数据提供给所述主机装置。
在一个实施方式中,一种数据储存装置可以包括储存器、缓冲存储器和控制器。所述控制器被配置为使明文写入数据通过主机装置以明文格式高速缓存在所述缓冲存储器中,从所述缓冲存储器接收所述明文写入数据,并对所述明文写入数据进行加密。所述控制器还被配置为使读取数据通过所述储存器以加密状态高速缓存在所述缓冲存储器中,从所述缓冲存储器接收经加密的读取数据,对所述经加密的读取数据进行解密,并将经解密的读取数据发送到所述主机装置。
在一个实施方式中,一种操作数据储存装置的方法,该数据储存装置包括储存器、缓冲存储器和控制器,所述控制器被配置为响应于从主机装置发送的请求而控制向所述储存器的数据输入和从所述储存器的数据输出中的至少一个,该方法包括由所述控制器接收从所述主机装置发送并高速缓存在所述缓冲存储器中的写入数据,对所述写入数据进行加密,并将经加密的写入数据存储在所述储存器中。该方法还包括由所述控制器接收从所述储存器读取并高速缓存在所述缓冲存储器中的读取数据,对所述读取数据进行解密,并将经解密的读取数据提供到所述主机装置。
在一个实施方式中,一种数据储存系统可以包括:主机装置;以及数据储存装置,所述数据储存装置包括储存器、缓冲存储器和控制器。所述控制器被配置为响应于从所述主机装置发送的请求而控制向所述储存器的数据输入和从所述储存器的数据输出中的至少一个。所述控制器可以接收从所述主机装置发送并高速缓存在所述缓冲存储器中的写入数据,对所述写入数据进行加密,并将经加密的写入数据存储在所述储存器中。所述控制器还可以接收从所述储存器读取并高速缓存在所述缓冲存储器中的读取数据,对所述读取数据进行解密,并将经解密的读取数据提供给所述主机装置。
附图说明
图1示出了例示根据一个实施方式的数据储存装置的配置的图。
图2示出了例示根据一个实施方式的存储器装置的配置的图。
图3示出了例示根据一个实施方式的控制器的配置的图。
图4A和图4B示出了根据一个实施方式的用于描述加密方案的图。
图5至图7示出了根据实施方式的用于描述操作数据储存装置的方法的信令图。
图8示出了例示根据一个实施方式的控制器的配置的图。
图9示出了例示根据一个实施方式的数据储存系统的图。
图10和图11示出了例示根据一个实施方式的数据处理系统的图。
图12示出了例示根据一个实施方式的包括数据储存装置的网络系统的图。
图13示出了例示根据一个实施方式的数据储存装置中所包括的非易失性存储器装置的框图。
具体实施方式
在下文中,参照附图详细描述用于本公开的有限数量的可能实施方式。
图1示出了例示根据一个实施方式的数据储存装置10的配置的图。
参照图1,数据储存装置10可以包括控制器110、储存器120和缓冲存储器130。
控制器110可以响应于主机装置的请求而控制储存器120。例如,控制器110可以响应于来自主机装置的编程(写入)请求而将数据编程到储存器120。此外,控制器110可以响应于来自主机装置的读取请求而将储存器120中所存储的数据提供给主机装置。
储存器120可以在控制器110的控制下存储数据或输出所存储的数据。储存器120可以被配置为易失性存储器装置或非易失性存储器装置。在实施方式中,储存器120可以使用从诸如电可擦除可编程ROM(EEPROM)、NAND闪存、NOR闪存、相变RAM(PRAM)、电阻RAM(ReRAM)、铁电RAM(FRAM)和自旋转移力矩磁RAM(STT-MRAM)之类的各种非易失性存储器元件当中选择的存储器元件来实现。储存器120可以包括多个存储器装置1220-0至1220-n,多个存储器装置1220-0至1220-n中的每一个包括多个管芯Die 0至Die n、多个芯片或多个封装件。多个存储器装置1220-0至1220-n中的每一个可以通过多个通道CH0至CHn的相应通道与控制器110联接。通道CH0至CHn中的每一个可以与一个或更多个存储器装置联接。联接到每个通道的存储器装置可以联接到相同的信号总线和相同的数据总线。
储存器120可以由每个能够存储一比特数据的单级单元形成,或者由每个能够存储多比特数据的多级单元形成。
当数据储存装置10联合主机装置执行包括例如写入数据或读取数据的操作的一系列操作时,缓冲存储器130用作能够临时存储数据的储存空间。虽然图1例示了缓冲存储器130设置在控制器110的外部,但是缓冲存储器130可以设置在控制器110的内部。
图2示出了例示存储器装置1220-0至1220-n当中的存储器装置1220的配置的图。
多个存储器装置1220-0至1220-n中的每一个可以被划分为固件代码储存区FW、映射数据储存区MAP和用户数据储存区User data。固件代码和映射数据可以统称为系统数据。
被提供为存储作为用于管理储存器120的程序代码的固件代码(二进制文件)的固件代码储存区FW和被提供为存储映射数据的映射数据储存区MAP可以是具有安全性和完整性的区域,使得它们对于用户是不可访问的,其中所述映射数据是要由主机装置管理的逻辑地址与储存器120中的物理地址之间的映射信息。
从主机装置提供的用户数据可以存储在用户数据储存区User data中。
在写入操作期间,从主机装置提供的数据可以通过控制器110高速缓存在缓冲存储器130中,然后被写入存储器装置1220-0至1220-n。在读取操作期间,从存储器装置1220-0至1220-n读取的数据可以被高速缓存在缓冲存储器130中,然后通过控制器110提供给主机装置。
根据本公开的实施方式,控制器110可以包括:加密电路1190,其包括至少一个编码器1191;以及解密电路1130,其包括至少一个解码器1131。在实施方式中,加密电路1190可以设置在提供用于在控制器110和储存器120之间进行信号交换的通信通道的存储器接口控制器中。解密电路1130可以设置在提供主机装置与数据储存装置10之间的通信通道的主机接口控制器中。下面参照图3描述存储器接口控制器和主机接口控制器的详细描述。
在加密电路1190和解密电路1130分别包括多个编码器1191和多个解码器1131的情况下,当多个编码器1191和多个解码器1131并行操作时,可以提供最大吞吐量。在加密电路1190包括并行操作的多个编码器1191的情况下,多个通道CH0至CHn可以共享单个加密电路1190,从而可以使数据储存装置10的尺寸最小化。
此外,当每个编码器1191以流水线方案处理加密过程时,可以使操作时延最小化。
在实施方式中,加密电路1190的带宽可以与储存器120的带宽同步。解密电路1130的带宽可以与主机装置的带宽同步。
在实施方式中,如果主机装置的带宽与储存器120的带宽之差的绝对值小于预设参考值,则加密电路1190和解密电路1130的带宽可以与主机装置的带宽同步。
这里使用的关于参数的术语“预设”(诸如预设参考值、预设组块基础和预设条件)意味着参数的值是在过程或算法中被使用之前确定的。对于一些实施方式,参数的值是在过程或算法开始之前确定的。在其它实施方式中,参数的值是在过程或算法期间但是在过程或算法中使用该参数之前确定的。
在实施方式中,如果储存器120的带宽比主机装置的带宽大预设参考值或更多,则可以通过将加密数据缓冲到可设置在存储器接口控制器中的缓冲器,然后将加密数据输出到储存器120,来克服由于带宽差异导致的操作定时不匹配情况。
在实施方式中,加密电路1190可以被配置为接收来自主机装置的高速缓存在缓冲存储器130中的写入数据,对写入数据进行加密,并将经加密的写入数据存储在储存器120中。解密电路1130可以被配置为接收从储存器120读取并高速缓存在缓冲存储器130中的读取数据,对读取数据进行解密,并将经解密的读取数据提供给主机装置。这里,写入数据可以被划分为作为预设尺寸单元的组块(chunk),并且高速缓存在缓冲存储器130中。加密电路1190可以以组块为基础对写入数据进行加密。划分成组块的写入数据可以在多个编码器中并行加密。
在另一实施方式中,控制器110可以被配置为使得写入数据通过主机装置以明文格式(plaintext format)高速缓存在缓冲存储器130中,并且如果加密电路1190接收明文写入数据并对其进行加密,则将经加密的写入数据存储在储存器120中。另外,控制器110可以被配置为使得读取数据通过储存器120以加密状态高速缓存在缓冲存储器130中,并且如果解密电路1130接收到加密的读取数据并对其进行解密,则将经解密的读取数据发送到主机装置。
在另一实施方式中,加密电路1190可以紧接在将写入数据存储在储存器120中之前对写入数据进行加密。解密电路1130可以紧接在读取数据被发送给主机装置之前对读取数据进行解密。
在控制器110中生成而不是从主机装置提供的诸如映射数据之类的数据也可以临时存储在缓冲存储器130中,然后由加密电路1190加密,再然后存储在储存器120中。
一方面,在启动数据储存装置10的操作期间,包括映射数据和固件代码的系统数据可以从储存器120以加密状态读取并加载到缓冲存储器130中。加载到缓冲存储器130中的系统数据可以被发送到解密电路1130并由解密电路1130解密,然后存储在控制器110的内部存储器中,以提供数据储存装置10的操作所需的信息。
图3示出了例示根据一个实施方式的控制器的配置的图。
参照图3,根据实施方式,控制器110可以包括中央处理单元111、主机接口控制器(HIL)113、ROM 1151、RAM 1153、缓冲器管理器117和存储器接口控制器(FIL)119。
中央处理单元111可以被配置为将储存器120的数据读取操作或数据写入操作所需的各种控制信息发送到主机接口控制器113、RAM 1153、缓冲器管理器117和存储器接口控制器119。在实施方式中,中央处理单元111可以根据为数据储存装置10的各种操作所提供的固件来操作。固件可以存储在储存器120中,并且在启动数据储存装置10的操作期间加载到控制器110的RAM 1153中。
在实施方式中,中央处理单元111可以执行用于执行管理储存器120的垃圾收集操作、地址映射操作、耗损均衡操作等的闪存转换层(FTL)的功能、检查和校正从储存器120读出的数据中的错误的错误检查和校正(ECC)功能等。
主机接口控制器113可以提供被配置为在中央处理单元111的控制下从主机装置接收命令和时钟信号并且控制数据的输入或输出的通信通道。具体地,主机接口控制器113可以提供主机装置和数据储存装置10之间的物理连接。此外,主机接口控制器113可以与主机装置的总线格式相对应地提供与数据储存装置10的接口连接。主机装置的总线格式可以包括诸如安全数字协议、通用串行总线(USB)协议、多媒体卡(MMC)协议、嵌入式MMC(eMMC)协议、个人计算机存储卡国际协会(PCMCIA)协议、并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机系统接口(SCSI)协议、串行连接SCSI(SAS)协议、外围组件互连(PCI)协议、PCI快速(PCI-E)协议、通用闪存(UFS)协议等的标准接口协议中的至少一种。
主机接口控制器113可以包括包含至少一个解码器1131的解密电路1130。解密电路1130可以接收从储存器120读取并高速缓存在缓冲存储器130中的加密数据并进行解密。从储存器120读取的加密数据可以是用户数据或系统数据(例如,映射数据、固件代码等)。
ROM 1151可以存储控制器110的操作所需的程序代码(例如,固件或软件)、程序代码要使用的代码数据等。
RAM 1153可以存储控制器110的操作所需的数据或者控制器110生成的数据。
中央处理单元111可以在启动数据储存装置10的操作期间将存储在储存器120或ROM 1151中的启动代码加载到RAM 1153中,从而控制启动操作。
缓冲器管理器117可以被配置为管理缓冲存储器130的使用状态。在实施方式中,缓冲器管理器117可以将缓冲存储器130划分为多个区域(插槽)并分配每个区域临时存储数据或者对每个区域解除分配。术语“分配区域”可以意味着数据被存储在相应区域中,或者存储在相应区域中的数据是有效的。术语“对区域解除分配”可以意味着没有数据存储在相应区域中,或者存储在相应区域中的数据是无效的。
存储器接口控制器119可以提供用于控制器110和储存器120之间的信号交换的通信通道。存储器接口控制器119可以在中央处理单元111的控制下将临时存储在缓冲存储器130中的数据写入储存器120。另外,存储器接口控制器119可以将从储存器120读出的数据发送给缓冲存储器130以临时存储数据。
存储器接口控制器119可以包括包含至少一个编码器1191的加密电路1190。加密电路1190可以接收从主机装置提供并高速缓存在缓冲存储器130中的写入数据或者在数据储存装置10的操作期间在控制器110中自生成的系统数据,并对以上数据进行加密。在实施方式中,主机装置的数据可以以基于预定单元划分的组块为单位高速缓存在缓冲存储器130中。加密电路1190可以以组块为单位对数据加密。在加密电路1190包括多个编码器的情况下,加密电路1190可以对多个数据组块并行地加密。
从主机装置提供的写入数据可以是用户数据或固件更新信息。从控制器110自生成的系统数据可以是例如映射数据。
在实施方式中,加密电路1190和解密电路1130可以采用从诸如数据加密标准(DES)算法、3DES算法、高级加密标准(AES)算法和SEED算法之类的块加密算法当中选择的加密算法,但是本公开不限于此。
图4A和图4B示出了根据一个实施方式的用于描述加密方案的图。
图4A示出了根据实施方式的用于描述加密方法的图,并且例示了基于AES的加密算法。
参照图4A,编码器1191可以包括预轮PR和N轮Round x n。
在预轮PR中,可以执行明文数据Input(输入)与初始轮密钥Initial key(初始密钥)的逻辑组合。初始轮密钥可以是与加密密钥相同的密钥。可以通过第一选择电路SLT1选择预轮PR的输出数据或作为每一轮Round的执行结果而生成的数据,并将其作为后续轮的输入数据提供。
在每一轮Round中,可以对输入信号(前一轮的加密操作结果)执行混淆操作和扩散操作,此后输入信号可以与每一轮的固有轮密钥组合。混淆操作意味着使连续轮的数据块之间的关系混淆。扩散操作意味着扩散数据块的模式。
每一轮可以包括替换电路Byte Sub(字节替换)、扩散电路Shift Row(移位行)、混合电路Mix Column(混合列)、轮确定电路SLT2和组合电路Add key(加密钥)。对于实施方式,最后一轮不包括混合电路Mix Column。
替换电路Byte Sub可以对数据块的字节进行加扰,使得输入数据不具有线性结构。
扩散电路Shift Row可以被配置为使数据块的每行移位一定数量。
混合电路Mix Column可以将数据块的每列的元素混合。
可以通过替换电路、扩散电路和混合电路对输入数据执行混淆操作和扩散操作。
组合电路Add key可以例如通过XOR(异或)逻辑运算将数据块的元素(字节)与轮密钥组合。
另外,解密操作可以是反向执行图4A的加密操作的操作。
如上所述,加密密钥用于加密和解密操作。对于实施方式,加密操作和解密操作要使用的密钥可以选择性地存储在任何储存空间中,只要确保向该储存空间可靠地供电即可。
为了向编码器1191或解码器1131提供加密密钥,可以使用密钥管理表。
图4B示出了例示密钥管理表的示例的图。
参照4B,密钥管理表可以包括密钥索引表和密钥表。密钥管理表可以存储在从保持电力供应的储存空间中所选择的空间中,并且可以被配置为编码器1191和解码器1131可访问。
密钥索引表可以存储关于逻辑地址信息LBA和与逻辑地址信息LBA相对应的密钥索引的信息。
当逻辑地址信息被提供给密钥索引表时,可以输出与其对应的密钥索引。
密钥表可以存储关于各个密钥索引的加密算法和加密密钥的信息。当从密钥索引表中提取出与逻辑地址信息LBA对应的密钥索引时,可以从密钥表提供与密钥索引对应的算法和加密密钥。编码器1191或解码器1131可以基于从密钥表提供的算法和加密密钥来对数据进行加密或解密。
可以从XTS模式(称为具有调整和密文窃取的xor-encrypt-xor(XEX)加密模式或具有密文窃取的基于XEX的调整码本模式)、电子代码块(ECB)模式、密码块链接(CBC)模式、密码反馈(CFB)模式、输出反馈(OFB)模式和计数器(CTR)模式当中选择AES的加密算法,即,加密模式,但是不限于这些模式。
在实施方式中,数据储存装置10的逻辑或物理空间可以被划分为作为多个虚拟空间的分区。针对各个分区可以使用不同的加密算法和加密密钥。
无论要使用的加密模式和作为加密电路和解密电路所采用的配置如何,用户数据或系统数据都可以以明文格式被发送到存储器接口控制器,由加密电路加密,并存储在储存器120中。此外,从储存器120读取的数据可以以加密状态被发送到主机接口控制器,由解密电路解密,并发送到主机装置。
图5至图7示出了根据一个实施方式的用于描述操作数据储存装置的方法的信令图。
图5例示了将从主机装置提供的数据编程到储存器120的方法的示例。
参照图5,当主机装置向控制器110请求写入操作时(S101),控制器110可以执行将数据存储在储存器120中的一系列操作。
在S101,主机装置可以通过提供明文写入数据来请求写入操作。由主机装置提供的写入数据可以是要更新的用户数据或系统数据(例如,固件代码)。写入数据可以以明文格式与地址信息一起被发送。
控制器110的主机接口控制器(HIL)113可以将从主机装置提供的明文写入数据高速缓存在缓冲存储器130中(S103)。在实施方式中,主机接口控制器(HIL)113可以以预定单位为基础将写入数据划分为组块数据并且将写入数据临时存储在缓冲存储器130中,但是本公开不限于此。
主机接口控制器(HIL)113可以向存储器接口控制器(FIL)119请求写入操作(S105)。
存储器接口控制器(FIL)119可以以组块为基础从缓冲存储器130接收明文写入数据(S107),并且根据与地址信息对应的算法和加密密钥对明文写入数据进行加密(S109)。另外,存储器接口控制器(FIL)119可以将经加密的写入数据发送到储存器120,并且向储存器120请求写入经加密的写入数据的操作(S111)。
储存器120可以从存储器接口控制器(FIL)119接收经加密的写入数据,并将经加密的写入数据编程到与地址信息对应的存储器单元(S113)。
因此,从主机装置提供的明文写入数据可以以明文格式发送到存储器接口控制器119,并在存储器接口控制器119中的加密电路1190中进行加密,然后存储在储存器120中。
图6例示了向主机装置提供从储存器读取的数据的方法的示例。
当主机装置将读取请求与地址信息一起发送,以向控制器110的主机接口控制器(HIL)113请求与地址信息一起的读取操作时(S201),主机接口控制器(HIL)113可以将地址信息和读取请求发送给存储器接口控制器(FIL)119(S203)。
存储器接口控制器(FIL)119可以向储存器120发送根据读取请求的地址信息(S205)。响应于此,储存器120可以从由相应地址信息所指示的存储器单元读取数据(S207)。
由储存器120读取的数据可以是加密状态的数据。读取数据可以以加密状态发送给存储器接口控制器(FIL)119(S209)。
存储器接口控制器(FIL)119可以将加密状态的读取数据临时存储在缓冲存储器130中(S211)。
此后,主机接口控制器(HIL)113可以从缓冲存储器130读取经缓冲的读取数据(S213)并且对读取数据进行解密(S215)。
由主机接口控制器(HIL)113解密的明文读取数据可以被提供给主机装置(S217)。
响应于主机装置的请求而读取并且解密然后被提供给主机装置的数据可以是用户数据,但本公开不限于此。
图7例示了从储存器120读取用于数据储存装置的操作的数据并对数据进行解密的方法的示例,以及根据储存器120的操作将控制器110中自生成的数据编程到储存器120的方法的示例。
为了操作数据储存装置10,当驱动数据储存装置10时,可以从储存器120读取预设系统数据并将其提供给控制器110。
这里,系统数据可以包括:固件,其用于管理数据储存装置10;映射表,其定义了由主机装置管理的逻辑地址与构成储存器120的物理空间的物理地址之间的关系;以及元数据,其指示构成储存器120的物理空间的管理状态。
参照图7,当向数据储存装置10供电时(S301),预设系统数据可以从储存器120输出到存储器接口控制器119(S303)。在S303输出的系统数据可以处于加密状态。
加密的系统数据可以通过缓冲存储器130(S305)并且被发送给主机接口控制器113(S307)。主机接口控制器113中的解密电路1130可以对系统数据解密(S309)。
经解密的系统数据可以被加载到缓冲存储器130、控制器中的RAM 1153或其它预定义的储存空间中(S311)。
当已经存储在储存器120中的系统数据随着电力供应而解密和加载时,数据储存装置10可以与主机装置联合操作。换句话说,响应于主机装置的请求,可以从/向储存器120读取/写入数据(S40)。
在该操作过程期间,可以改变映射表或元数据。该系统数据可以临时存储在缓冲存储器130或控制器110中的预设储存空间中,然后在预设时间点安全地存储在储存器120中。
在实施方式中,在数据储存装置10转换到睡眠模式的情况下,当系统数据是不常使用的系统数据,在访问系统数据的时间之后已经过了很长时间,或者系统数据未使用已超过预定时间段时,系统数据可以被转移到储存器120。
为了刷新到储存器120的系统数据,可以将存储在临时储存空间(例如,缓冲存储器130)中的系统数据发送到存储器接口控制器(FIL)119(S313)。
存储器接口控制器(FIL)119的加密电路1190可以对明文系统数据加密(S315),并且将经加密的系统数据发送给储存器120,以向储存器120请求写入经加密的系统数据的操作(S317)。
储存器120可以接收经加密的系统数据并将经加密的系统数据编程到相应区域(S319)。
如此,因为仅当数据储存装置被供电时,系统数据可以回送到主机接口控制器(HIL)113并被解密,所以可以在不影响系统性能的情况下对系统数据进行解密。
此外,在系统数据被存储在储存器120中之前,可以在存储器接口控制器(FIL)119中执行解密操作,而不需要将系统数据回送到主机接口控制器(HIL)113。
图8示出了例示根据一个实施方式的控制器110-1的配置的图。
为了防止系统数据在系统数据的解密操作期间被回送到主机接口控制器(HIL)113,控制器可以具有图8中所例示的配置。
参照图8,控制器110-1可以包括第一解密电路1130和第二解密电路1133。
除了第二解密电路1133的配置之外,图8中所例示的控制器110-1可以具有与图1至图3中所示的控制器110的配置基本相同的配置。
第二解密电路1133可以是系统数据的专用解密电路1133。因此,当施加电力时,从储存器120读取的到控制器110-1的系统数据可以由第二解密电路1133解密,而不被发送给主机接口控制器113。因此,可以防止系统性能由于回送操作而劣化。
如上所述,根据本公开的实施方式,从储存介质读取的数据可以以加密状态发送到主机接口侧,从而可以提高安全性。
此外,在系统数据储存操作或相同数据批量储存(写入相同)操作期间,数据可以在存储器接口侧被加密并且被存储,而不被回送到主机接口侧。
因为仅对于安装在存储器接口侧的具有比主机装置更高的带宽的加密引擎需要与储存介质的带宽相对应的性能,所以可以优化解密引擎的性能。
图9示出了例示根据一个实施方式的数据储存系统1000的图。
参照图9,数据储存系统1000可以包括主机装置1100和数据储存装置1200。在实施方式中,数据储存装置1200可以被配置为固态驱动器(SSD)。
数据储存装置1200可以包括控制器1210、多个非易失性存储器装置1220-0至1220-n、缓冲存储器装置1230、电源1240、信号连接器1101和电力连接器1103。
控制器1210可以控制数据储存装置1200的一般操作。控制器1210可以包括主机接口、控制器、用作工作存储器的随机存取存储器、纠错码(ECC)电路和存储器接口(未示出)。在实施方式中,控制器1210可以由图1、图2和图3中所示的控制器110配置。
主机装置1100可以通过信号连接器1101与数据储存装置1200交换信号。该信号可以包括命令、地址、数据等。
控制器1210可以分析和处理从主机装置1100接收的信号。控制器1210可以根据用于驱动数据储存装置1200的固件或软件来控制内部功能块的操作。
缓冲存储器装置1230可以临时存储要存储在非易失性存储器装置1220-0至1220-n中的至少一个中的数据。此外,缓冲存储器装置1230可以临时存储从非易失性存储器装置1220-0至1220-n中的至少一个读取的数据。临时存储在缓冲存储器装置1230中的数据可以在控制器1210的控制下被发送到主机装置1100或非易失性存储器装置1220-0至1220-n中的至少一个。
非易失性存储器装置1220-0至1220-n可以用作数据储存装置1200的储存介质。非易失性存储器装置1220-0至1220-n可以分别通过多个通道CH1到CHn与控制器1210联接。一个或更多个非易失性存储器装置可以联接到一个通道。联接到每个通道的非易失性存储器装置可以联接到相同的信号总线和数据总线。
电源1240可以将通过电力连接器1103输入的电力提供到数据储存装置1200的内部。电源1240可以包括辅助电源。辅助电源可以提供电力以使数据储存装置1200在发生突然断电时正常终止。辅助电源可以包括用于存储电荷的一个或更多个电容器。
信号连接器1101可以依据主机装置1100和数据储存装置1200之间的接口方案由各种类型的连接器来配置。
电力连接器1103可以依据主机装置1100的供电方案由各种类型的连接器来配置。
图10示出了例示根据一个实施方式的数据处理系统3000的图。参照图10,数据处理系统3000可以包括主机装置3100和存储器系统3200。
主机装置3100可以以诸如印刷电路板之类的板的形式配置。虽然未示出,但是主机装置3100可以包括用于执行主机装置的功能的内部功能块。
主机装置3100可以包括诸如插座、插槽或连接器之类的连接端子3110。存储器系统3200可以安装到连接端子3110。
存储器系统3200可以以诸如印刷电路板之类的板的形式配置。存储器系统3200可以称为存储模块或存储卡。存储器系统3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231和3232、电力管理集成电路(PMIC)3240和连接端子3250。
控制器3210可以控制存储器系统3200的一般操作。控制器3210可以以与图1至图3中所示的控制器110相同的方式配置。
缓冲存储器装置3220可以临时存储要存储在非易失性存储器装置3231和3232中的数据。此外,缓冲存储器装置3220可以临时存储从非易失性存储器装置3231和3232读取的数据。临时存储在缓冲存储器装置3220中的数据可以在控制器3210的控制下被发送到主机装置3100或非易失性存储器装置3231和3232。
非易失性存储器装置3231和3232可以用作存储器系统3200的储存介质。
PMIC 3240可以将通过连接端子3250输入的电力提供到存储器系统3200的内部。PMIC 3240可以在控制器3210的控制下管理存储器系统3200的电力。
连接端子3250可以联接到主机装置3100的连接端子3110。通过连接端子3250,可以在主机装置3100和存储器系统3200之间传送诸如命令、地址、数据等的信号和电力。依据主机装置3100和存储器系统3200之间的接口方案,连接端子3250可以是各种类型。连接端子3250可以设置在存储器系统3200的任何一侧。
图11示出了例示根据一个实施方式的数据处理系统4000的图。参照图11,数据处理系统4000可以包括主机装置4100和存储器系统4200。
主机装置4100可以以诸如印刷电路板之类的板的形式配置。虽然未示出,但是主机装置4100可以包括用于执行主机装置的功能的内部功能块。
存储器系统4200可以以表面安装型封装件的形式配置。存储器系统4200可以通过焊球4250安装到主机装置4100。存储器系统4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可以控制存储器系统4200的一般操作。控制器4210可以以与图1至图3中所示的控制器110相同的方式配置。
缓冲存储器装置4220可以临时存储要存储在非易失性存储器装置4230中的数据。此外,缓冲存储器装置4220可以临时存储从非易失性存储器装置4230读取的数据。临时存储在缓冲存储器装置4220中的数据可以在控制器4210的控制下被发送给主机装置4100或非易失性存储器装置4230。
非易失性存储器装置4230可以用作存储器系统4200的储存介质。
图12示出了例示根据一个实施方式的包括数据储存装置的网络系统5000的图。参照图12,网络系统5000可以包括通过网络5500联接的服务器系统5300和多个客户端系统5410、5420和5430。
服务器系统5300可以响应于来自多个客户端系统5410至5430的请求而服务数据。例如,服务器系统5300可以存储从多个客户端系统5410至5430提供的数据。再例如,服务器系统5300可以向多个客户端系统5410至5430提供数据。
服务器系统5300可以包括主机装置5100和存储器系统5200。存储器系统5200可以被配置为图1中所示的数据储存装置10、图9中所示的数据储存装置1200、图10中所示的存储器系统3200或图11中所示的存储器系统4200。
图13示出了根据一个实施方式的数据储存装置中所包括的非易失性存储器装置300的框图。参照图13,非易失性存储器装置300可以包括存储器单元阵列310、行解码器320、数据读/写块330、列解码器340、电压发生器350和控制逻辑电路360。
存储器单元阵列310可以包括存储器单元MC,存储器单元MC布置在字线WL1至WLm和位线BL1至BLn彼此交叉的区域处。
存储器单元阵列310可以包括三维存储器阵列。三维存储器阵列具有与半导体基板的平坦表面垂直的方向。对于实施方式,三维存储器阵列意味着包括NAND串的结构,在该NAND串中存储器单元MC当中的至少一个存储器单元位于存储器单元MC当中的其它存储器单元的垂直上部中。
三维存储器阵列的结构不限于此。显然,存储器阵列结构能够选择性地应用于以高度集成方式形成的具有水平方向性以及垂直方向性的存储器阵列结构。
行解码器320可以通过字线WL1至WLm与存储器单元阵列310联接。行解码器320可以在控制逻辑电路360的控制下操作。行解码器320可以对从外部装置(未示出)提供的地址解码。行解码器320可以基于解码结果来选择并驱动字线WL1至WLm。例如,行解码器320可以将从电压发生器350提供的字线电压提供给字线WL1至WLm。
数据读/写块330可以通过位线BL1至BLn与存储器单元阵列310联接。数据读/写块330可以包括分别与位线BL1至BLn对应的读/写电路RW1至RWn。数据读/写块330可以在控制逻辑电路360的控制下操作。数据读/写块330可以根据操作模式作为写入驱动器或读出放大器(sense amplifier)操作。例如,数据读/写块330可以作为在写入操作中将从外部装置提供的数据存储在存储器单元阵列310中的写入驱动器操作。又例如,数据读/写块330可以作为在读取操作中从存储器单元阵列310读出数据的读出放大器操作。
列解码器340可以在控制逻辑电路360的控制下操作。列解码器340可以对从外部装置提供的地址解码。列解码器340可以基于解码结果将数据读/写块330的分别与位线BL1至BLn对应的读/写电路RW1至RWn与数据输入/输出线或数据输入/输出缓冲器联接。
电压发生器350可以生成在非易失性存储器装置300的内部操作中要使用的电压。电压发生器350生成的电压可以被施加到存储器单元阵列310的存储器单元。例如,在编程操作中产生的编程电压可以被施加到要对其执行编程操作的存储器单元的字线。又例如,在擦除操作中生成的擦除电压可以被施加到要对其执行擦除操作的存储器单元的阱区域。再例如,在读取操作中生成的读取电压可以被施加到要对其执行读取操作的存储器单元的字线。
控制逻辑电路360可以基于从外部装置提供的控制信号来控制非易失性存储器装置300的一般操作。例如,控制逻辑电路360可以控制非易失性存储器装置300的操作,诸如非易失性存储器装置300的读取操作、写入操作和擦除操作。
虽然上面已经描述了各种实施方式,但是本领域技术人员将理解,所描述的实施方式仅表示有限数量的可能示例。因此,不应基于所描述的实施方式来限制数据储存装置、操作该数据储存装置的方法以及具有该数据储存装置的存储器系统。
虽然上面已经描述了各种实施方式,但是本领域技术人员将理解,所描述的实施方式仅是示例。因此,不应基于所描述的实施方式来限制数据储存装置、操作该数据储存装置的方法以及具有该数据储存装置的存储器系统。
相关申请的交叉引用
本申请要求于2018年11月12日在韩国知识产权局提交的韩国申请No.10-2018-0137905的优先权,该韩国专利申请通过引用整体并入本文中。
Claims (25)
1.一种数据储存装置,该数据储存装置包括:
储存器;
缓冲存储器;以及
控制器,其中,所述控制器被配置为:
响应于从主机装置发送的请求而控制向所述储存器的数据输入和从所述储存器的数据输出中的至少一个;
接收从所述主机装置发送并高速缓存在所述缓冲存储器中的写入数据,对所述写入数据进行加密,并将经加密的写入数据存储在所述储存器中;并且
接收从所述储存器读取并高速缓存在所述缓冲存储器中的读取数据,对所述读取数据进行解密,并将经解密的读取数据提供给所述主机装置。
2.根据权利要求1所述的数据储存装置,其中,所述控制器包括:
存储器接口控制器,所述存储器接口控制器被配置为对所述写入数据进行加密并在所述控制器和所述储存器之间提供通信通道;以及
主机接口控制器,所述主机接口控制器被配置为对所述读取数据进行解密并在所述控制器和所述主机装置之间提供通信通道。
3.根据权利要求2所述的数据储存装置,
其中,所述存储器接口控制器包括加密电路,该加密电路包括至少一个编码器,并且
其中,所述主机接口控制器包括解密电路,该解密电路包括至少一个解码器。
4.根据权利要求3所述的数据储存装置,
其中,所述写入数据以预设组块为基础进行划分,高速缓存在所述缓冲存储器中,并由所述加密电路的多个编码器并行加密。
5.根据权利要求3所述的数据储存装置,其中,所述至少一个编码器中的每一个以流水线方式操作。
6.根据权利要求3所述的数据储存装置,
其中,所述加密电路的带宽与所述储存器的带宽同步,并且
其中,所述解密电路的带宽与所述主机装置的带宽同步。
7.根据权利要求3所述的数据储存装置,其中,当所述主机装置的带宽与所述储存器的带宽之差小于预设参考值时,所述加密电路的带宽和所述解密电路的带宽与所述主机装置的带宽同步。
8.根据权利要求3所述的数据储存装置,其中,当所述主机装置的带宽与所述储存器的带宽之差大于预设参考值时,由所述加密电路加密的数据被缓冲到所述存储器接口控制器中的缓冲器,然后输出到所述储存器。
9.根据权利要求1所述的数据储存装置,其中,从所述主机装置发送并高速缓存在所述缓冲存储器中的所述写入数据包括用户数据和系统数据的更新信息中的至少一个。
10.根据权利要求1所述的数据储存装置,其中,从所述储存器读取并高速缓存在所述缓冲存储器中的所述读取数据包括用户数据和系统数据。
11.根据权利要求1所述的数据储存装置,其中,所述控制器对在所述控制器的操作期间改变的系统数据当中的满足预设条件的系统数据进行加密,并将经加密的系统数据存储在所述储存器中。
12.根据权利要求1所述的数据储存装置,其中,所述控制器包括:
加密电路,所述加密电路包括被配置为对从所述主机装置发送并高速缓存在所述缓冲存储器中的用户数据和系统数据中的至少一个进行加密的至少一个编码器;
第一解密电路,所述第一解密电路包括被配置为对从所述储存器读取并高速缓存在所述缓冲存储器中的用户数据和系统数据中的至少一个进行解密的至少一个解码器;以及
第二解密电路,所述第二解密电路包括被配置为对从所述储存器读取并高速缓存在所述缓冲存储器中的系统数据进行解密的至少一个解码器。
13.一种数据储存装置,该数据储存装置包括:
储存器;
缓冲存储器;以及
控制器,其中,所述控制器被配置为:
使明文写入数据通过主机装置以明文格式高速缓存在所述缓冲存储器中,从所述缓冲存储器接收所述明文写入数据,并对所述明文写入数据进行加密;并且
使读取数据通过所述储存器以加密状态高速缓存在所述缓冲存储器中,从所述缓冲存储器接收经加密的读取数据,对所述经加密的读取数据进行解密,并将经解密的读取数据发送到所述主机装置。
14.根据权利要求13所述的数据储存装置,其中,所述控制器包括:
存储器接口控制器,所述存储器接口控制器包括加密电路,所述加密电路包括被配置为对所述明文写入数据进行加密的至少一个编码器,所述存储器接口控制器在所述控制器和所述储存器之间提供通信通道;以及
主机接口控制器,所述主机接口控制器包括解密电路,所述解密电路包括被配置为对加密的读取数据进行解密的至少一个解码器,所述主机接口控制器在所述控制器和所述主机装置之间提供通信通道。
15.根据权利要求14所述的数据储存装置,
其中,所述加密电路的带宽与所述储存器的带宽同步,并且
其中,所述解密电路的带宽与所述主机装置的带宽同步。
16.根据权利要求13所述的数据储存装置,其中,所述控制器包括:
加密电路,所述加密电路包括被配置为对从所述主机装置发送并高速缓存在所述缓冲存储器中的明文用户数据和明文系统数据中的至少一个进行加密的至少一个编码器;
第一解密电路,所述第一解密电路包括被配置为对从所述储存器读取并高速缓存在所述缓冲存储器中的加密的用户数据和加密的系统数据中的至少一个进行解密的至少一个解码器;以及
第二解密电路,所述第二解密电路包括被配置为对从所述储存器读取并高速缓存在所述缓冲存储器中的加密的系统数据进行解密的至少一个解码器。
17.一种操作数据储存装置的方法,该数据储存装置包括储存器、缓冲存储器和控制器,其中,所述控制器被配置为响应于从主机装置发送的请求而控制向所述储存器的数据输入和从所述储存器的数据输出中的至少一个,该方法包括以下步骤:
由所述控制器接收从所述主机装置发送并高速缓存在所述缓冲存储器中的写入数据,对所述写入数据进行加密,并将经加密的写入数据存储在所述储存器中;以及
由所述控制器接收从所述储存器读取并高速缓存在所述缓冲存储器中的读取数据,对所述读取数据进行解密,并将经解密的读取数据提供到所述主机装置。
18.根据权利要求17所述的方法,
其中,所述控制器包括:存储器接口控制器,所述存储器接口控制器包括设置有被配置为对所述写入数据进行加密的至少一个编码器的加密电路;以及主机接口控制器,所述主机接口控制器包括设置有被配置为对所述读取数据进行解密的至少一个解码器的解密电路,并且
其中,所述加密电路紧接在所述写入数据被存储在所述储存器中之前对所述写入数据进行加密,并且所述解密电路紧接在所述读取数据被发送给所述主机装置之前对所述读取数据进行解密。
19.根据权利要求18所述的方法,
其中,所述加密电路的带宽与所述储存器的带宽同步,并且
其中,所述解密电路的带宽与所述主机装置的带宽同步。
20.根据权利要求17所述的方法,该方法还包括以下步骤:由所述控制器对在所述控制器的操作期间改变的系统数据当中的满足预设条件的系统数据进行加密,并将经加密的系统数据存储在所述储存器中。
21.根据权利要求20所述的方法,其中,所述控制器包括:
加密电路,所述加密电路包括被配置为对从所述主机装置发送并高速缓存在所述缓冲存储器中的用户数据和系统数据中的至少一个进行加密的至少一个编码器;
第一解密电路,所述第一解密电路包括被配置为对从所述储存器读取并高速缓存在所述缓冲存储器中的用户数据和系统数据中的至少一个进行解密的至少一个解码器;以及
第二解密电路,所述第二解密电路包括被配置为对从所述储存器读取并高速缓存在所述缓冲存储器中的系统数据进行解密的至少一个解码器,
该方法还包括以下步骤:当电力被供应到所述数据储存装置时,由所述第二解密电路对所述系统数据进行解密。
22.一种数据储存系统,该数据储存系统包括:
主机装置;以及
数据储存装置,所述数据储存装置包括储存器、缓冲存储器和控制器,其中,所述控制器被配置为响应于从所述主机装置发送的请求而控制向所述储存器的数据输入和从所述储存器的数据输出中的至少一个,
其中,所述控制器:
接收从所述主机装置发送并高速缓存在所述缓冲存储器中的写入数据,对所述写入数据进行加密,并将经加密的写入数据存储在所述储存器中;并且
接收从所述储存器读取并高速缓存在所述缓冲存储器中的读取数据,对所述读取数据进行解密,并将经解密的读取数据提供给所述主机装置。
23.根据权利要求22所述的数据储存系统,其中,所述控制器包括:
存储器接口控制器,所述存储器接口控制器包括加密电路,所述加密电路包括被配置为对所述写入数据进行加密的至少一个编码器,所述存储器接口控制器在所述控制器和所述储存器之间提供通信通道;以及
主机接口控制器,所述主机接口控制器包括解密电路,所述解密电路包括被配置为对所述读取数据进行解密的至少一个解码器,所述主机接口控制器在所述控制器和所述主机装置之间提供通信通道。
24.根据权利要求23所述的数据储存系统,
其中,所述加密电路的带宽与所述储存器的带宽同步,并且
其中,所述解密电路的带宽与所述主机装置的带宽同步。
25.根据权利要求22所述的数据储存系统,其中,所述控制器包括:
加密电路,所述加密电路包括被配置为对从所述主机装置发送并高速缓存在所述缓冲存储器中的用户数据和系统数据中的至少一个进行加密的至少一个编码器;
第一解密电路,所述第一解密电路包括被配置为对从所述储存器读取并高速缓存在所述缓冲存储器中的用户数据和系统数据中的至少一个进行解密的至少一个解码器;以及
第二解密电路,所述第二解密电路包括被配置为对从所述储存器读取并高速缓存在所述缓冲存储器中的系统数据进行解密的至少一个解码器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0137905 | 2018-11-12 | ||
KR1020180137905A KR102588600B1 (ko) | 2018-11-12 | 2018-11-12 | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111177807A true CN111177807A (zh) | 2020-05-19 |
CN111177807B CN111177807B (zh) | 2023-08-25 |
Family
ID=70551345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910908810.XA Active CN111177807B (zh) | 2018-11-12 | 2019-09-25 | 数据储存装置、操作该装置的方法及具有该装置的储存系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11422738B2 (zh) |
KR (1) | KR102588600B1 (zh) |
CN (1) | CN111177807B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113392432A (zh) * | 2021-06-11 | 2021-09-14 | 山东华宇工学院 | 加密存储装置及电子设备 |
CN114442913A (zh) * | 2020-11-02 | 2022-05-06 | 慧荣科技股份有限公司 | 数据存取方法、存储器控制器以及进阶加密标准处理电路 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220029903A (ko) | 2020-09-02 | 2022-03-10 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1728663A (zh) * | 2004-07-30 | 2006-02-01 | 神州亿品科技(北京)有限公司 | 移动接入控制器和移动局域与城域网及其接入方法 |
US20060195704A1 (en) * | 2005-01-27 | 2006-08-31 | Hewlett-Packard Development Company, L.P. | Disk array encryption element |
CN101621509A (zh) * | 2009-07-31 | 2010-01-06 | 浪潮电子信息产业股份有限公司 | 一种应用ssl通信协议安全负载均衡的设计架构及方法 |
US20110122982A1 (en) * | 2009-11-26 | 2011-05-26 | Jaegeun Yun | Bandwidth synchronization circuit and bandwidth synchronization method |
US20110145680A1 (en) * | 2009-12-10 | 2011-06-16 | Kei Akiyama | Disk Drive and Method for Data Conversion Process in a Disk Drive |
CN103578555A (zh) * | 2012-07-19 | 2014-02-12 | 三星电子株式会社 | 非易失性存储器、其的读取方法和包括其的存储系统 |
US20160021430A1 (en) * | 2014-07-16 | 2016-01-21 | Crestron Electronics, Inc. | Transmission of digital audio signals using an internet protocol |
US20160162218A1 (en) * | 2014-12-03 | 2016-06-09 | International Business Machines Corporation | Distributed data deduplication in enterprise networks |
CN107643985A (zh) * | 2016-07-21 | 2018-01-30 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4839516B2 (ja) | 2001-02-27 | 2011-12-21 | ソニー株式会社 | 認証システム及び認証方法 |
KR100836758B1 (ko) | 2006-09-11 | 2008-06-10 | 삼성전자주식회사 | 메모리 카드의 암호화 장치 및 그것에 따른 데이터 기입 및독출 방법 |
JP5032647B2 (ja) * | 2010-11-26 | 2012-09-26 | 株式会社東芝 | データ記憶装置、コントロール装置及び暗号化方法 |
WO2013009442A2 (en) * | 2011-07-12 | 2013-01-17 | Rambus Inc. | Dynamically changing data access bandwidth by selectively enabling and disabling data links |
US20140337598A1 (en) * | 2013-05-07 | 2014-11-13 | Lsi Corporation | Modulation of flash programming based on host activity |
KR102466412B1 (ko) * | 2016-01-14 | 2022-11-15 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
-
2018
- 2018-11-12 KR KR1020180137905A patent/KR102588600B1/ko active IP Right Grant
-
2019
- 2019-07-16 US US16/513,045 patent/US11422738B2/en active Active
- 2019-09-25 CN CN201910908810.XA patent/CN111177807B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1728663A (zh) * | 2004-07-30 | 2006-02-01 | 神州亿品科技(北京)有限公司 | 移动接入控制器和移动局域与城域网及其接入方法 |
US20060195704A1 (en) * | 2005-01-27 | 2006-08-31 | Hewlett-Packard Development Company, L.P. | Disk array encryption element |
CN101621509A (zh) * | 2009-07-31 | 2010-01-06 | 浪潮电子信息产业股份有限公司 | 一种应用ssl通信协议安全负载均衡的设计架构及方法 |
US20110122982A1 (en) * | 2009-11-26 | 2011-05-26 | Jaegeun Yun | Bandwidth synchronization circuit and bandwidth synchronization method |
US20110145680A1 (en) * | 2009-12-10 | 2011-06-16 | Kei Akiyama | Disk Drive and Method for Data Conversion Process in a Disk Drive |
CN103578555A (zh) * | 2012-07-19 | 2014-02-12 | 三星电子株式会社 | 非易失性存储器、其的读取方法和包括其的存储系统 |
US20160021430A1 (en) * | 2014-07-16 | 2016-01-21 | Crestron Electronics, Inc. | Transmission of digital audio signals using an internet protocol |
US20160162218A1 (en) * | 2014-12-03 | 2016-06-09 | International Business Machines Corporation | Distributed data deduplication in enterprise networks |
CN107643985A (zh) * | 2016-07-21 | 2018-01-30 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114442913A (zh) * | 2020-11-02 | 2022-05-06 | 慧荣科技股份有限公司 | 数据存取方法、存储器控制器以及进阶加密标准处理电路 |
CN114442913B (zh) * | 2020-11-02 | 2024-03-08 | 慧荣科技股份有限公司 | 数据存取方法、存储器控制器以及进阶加密标准处理电路 |
CN113392432A (zh) * | 2021-06-11 | 2021-09-14 | 山东华宇工学院 | 加密存储装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111177807B (zh) | 2023-08-25 |
KR102588600B1 (ko) | 2023-10-16 |
KR20200054538A (ko) | 2020-05-20 |
US11422738B2 (en) | 2022-08-23 |
US20200150895A1 (en) | 2020-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140032935A1 (en) | Memory system and encryption method in memory system | |
CN111177807B (zh) | 数据储存装置、操作该装置的方法及具有该装置的储存系统 | |
US10997297B1 (en) | Validating firmware for data storage devices | |
JP2010509690A (ja) | 記憶装置のセキュリティを確保する方法とシステム | |
US9069978B2 (en) | Data storage device and data protection method | |
US8886963B2 (en) | Secure relocation of encrypted files | |
US11748273B2 (en) | Secure data communication with memory sub-system | |
US9665501B1 (en) | Self-encrypting data storage device supporting object-level encryption | |
US10255200B2 (en) | Data storage device and method of operation using multiple security protocols | |
CN110661612B (zh) | 断电序列期间不相关熵的收集 | |
US11316687B2 (en) | Encrypted gang programming | |
KR20090123614A (ko) | 고체 상태 디스크 및 이에 대한 입출력방법 | |
US11368302B2 (en) | Key management device and processor chip having bypass channels | |
US20220393859A1 (en) | Secure Data Storage with a Dynamically Generated Key | |
US11563570B2 (en) | Storage system and method for command execution ordering by security key | |
US20100211801A1 (en) | Data storage device and data management method thereof | |
CN114064525A (zh) | 存储器系统、存储器系统的控制方法以及信息处理系统 | |
US11995349B2 (en) | Method and apparatus for performing access management of memory device in host performance booster architecture with aid of device side table information encoding and decoding | |
US11994985B2 (en) | Method and apparatus for performing access management of memory device in host performance booster architecture with aid of device side table information encoding and decoding | |
CN113467709B (zh) | 存储器系统及其操作方法 | |
US20240097885A1 (en) | Memory controller and storage device including same | |
KR20230166408A (ko) | 스토리지 장치 및 데이터 처리 방법 | |
CN114969850A (zh) | 一种数据传输方法及存储系统 | |
TW202403773A (zh) | 半導體裝置及用以管理其之安全操作的系統與方法 | |
CN104517650B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |