CN103620690A - 加密传输固态盘控制器 - Google Patents

加密传输固态盘控制器 Download PDF

Info

Publication number
CN103620690A
CN103620690A CN201280031047.3A CN201280031047A CN103620690A CN 103620690 A CN103620690 A CN 103620690A CN 201280031047 A CN201280031047 A CN 201280031047A CN 103620690 A CN103620690 A CN 103620690A
Authority
CN
China
Prior art keywords
data
encryption
encrypted
ssd
main frame
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
CN201280031047.3A
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.)
Seagate Technology LLC
Original Assignee
Infineon Technologies North America Corp
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
Application filed by Infineon Technologies North America Corp filed Critical Infineon Technologies North America Corp
Publication of CN103620690A publication Critical patent/CN103620690A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • 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/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • 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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种加密传输SSD控制器,具有用于接收命令、存储地址并且与主机交换数据以将数据以压缩(并且可选地,加密)形式存储于诸如闪存的非易失性存储器(NVM)中的接口。从主机接收的加密数据被解密,并且使用无损压缩进行压缩,以有利地减少闪存写入放大。压缩数据被再加密并且存储于闪存中。存储数据在传输到主机之前被检索、解密、解压缩和再加密。当在诸如单个集成电路的安全物理边界内实现时,SSD控制器保护加密数据,从接收到存储于闪存内,包括传输到主机。在特定实施方式中,控制器与主机交换会话加密/解密密钥和/或使用安全协议(诸如TCG Opal)来确定加密/解密密钥。

Description

加密传输固态盘控制器
相关申请的交叉引用
在所附的申请书数据页、请求书和传送信(视情况,如果有的话)中列出了对该申请的优先权权益要求。在即时申请的类型所允许的范围内,在提出本发明时,为了所有目的,本申请通过引用并入在做出本发明时与本即时申请的共同拥有的下列申请:
美国临时申请(案号SF-10-08和序列号61/480,518),2011年4月29日提交,第一发明人姓名Farbod Michael Raam,并且题为“Encrypted-transport Solid-State Disk Controller”。
技术领域
非易失性存储技术进步需要提高性能、效率和实用性。
背景技术
除非明确指出为公开或者众所周知,否则为了上下文、定义或者比较目的而包括的本文所提到的技术和概念不应理解为承认所述技术和概念为早先公开已知或者为现有技术一部分。本文引用的所有参考文献(若有),包括专利、专利申请和出版物,无论是否专门结合,均全部内容结合于此作为参考,以用于所有目的。
发明内容
本发明可以许多方式实现,包括实现为方法、物品、装置、系统、物质组合物和计算机可读介质(诸如计算机可读存储介质(例如,光学和/或诸如磁盘的磁性大容量存储设备中的介质,或者诸如闪存的具有非易失性存储器的集成电路))或者程序指令经由光学或者电子通信链路发送的计算机网络。在本说明书中,这些实施例或者本发明可采取的任何其它形式可称为技术。具体实施方式阐述在上述领域中能够提高性能、效率和实用性的本发明一个或多个实施方式。具体实施方式包括绪论,以有利于更迅速理解具体实施方式的其余部分。绪论包括根据本文所述概念的系统、方法、物品和计算机可读介质中一个或多个的实例性实施方式。正如结论中更详细讨论,本发明包括所有可行修改和变化,均在提出的权利要求的范围内。
附图说明
图1A示出包括使用加密传输技术来管理诸如经由非易失性存储器(NVM)元件(例如,闪存)实现的非易失性存储装置的SSD控制器的固态盘(SSD)的实施方式的所选细节。
图1B示出包括图1A中SSD的一个或多个实例的系统的各种实施方式的所选细节。
图2示出诸如图1A所示使用加密传输技术来管理非易失性存储器的SSD的特定应用的实例。
图3A示出加密传输SSD的包括两级后压缩加密的写入数据路径功能的实施方式的所选细节。
图3B示出图3A中加密传输SSD的包括两级预解压缩解密的读取数据路径功能的实施方式的所选细节。
图4为示出主机与SSD控制器之间的用于例如在加密传输SSD的背景下进行加密传输数据传送的安全通信链路的创建、使用和抛弃的实施方式的流程图。
图5为示出加密的传输SSD控制器的数据路径控制和/或操作的实施方式的流程图。
图中参考符号列表
Figure BDA0000444582650000021
Figure BDA0000444582650000031
Figure BDA0000444582650000041
Figure BDA0000444582650000051
Figure BDA0000444582650000061
具体实施方式
下文连同示出本发明所选细节的附图一起对于本发明一个或多个实施方式进行详细说明。本发明结合实施方式进行说明。本文中实施方式应当理解仅为示例性,本发明并不明确限于本文中任何或者全部实施方式,并且本发明包括许多替代性实施方式、变形例和等同物。为了避免阐述单调,多种单词标签(包括但不限于:第一、最后、某个、各种、又一个、其它、特定、选择、一些和显著)可应用于单独的实施方式集合;如本文中使用,所述标签并不明确是指传达质量或者偏好或者偏见的任何形式,而是仅为了方便区分单独的集合。所公开方法的一些操作的顺序可在本发明范围内变化。只要多个实施方式用于说明工艺、方法和/或程序指令特征变化,就可仔细考虑根据分别与多个所述多个实施方式对应的多个操作模式之一的预定或者动态确定的标准执行静态和/或动态选择的其它实施方式。许多特定细节在以下说明中阐述以透彻地理解本发明。所述细节为了举例目的而提供,并且本发明可根据权利要求实行,而无需所述细节中一些或者全部。为了清晰起见,在本发明相关技术领域中已知的技术材料并未进行详细说明,使得本发明不被不必要地混淆。
绪论
包括本绪论仅为了便于更迅速理解具体实施方式;本发明并不限于绪论(若有,包括明确实施例)中提出的概念,任何绪论的段落必定为整个主题的缩略并且并不是指详尽性或者限制性说明。例如,以下绪论受空间和组织的限制而仅提供某些实施方式的缩略信息。包括权利要求将最终导致的那些实施方式的许多其它实施方式在剩余说明书中讨论。
缩略语
这里定义的各种速记缩写(例如,首字母缩写词)中的至少一些指代本文中使用的某些元件。
缩写 说明
AES 高级加密标准
AHCI 高级主机控制器接口
API 应用程序接口
ASCII 美国标准信息交换码
BCH 博斯·乔赫里·霍克文黑姆码
ATA 高级技术附件(AT附件)
CD 紧凑型磁盘
CF 紧凑型闪存
CMOS 互补金属氧化物半导体
CPU 中央处理单元
CRC 循环冗余校验
DAS 直接附接存储
DDR 双倍数据速率
DES 数据加密标准
DMA 直接存储器存取
DNA 直接NAND存取
DRAM 动态随机存取存储器
DVD 数字通用/视频磁盘
DVR 数字视频记录器
ECC 纠错码
eMMC 嵌入式多媒体
eSATA 外部串行高级技术附件
GPS 全球定位系统
HDD 硬盘驱动器
I/O 输入/输出
IC 集成电路
IDE 集成驱动电子设备
JPEG 联合图像专家组
LAN 局域网
LB 逻辑块
LBA 逻辑块地址
LDPC 低密度奇偶校验
LPN 逻辑页码
LZ Lempel-Ziv
MLC 多层单元
MMC 多媒体卡
MPEG 运动图像专家组
NAS 网络附加存储
NCQ 本机命令队列
NVM 非易失性存储器
ONA 最佳化NAND存取
ONFI 开放NAND闪存接口
OS 操作系统
PC 个人计算机
PCIe 高速外围组件互连(高速PCI)
PDA 个人数字助理
POS 销售点
RAID 廉价/独立磁盘冗余阵列
RS 里德-索罗门
RSA Rivest,Shamir&Adleman
SAN 存储器附加网络
SAS 串行连接小型计算机系统接口(串行SCSI)
SATA 串行高级技术附件(串行ATA)
SCSI 小型计算机系统接口
SD 安全数字
SDR 单倍数据速率
SLC 单层单元
SMART 自我监控分析和报告技术
SSD 固态磁盘/驱动器
TCG 可信计算机组
UFS 统一快闪存储器
USB 通用串行总线
VF 虚拟功能
WAN 广域网
一些存储外设能够使用传输加密层来保护从主机发送到存储外设的数据。主机在将数据发送到存储外设以存储于存储介质(例如,NVM)中之前在内部加密数据。同样地,从存储外设读取并且发送到主机的数据假定为具有与当它写入时相同的加密,并且主机对于数据进行解密以待使用。从主机角度来看,数据在来往存储介质的完整路径上是加密的。
在一些实施方式中,存储外设(诸如SSD)在将数据存储到存储介质(诸如NAND闪存芯片阵列)之前经由所谓“后端”加密对于数据进行内部加密,并且在从存储介质读取加密数据之后对于数据进行解密。在SSD中,后端加密用于保护数据并且提供加扰属性,在一些情况下加扰属性提高NAND闪存芯片持久性。例如,不依赖于主机数据的任何其它加密形式,后端加密用于保护存储于存储介质中的SSD固件。
一些存储外设根据安全协议(诸如存储安全子系统类(例如,TCGOpal))进行操作,并且能够将从主机接收并且将要写入到存储介质的数据加密,并且还能够将从存储介质读取的数据解密。在一些实施方式中,安全协议加密/解密使用诸如存储地址范围的元数据以部分确定加密/解密密钥。在进一步的实施方式中,有一个或多个地址范围,每个地址范围与相应密钥相关联。在进一步的实施方式中,如果地址范围均不匹配,那么有全局“以上皆非”密钥。根据各种实施方式,安全协议加密/解密为以下一个或多个:与传输加密/解密相同;与传输加密/解密不同;与后端加密/解密相同;和与后端加密/解密不同。
在一些实施方式中,存储外设(诸如SSD)在将数据存储到存储介质(诸如NAND闪存芯片阵列)之前对于从主机接收的数据进行压缩。压缩包括以下一个或多个:基于数据类型(例如,JPEG和/或MPEG数据)的无损压缩;以本地化方式进行的无损压缩(例如,LZ压缩);数据去重;和减少表示被压缩的数据所需的存储的任何可逆变换。在存储之前压缩数据在各种情况下有利地减少写入放大和/或增加显著存储容量。然而,在一些情况下,已经进行加密(例如,对于传输加密)的数据不可压缩。
在一些实施方式中,存储外设(诸如SSD)与主机进行密钥交换以确定用于传输加密层的(一个或多个)密钥,并且视情况和/或选择性确定每个密钥使用的条件。当存储外设从主机接收传输加密数据时,存储外设视情况和/或选择性使用所述(一个或多个)密钥中的选定密钥来根据传输加密对于数据进行解密。然后压缩解密的数据。在使用安全协议(诸如TCG Opal)的进一步的实施方式中,压缩的数据视情况和/或选择性地根据安全协议进行加密。在存在与安全协议不同的后端加密的进一步的实施方式中,在数据进行调制以写入到存储介质之前,压缩且视情况和/或选择性加密的数据通过后端加密进行进一步加密。
在其它实施方式中,再使用传输加密,而不是TCG Opal。即,在压缩之后,使用传输加密密钥/算法再加密压缩的数据。
当数据从存储介质回读并且返回到主机时,上述用于存储数据的操作有效地反向,使得原始加密数据返回到主机。
实例加密算法为:DES、三重DES、AES-128、AES-256、RSA和其它公钥加密算法。
在一些情况下,当特定尺寸的主机存储写入导致到SSD的闪存的多个写入(每个写入具有例如特定尺寸倍数的尺寸)时,导致写入放大。例如,该多个写入来源于在写入(例如,编程)闪存的一部分、耗损均衡、垃圾收集以及导致系统数据写入的闪存管理操作之前擦除该部分。写入放大的计算实例为代表特定主机写入集合(包括,例如完成与主机写入相关联的主机数据写入的系统写入)写入到闪存的数据量除以通过特定主机写入集合写入的数据量。在一些使用情况下,通过特定主机写入集合写入的数据的压缩能够减少写入到闪存代表特定主机写入集合的数据量。因为代表特定主机写入集合的写入到闪存的数据量减少,所以写入放大从而减少。
在一些实施方式中,存取NVM中不同尺寸量子的压缩数据在一些使用情况下提高存储效率。例如,SSD控制器从计算主机(例如,与磁盘写入命令有关)接收数据(未压缩),压缩数据,并且将压缩数据存储到闪存中。回应于来自计算主机的后续请求(例如,与磁盘写入命令有关),SSD控制器从闪存读取压缩数据,对于压缩数据进行解压缩,并且将解压缩数据提供给计算主机。压缩数据根据不同尺寸量子存储于闪存中,由于例如压缩算法、操作模式以及对于各种数据的压缩有效性,量子尺寸变化。SSD控制器通过咨询包括的映射表对于数据进行部分解压缩,以确定(一个或多个)标头存储于闪存中的哪里。SSD控制器对于从闪存获得的(一个或多个)标头进行解析以确定适当(压缩)数据存储于闪存中的哪里。SSD控制器将来自闪存的适当数据进行解压缩以产生解压缩数据,以提供给计算主机。
在各种实施方式中,SSD控制器包括:主机接口,用于与计算主机对接;接口,用于与NVM(诸如闪存)对接;和电路,用于控制所述接口并且执行(和/或控制所述执行的各个方面)压缩和解压缩,以及较低级别纠错、较高级别纠错和利用独立硅元件的动态较高级别冗余模式管理。
根据各种实施方式,一些主机接口兼容USB接口标准、CF接口标准、MMC接口标准、eMMC接口标准、雷电接口标准、UFS接口标准、SD接口标准、记忆棒接口标准、xD图像卡接口标准、IDE接口标准、SATA接口标准、SCSI接口标准、SAS接口标准和PCIe接口标准中一个或多个。根据各种实施方式,计算主机为计算机、工作站计算机、服务器计算机、存储服务器、SAN、NAS设备、DAS设备、存储设备、PC、膝上型计算机、笔记本计算机、上网本计算机、平板设备或计算机、超级本计算机、电子读取设备(诸如电子阅读器)、PDA、导航系统、(手持式)GPS设备、汽车控制系统、汽车媒体控制系统或计算机、打印机、复印机或传真机或一体机设备、POS设备、现金出纳机、媒体播放器、电视机、媒体记录器、DVR、数字相机、蜂窝式手机、无绳电话机和电子游戏机的全部或者任何部分。在一些实施方式中,对接主机(诸如SAS/SATA桥接器)作为计算主机和/或作为计算主机桥接器进行操作。
在各种实施方式中,SSD控制器包括一个或多个处理器。所述处理器执行固件以控制和/或执行SSD控制器的操作。SSD控制器与计算主机进行通信以发送和接收命令和/或状态以及数据。计算主机执行操作系统、驱动程序和应用程序中一个或多个。通过计算主机与SSD控制器的通信视情况和/或选择性地为经由驱动程序和/或经由应用程序。在第一实例中,到SSD控制器的所有通信为经由驱动程序,并且应用程序将较高级别命令提供给驱动程序,驱动器将驱动程序转译为SSD控制器的特定命令。在第二实例中,驱动程序实施旁通模式,并且应用程序能够经由驱动程序将特定命令发送到SSD控制器。在第三实例中,PCIe SSD控制器支持一个或多个虚拟功能(VF),一旦配置,就使应用程序能够与SSD控制器直接通信,绕过(bypass)驱动程序。
根据各种实施方式,一些SSD兼容由磁性和/或光学非易失性存储器(诸如HDD、CD驱动器和DVD驱动器)使用的外形规格、电气接口和/或协议。在各种实施方式中,SSD使用零个以上的奇偶校验码、零个以上的RS码、零个以上的BCH码、零个以上的维特比或其它格状码和零个以上的LDPC码中各种组合。
实例实施方式
作为具体实施方式的绪论的总结,下文为实例实施方式集合,包括至少一些明确枚举为“EC”(实例组合),根据本文所述概念提供各种实施方式类型的另外说明;这些实例并不意味着相互排斥、详尽或者限制;并且本发明并不限于这些实例实施方式,而是包括所有可行修改和变动,均在已发行权利要求及其等同物的范围内。
EC1)一种方法,所述方法包括以下步骤:
从一个或多个非易失性存储器(NVM)接收数据;
准备所述接收数据;
根据操作顺序处理所述准备数据;
将所述处理的结果提供给计算主机;
其中所述操作顺序包括:
对于所述准备数据进行解密,
对于所述解密数据进行解压缩,
对于所述解压缩数据进行再加密,以及
提供所述再加密数据作为所述结果;并且
其中所述解压缩相对于无损压缩为对称。
EC2)根据EC1所述的方法,其中所述解密为第一解密,并且所述准备包括第二解密。
EC3)根据EC1所述的方法,其中所述处理根据多个模式中选定模式为选择性,并且所述操作顺序为与所述模式中第一模式对应的第一操作顺序。
EC4)根据EC3所述的方法,
其中第二操作顺序对应于所述模式中第二模式;并且
其中所述第二操作顺序包括提供所述解压缩数据作为所述结果。
EC5)一种方法,所述方法包括以下步骤:
从计算主机接收数据;
根据操作顺序处理所述接收数据;
准备所述处理的结果以使能够存储于一个或多个非易失性存储器(NVM)中;
其中所述操作顺序包括:
对于所述接收数据进行解密,
对于所述解密数据进行压缩,
对于所述压缩数据进行再加密,以及
提供所述再加密数据作为所述结果;并且
其中所述压缩为无损。
EC6)根据EC5所述的方法,其中所述准备包括加密。
EC7)根据EC5所述的方法,其中所述处理根据多个模式中选定模式为选择性,并且所述操作顺序为与所述模式中第一模式对应的第一操作顺序。
EC8)根据EC7所述的方法,
其中第二操作顺序对应于所述模式中第二模式;并且
其中所述第二操作顺序包括提供所述压缩数据作为所述结果。
EC9)一种方法,所述方法包括以下步骤:
从一个或多个非易失性存储器(NVM)接收数据;
准备所述接收数据;
根据多个模式中选定模式处理所述准备数据;
将所述处理的结果提供给计算主机;
其中所述模式中第一模式包括:
对于所述准备数据进行解密;
将所述解密数据解压缩为第一解压缩数据,
将所述第一解压缩数据再加密为第一再加密数据,以及
提供所述第一再加密数据作为所述结果;并且
其中所述模式中第二模式包括:
将所述准备数据解压缩为第二解压缩数据,
将所述第二解压缩数据再加密为第二再加密数据,以及
提供所述第二再加密数据作为所述结果。
EC10)根据EC9所述的方法,其中所述准备包括解密。
EC11)根据EC9所述的方法,其中所述解压缩相对于无损压缩为对称。
EC12)根据EC9所述的方法,其中
所述模式中第三模式包括:
提供所述第一解压缩数据作为所述结果。
EC13)一种方法,所述方法包括以下步骤:
从计算主机接收数据;
根据多个模式中选定模式处理所述接收数据;
准备所述处理的结果以使能够存储于一个或多个非易失性存储器(NMV)中;
其中所述模式中第一模式包括:
对于所述接收数据进行解密,
对于所述解密数据进行压缩,
对于所述压缩、解密数据进行再加密;以及
提供所述再加密数据作为所述结果;并且
其中所述模式中第二模式包括:
提供所述压缩、解密数据作为所述结果。
EC14)根据EC13所述的方法,其中所述准备包括加密。
EC15)根据EC13所述的方法,其中所述再加密相对于所述解密为对称。
EC16)根据EC13所述的方法,其中所述再加密为根据安全性协议,并且所述解密为根据传输协议。
EC17)根据EC13所述的方法,还包括与所述计算主机安全地交换传输会话加密密钥并且将所述传输会话加密密钥中至少一部分用于所述解密中。
EC18)根据EC17所述的方法,其中所述安全地交换传输会话加密密钥包括:
使用非对称密钥交换在所述计算主机与固态盘(SSD)之间建立安全链路,并且
在所述安全链路内交换所述传输会话加密密钥。
EC19)根据EC13所述的方法,其中
所述模式中第三模式包括:
对于所述接收数据进行压缩,
对于所述压缩数据进行加密,并且
提供所述压缩、加密数据作为所述结果。
EC20)根据EC19所述的方法,其中所述加密为根据安全性协议。
EC21)根据EC19所述的方法,其中
所述模式中第四模式包括:
提供所述压缩数据作为所述结果。
EC22)根据EC13所述的方法,其中所述准备包括对于所述结果进行加扰和/或调制。
EC23)根据EC13所述的方法,其中所述准备包括加密。
EC24)根据EC13所述的方法,还包括所述存储。
EC25)根据EC24所述的方法,其中所述存储为经由闪存接口。
EC26)根据EC13所述的方法,其中所述接收为经由兼容存储接口标准的存储接口。
EC27)根据EC13所述的方法,还包括经由所述计算主机提供所述数据作为加密数据。
EC28)根据EC13所述的方法,其中所述解密、所述压缩和所述再加密至少部分经由固态盘(SSD)的控制器进行实施。
EC29)一种系统,所述系统包括:
用于从计算主机接收数据的构件;
用于选择性启用多个操作模式之一的构件,所述模式包括:
加密操作模式,至少部分经由以下进行实施:
用于对于所述接收数据进行解密的构件,
用于对于所述解密数据进行压缩的构件,
用于对于所述压缩、解密数据进行再加密的构件,和
用于提供所述再加密数据作为所述加密模式写入数据的构件;和
非加密操作模式,至少部分经由以下进行实施:
用于对于所述接收数据进行压缩的构件,和
用于提供所述压缩、接收数据作为非加密模式写入数据的构件;
用于选择所述启用模式写入数据的构件,
用于对于所述选定模式写入数据进行加密的构件;和
用于对于所述加密、选定模式写入数据进行格式化以存储于一个或多个非易失性存储器(NVM)中的构件。
EC30)根据EC29所述的系统,还包括用于安全地交换传输会话加密密钥并且用于将所述传输会话加密密钥中至少一部分用于将所述接收数据解密为接收加密数据的构件。
EC31)根据EC29所述的系统,其中,所述用于压缩的构件中一个或多个能够执行无损压缩以有利地减少写入放大。
EC32)根据EC29所述的系统,其中,用于对于所述解密数据进行压缩的构件和用于对于所述接收数据进行压缩的构件至少具有共同部分。
EC33)根据EC29所述的系统,其中,所述构件为经由固态盘(SSD)的控制器,并且所述NVM为包括在所述SSD中的闪存。
EC34)根据EC33所述的系统,还包括用于将所述控制器与所述计算主机对接的构件。
EC35)根据EC34所述的系统,其中,所述对接构件兼容存储接口标准。
EC36)根据EC34所述的系统,还包括所述计算主机的全部或者任何部分。
EC37)根据EC29所述的系统,还包括用于与所述NVM对接的构件。
EC38)根据EC37所述的系统,其中,所述对接构件包括闪存接口。
EC39)根据EC29所述的系统,还包括所述NVM中至少一个。
EC40)根据EC29所述的系统,还包括:
用于从所述计算主机对接请求的构件,所述请求与存储于所述NVM中的信息有关;和
用于对接到所述NVM的构件。
EC41)根据EC40所述的系统,其中,所述构件在单个集成电路(IC)中共同实施。
EC42)根据EC40所述的系统,其中,所述构件包括在固态盘(SSD)中。
EC43)根据EC30所述的系统,其中,用于安全地交换传输会话加密密钥的构件包括:
用于使用非对称密钥交换在主机与固态盘(SSD)之间建立安全链路的构件;和
用于在所述安全链路内交换所述传输会话加密密钥的构件。
EC44)一种有形计算机可读介质,具有存储于其中的一组指令,当由存储设备的处理元件执行时,该组指令引起所述处理元件执行和/或控制操作,所述操作包括:
从计算主机接收数据;
选择性启用多个操作模式之一,所述模式包括:
加密操作模式,至少部分经由以下进行实施:
对于所述接收数据进行解密,
对于所述解密数据进行压缩,
对于所述压缩、解密数据进行再加密,以及
提供所述再加密数据作为加密模式写入数据;和
非加密操作模式,至少部分经由以下进行实施:
对于所述接收数据进行压缩,并且
提供所述压缩、接收数据作为非加密模式写入数据;
选择所述启用模式写入数据,
对于所述选定模式写入数据进行加密;并且
对于所述加密、选定模式写入数据进行格式化以存储于一个或多个非易失性存储器(NVM)中。
EC45)根据EC44所述的有形计算机可读介质,其中所述有形计算机可读介质和所述处理元件包括在固态盘(SSD)中。
EC46)根据EC45所述的有形计算机可读介质,其中所述NVM中至少一个包括在所述SSD中。
EC47)根据前述EC所述的任一项,具有或者参照解密和再加密,其中所述解密和所述再加密中任何一个或多个在安全物理边界内执行。
EC48)根据前述EC所述的任一项,具有或者参照解密、再加密、压缩和解压缩,其中所述解密、所述再加密、所述压缩和所述解压缩中任何一个或多个在安全物理边界内执行。
EC49)根据前述EC所述的任一项,具有或者参照安全物理边界,其中所述安全物理边界经由单个集成电路(IC)实施。
EC50)根据前述EC所述的任一项,具有或者参照传输会话加密密钥,其中所述传输会话加密密钥兼容对称密钥加密/解密。
EC51)根据前述EC所述的任一项,具有或者参照对称密钥加密/解密,其中所述对称密钥加密/解密兼容AES128、AES192和AES256一个或多个。
EC52)根据前述EC所述的任一项,具有或者参照无损压缩,其中所述无损压缩包括Lempel-Ziv(LZ)压缩。
EC53)根据前述EC所述的任一项,具有或者参照无损压缩,其中所述无损压缩包括字典编码器LZ77压缩。
EC54)根据前述EC所述的任一项,具有或者参照SSD控制器,其中所述SSD控制器在单个集成电路(IC)中实施。
EC55)根据前述EC所述的任一项,具有或者参照SSD控制器和NVM,其中所述SSD控制器和所述NVM包括在SSD中。
EC56)根据前述EC所述的任一项,具有或者参照NVM,其中所述NVM中至少一个包括一个或多个闪存。
EC57)根据前述EC所述的任一项,具有或者参照存储接口标准,其中所述存储接口标准包括以下一个或多个:
通用串行总线(USB)接口标准,
紧凑型闪存(CF)接口标准,
多媒体卡(MMC)接口标准,
嵌入式多媒体卡(eMMC)接口标准,
雷电接口标准,
UFS接口标准,
安全数字(SD)接口标准,
记忆棒接口标准,
xD图像卡接口标准,
集成驱动电子设备(IDE)接口标准,
串行高级技术附件(SATA)接口标准,
外部SATA(eSATA)接口标准,
小型计算机系统接口(SCSI)接口标准,
串行连接小型计算机系统接口(SAS)接口标准,
光纤信道接口标准,
以太网接口标准,和
高速外围组件互连(PCIe)接口标准。
EC58)根据前述EC所述的任一项,具有或者参照闪存接口,其中所述闪存接口兼容以下一个或多个:
开放式NAND闪存接口(ONFI),
开关模式接口,
双倍数据速率(DDR)同步接口,
DDR2同步接口,
同步接口,和
异步接口。
EC59)根据前述EC所述的任一项,具有或者参照计算主机,其中所述计算主机包括以下一个或多个:
计算机,
工作站计算机,
服务器计算机,
存储计算机,
存储器附加网络(SAN),
网络附加存储器(NAS)设备,
直接附加存储器(DAS)设备,
存储设备,
个人计算机(PC),
膝上型计算机,
笔记本计算机
平板设备或计算机,
超级本计算机,
电子读取设备(电子阅读器),
个人数字助理(PDA),
导航系统,
(手持式)全球定位系统(GPS)设备,
汽车控制系统,
汽车媒体控制系统或计算机,
打印机、复印机或传真机或一体机设备,
销售点POS设备,
现金出纳机,
媒体播放器,
电视机,
媒体记录器,
数字视频记录器(DVR),
数字相机,
蜂窝式手机,
无绳电话机,和
电子游戏机。
EC60)根据前述EC所述的任一项,具有或者参照至少一个闪存,其中所述至少一个闪存中至少一部分包括以下一个或多个:
NAND闪存技术存储单元,和
NOR闪存技术存储单元。
EC61)根据前述EC所述的任一项,具有或者参照至少一个闪存,其中所述至少一个闪存中至少一部分包括以下一个或多个:
单层单元(SLC)闪存技术存储单元,和
多层单元(MLC)闪存技术存储单元。
EC62)根据前述EC所述的任一项,具有或者参照至少一个闪存,其中所述至少一个闪存中至少一部分包括以下一个或多个:
基于多晶硅技术的电荷存储单元,和
基于氮化硅技术的电荷存储单元。
EC63)根据前述EC所述的任一项,具有或者参照至少一个闪存,其中所述至少一个闪存中至少一部分包括以下一个或多个:
基于二维技术的闪存技术,和
基于三维技术的闪存技术。
系统
图1A示出SSD101的实施方式的所选细节,SSD101包括使用传输加密层来管理诸如经由NVM元件(例如,闪存)实施的非易失性存储器的SSD控制器。SSD控制器用于管理诸如经由NVM元件(例如,闪存)实施的非易失性存储器。SSD控制器100经由一个或多个外部接口110通信地耦接到主机(未示出)。根据各种实施方式,外部接口110为以下一个或多个:SATA接口;SAS接口;PCIe接口;光纤信道接口;以太网接口(诸如10Gb以太网);前述接口中任一个的非标准版本;自定义接口;或者用于将存储器和/或通信和/或计算设备互连的任何其它类型接口。例如,在一些实施方式中,SSD控制器100包括SATA接口和PCIe接口。
SSD控制器100还经由一个或多个设备接口190通信地耦接到NVM199,NVM199包括一个或多个存储设备,诸如闪存设备192中一个或多个。根据各种实施方式,设备接口190为以下一个或多个:异步接口;同步接口;单倍数据速率(SDR)接口;双倍数据速率(DDR)接口;DRAM兼容DDR或DDR2同步接口;ONFI兼容接口,诸如ONFI2.2或ONFI3.0兼容接口;开关模式兼容闪存接口;前述接口中任一个的非标准版本;自定义接口;或者用于连接到存储设备的任何其它类型接口。
在一些实施方式中,每个闪存设备192具有一个或多个单独闪存芯片194。根据闪存设备192中特定闪存设备的类型,特定闪存设备192中多个闪存芯片194可视情况和/或选择性地并行存取。闪存设备192仅代表能够通信地耦接到SSD控制器的一个类型存储设备。在各种实施方式中,可使用任何类型存储设备,诸如SLC NAND闪存、MLC NAND闪存、NOR闪存、使用基于多晶硅或氮化硅技术的电荷存储单元的闪存、基于二维或三维技术的闪存、只读存储器、静态随机存取存储器、动态随机存取存储器、铁磁存储器、相变存储器、赛道存储器或者任何其它类型存储器设备或存储介质。
根据各种实施方式,设备接口190组织为:一个或多个总线,每个总线具有一个或多个闪存设备192;一个或多个总线群组,每个总线具有一个或多个闪存设备192,其中群组中总线大体上并行存取;或者一个或多个闪存设备192到设备接口190上的任何其它组织。
接续图1A,SSD控制器100具有一个或多个模块,诸如主机接口111、数据处理121、缓冲器131、映射141、回收站151、ECC161、设备接口逻辑191和CPU171。图1A所示的特定模块和互连仅代表一个实施方式,并且设想到模块以及未示出的另外模块中的一些或者全部的许多排列和互连。在第一实例中,在一些实施方式中,有两个或者两个以上主机接口111以提供双端口。在第二实例中,在一些实施方式中,数据处理121和/或ECC161与缓冲器131组合。在第三实例中,在一些实施方式中,主机接口111直接耦接到缓冲器131,并且数据处理121视情况和/或选择性地对于存储于缓冲器131中的数据进行操作。在第四实例中,在一些实施方式中,设备接口逻辑191直接耦接到缓冲器131,并且ECC161视情况和/或选择性地对于存储于缓冲器131中的数据进行操作。
主机接口111经由外部接口110发送和接收命令和/或数据,并且在一些实施方式中,经由标签跟踪113跟踪个体命令的进度。例如,命令包括指定待读取地址(诸如LBA)和数据量(诸如LBA量子数,例如扇区)的读取命令;作为回应,SSD控制器提供读取状态和/或读取数据。对于另一个实例,命令包括指定待写入地址(诸如LBA)和数据量(诸如LBA量子数,例如扇区)的写入命令;作为回应,SSD控制器提供写入状态和/或请求写入数据并且随后视情况提供写入状态。对于又一个实例,命令包括指定不再需要分配的一个或多个地址(诸如一个或多个LBA)的解分配命令(例如,修剪命令);作为回应,SSD相应地修改映射并且视情况提供解分配状态。在一些情况下,ATA兼容修剪命令是典型解分配命令。对于又一个实例,命令包括超级电容器测试命令或者数据硬化成功查询;作为回应,SSD提供适当状态。在一些实施方式中,主机接口111兼容SATA协议,并且使用NCQ命令能够具有最高32个未决命令,每个未决命令具有表示为从0到31数字的唯一标签。在一些实施方式中,标签跟踪113能够在通过SSD控制器100的处理期间使经由外部接口110接收的命令的外部标签与用于跟踪命令的内部标签相关联。
根据各种实施方式,以下一个或多个:数据处理121视情况和/或选择性地处理在缓冲器131与外部接口110之间发送的一些或者全部数据;和数据处理121视情况和/或选择性地处理存储于缓冲器131中的数据。在一些实施方式中,数据处理121使用一个或多个引擎123来执行以下一个或多个:格式化;再格式化;转码;和任何其它数据处理和/或操纵任务。
缓冲器131存储从设备接口190发送到外部接口110/从外部接口110发送到设备接口190的数据。在一些实施方式中,缓冲器131另外存储由SSD控制器100用于管理一个或多个闪存设备192的系统数据,诸如一些或者全部映射表。在各种实施方式中,缓冲器131具有以下一个或多个:存储器137,用于暂时存储数据;DMA133,用于控制数据移动到缓冲器131和/或从缓冲器131移动;和ECC-X135,用于提供较高级别纠错和/或冗余功能;和其它数据移动和/或操纵功能。较高级别冗余功能的实例是类RAID功能,其中冗余为在闪存设备(例如,闪存设备192中的多个闪存设备)级别和/或闪存芯片(例如,闪存芯片194)级别,而不是在磁盘级别。
根据各种实施方式,以下一个或多个:ECC161视情况和/或选择性地处理在缓冲器131与设备接口190之间发送的一些或者全部数据;和ECC161视情况和/或选择性地处理存储于缓冲器131中的数据。在一些实施方式中,ECC161用于提供较低级别纠错和/或冗余功能,诸如根据一个或多个ECC技术。在一些实施方式中,ECC161实施以下一个或多个:CRC码;海明码;RS码;BCH码;LDPC码;维特比码;格状码;硬判决码;软判决码;基于擦除的码;任何错误检测和/或校正码;和前述任何组合。在一些实施方式中,ECC161包括一个或多个解码器(诸如LDPC解码器)。
设备接口逻辑191经由设备接口190控制闪存设备192的实例。设备接口逻辑191能够根据闪存设备192的协议将数据发送到闪存设备192的实例/从闪存设备192的实例发送数据。设备接口逻辑191包括调度193以经由设备接口190选择性地依次控制闪存设备192的实例。例如,在一些实施方式中,调度193能够使对闪存设备192的实例的操作排队并且当闪存设备192(或者闪存芯片194)的实例中的单独实例为可用时,将操作选择性地发送到闪存设备192(或者闪存芯片194)的实例中的单独实例。
映射141在用于外部接口110上的数据寻址与用于设备接口190上的数据寻址之间转换,使用表143将外部数据地址映射到NVM199中的位置。例如,在一些实施方式中,映射141经由由表143提供的映射将用于外部接口110上的LBA转换为以一个或多个闪存芯片194为目标的块和/或页地址。对于因为驱动器制造或者解分配而从未写入的LBA,如果读取LBA,那么映射点返回到默认值。例如,当处理解分配命令时,修改映射,使得与解分配LBA对应的条目指向默认值之一。在各种实施方式中,有各种默认值,每个默认值具有对应指针。多个默认值能够读取一些解分配LBA(诸如在第一范围内)作为一个默认值,同时读取其它解分配LBA(诸如在第二范围内)作为另一个默认值。在各种实施方式中,默认值由闪存、硬件、固件、命令和/或原始自变量和/或参数、可编程寄存器或者它们各种组合定义。
在一些实施方式中,映射141使用表143来执行和/或查找用于外部接口110上的地址与用于设备接口190上的数据寻址之间的转译。根据各种实施方式,表143为以下一个或多个:一级映射;二级映射;多级映射;映射缓存;压缩映射;从一个地址空间到另一个地址空间的任何类型映射;和前述任何组合。根据各种实施方式,表143包括以下一个或多个:静态随机存取存储器;动态随机存取存储器;NVM(诸如闪存);缓存存储器;片上存储器;片外存储器;和前述任何组合。
在一些实施方式中,回收站151执行垃圾收集。例如,在一些实施方式中,闪存设备192的实例包括在能够再写入块之前必须擦除的块。回收站151能够诸如通过扫描由映射141保持的映射来确定闪存设备192的实例中哪些部分正在主动使用(例如,分配而不是解分配),并且通过擦除它们来使闪存设备192的实例中未使用的(例如,解分配的)部分可用于写入。在进一步的实施方式中,回收站151能够移动存储于闪存设备192的实例内的数据以使闪存设备192的实例中较大连续部分可用于写入。
在一些实施方式中,闪存设备192的实例选择性地和/或动态地配置、管理和/或使用以使一个或多个频带用于存储不同类型和/或属性的数据。频带数目、排列、尺寸和类型可动态变化。例如,来自计算主机的数据写入到热(活跃)频带中,而来自回收站151的数据写入到冷(较不活跃)频带中。在一些使用情况中,如果计算主机写入长的、连续的流,那么热频带尺寸增长,而如果计算主机进行随机写入或者几乎不写入,那么冷频带尺寸增长。
CPU171控制SSD控制器100的各个部分。CPU171包括CPU核心172。根据各种实施方式,CPU核心172为一个或多个单核或多核处理器。在一些实施方式中,CPU核心172中单独处理器核为多线程。CPU核心172包括指令和/或数据缓存和/或存储器。例如,指令存储器包括使CPU核心172能够执行程序(例如软件,有时称为固件)的指令,以控制SSD控制器100。在一些实施方式中,由CPU核心172执行的固件的一些或者全部存储于闪存设备192的实例上(如示,例如,图1B中作为NVM199的固件106)。
在各种实施方式中,CPU171还包括:命令管理173,用于当经由外部接口接收的命令正在进行中时跟踪和控制命令;缓冲器管理175,用于控制分配和使用缓冲器131;转译管理177,用于控制映射141;一致性管理179,用于控制数据寻址一致性并且避免诸如外部数据存取与回收数据存取之间的冲突;设备管理181,用于控制设备接口逻辑191;身份管理182,用于控制身份信息修改和通信;和可选的其它管理单元。根据各种实施方式,由CPU171执行的管理功能中的没有、任何或者全部通过硬件、通过软件(诸如在CPU核心172上或者在经由外部接口110连接的主机上执行的固件)或者它们任何组合来控制和/或管理。
在一些实施方式中,CPU171能够执行其它管理任务,诸如以下一个或多个:采集和/或报告性能统计;实施SMART;控制供电顺序,控制和/或监控和/或调整功耗;应对电源故障;控制和/或监控和/或调整时钟速率;和其它管理任务。
各种实施方式包括与SSD控制器100相似并且诸如经由调适主机接口111和/或外部接口110来与各种计算主机的操作兼容的计算主机闪存控制器。各种计算主机包括计算机、工作站计算机、服务器计算机、存储服务器、SAN、NAS设备、DAS设备、存储设备、PC、膝上型计算机、笔记本计算机、上网本计算机、平板设备或计算机、超级本计算机、电子读取设备(诸如电子阅读器)、PDA、导航系统、(手持式)GPS设备、汽车控制系统、汽车媒体控制系统或计算机、打印机、复印机或传真机或一体机设备、POS设备、现金出纳机、媒体播放器、电视机、媒体记录器、DVR、数字相机、蜂窝式手机、无绳电话机和电子游戏机中的一个或者任何组合。
在各种实施方式中,SSD控制器(或者计算主机闪存控制器)的全部或者任何部分在单个IC、多芯片IC的单个芯片、多芯片IC的多个芯片或者多个IC上实施。例如,缓冲器131与SSD控制器100的其它元件在同一芯片上实施。对于另一个实例,缓冲器131与SSD控制器100的其它元件在不同的芯片上实施。
图1B示出包括图1A中SSD的一个或多个实例的系统的各种实施方式的所选细节。SSD101包括经由设备接口190耦接到NVM199的SSD控制器100。本图示出各类实施方式:单个SSD直接耦接到主机;多个SSD各自分别经由相应外部接口直接耦接到主机;和一个或多个SSD经由各种互连元件间接耦接到主机。
作为单个SSD直接耦接到主机的实例实施方式,SSD101的一个实例经由外部接口110直接耦接到主机102(例如,省略、绕过或者通过交换机/光纤/中间控制器103)。作为各自经由相应外部接口直接耦接到主机的多个SSD的实例实施方式,SSD101的多个实例各自分别经由相应外部接口110实例直接耦接到主机102(例如,省略、绕过或者通过交换机/光纤/中间控制器103)。作为一个或多个SSD经由各种互连元件间接耦接到主机的实例实施方式,SSD101的一个或多个实例各自分别间接耦接到主机102。每个间接耦接经由耦接到交换机/光纤/中间控制器103的外部接口110以及耦接到主机102的中间接口104的相应实例。
包括交换机/光纤/中间控制器103的实施方式中的一些也包括经由存储器接口180耦接且可由SSD存取的卡存储器112C。在各种实施方式中,SSD、交换机/光纤/中间控制器和/或卡存储器中一个或多个包括在物理可识别模块、卡或可插拔元件(例如,I/O卡116)上。在一些实施方式中,SSD101(或其变型)对应于耦接到作为主机102操作的引发器的SAS驱动器或者SATA驱动器。
主机102能够执行主机软件115的各种元件,诸如OS105、驱动程序107、应用程序109和多设备管理软件114的各种组合。虚线箭头107D代表主机软件←→I/O设备通信,例如,从/向经由驱动程序107的OS105、驱动程序107和经由驱动程序107或者直接作为VF的应用程序109中的任何一个或多个向/从SSD101的一个或多个实例发送/接收的数据。
OS105包括用于与SSD对接的驱动程序(由驱动程序107概念性示出)和/或能够与该驱动程序一起操作。Windows各种版本(例如,95、98、ME、NT、XP、2000、Server、Vista和7)、Linux各种版本(例如,Red Hat、Debian和Ubuntu)和MacOS各种版本(例如,9、9和X)为OS105的实例。在各种实施方式中,驱动程序是可与标准接口和/或协议(诸如SATA、AHCI或者高速NVM)一起操作的标准和/或通用驱动程序(有时称为“缩小包装”或者“预安装”),或者视情况定制和/或厂商特定以能够使用对于SSD101特定的命令。一些驱动器和/或驱动程序具有直通模式以启用应用程序级程序,诸如经由最佳化NAND存取(有时称为ONA)或者直接NAND存取(有时称为DNA)技术的应用程序109,以使命令直接传送到SSD101,使定制应用程序甚至能够通过通用驱动程序来使用对于SSD101特定的命令。ONA技术包括以下一个或多个:非标准修改符(提示符)使用;厂商特定命令使用;非标准统计通信,诸如根据可压缩性的实际NVM使用;和其它技术。DNA技术包括以下一个或多个:非标准命令或者对于NVM提供未映射读取、写入和/或擦除存取的厂商特定命令的使用;非标准命令或者对于NVM提供更直接存取的厂商特定命令的使用,诸如通过绕过I/O设备将以其它方式完成的数据格式化;和其它技术。驱动程序实例为不支持ONA或DNA的驱动程序、ONA使能驱动程序、DNA使能驱动程序和ONA/DNA使能驱动程序。更多驱动程序实例为厂商提供、厂商开发和/或厂商增强的驱动程序以及客户端提供、客户端开发和/或客户端增强的驱动程序。
应用程序级程序实例为不支持ONA或DNA的应用程序、ONA使能应用程序、DNA使能应用程序和ONA/DNA使能应用程序。虚线箭头109D代表应用程序←→I/O设备通信(例如,经由驱动程序绕过或者经由应用程序VF绕过),例如,诸如在没有将操作系统或者驱动程序用作中介的应用程序的情况下的与SSD进行通信的ONA使能应用程序和ONA使能驱动程序。虚线箭头109V代表应用程序←→I/O设备通信(例如,经由应用程序VF绕过),例如,诸如在没有将操作系统或者驱动程序用作中介的应用程序的情况下的与SSD进行通信的DNA使能应用程序和DNA使能驱动程序。
在一些实施方式中,NVM199中的一个或多个部分用于固件存储,例如固件106。固件存储包括一个或多个固件图像(或其部分)。例如,固件图像具有例如由SSD控制器100的CPU核心172执行的固件的一个或多个图像。对于另一个实例,固件图像具有例如在固件执行期间由CPU核心引用的常数、参数值和NVM设备信息的一个或多个图像。固件图像例如对应于当前固件图像以及零个以上的先前(相对于固件更新)固件图像。在各种实施方式中,固件提供通用、标准ONA和/或DNA操作模式。在一些实施方式中,固件操作模式中一个或多个经由密钥或者视情况由驱动程序传送和/或提供的各种软件技术启用(例如,一个或多个API被“解锁”)。
在缺乏交换机/光纤/中间控制器的一些实施方式中,SSD经由外部接口110直接耦接到主机。在各种实施方式中,SSD控制器100经由一个或多个中间级其它控制器(诸如RAID控制器)耦接到主机。在一些实施方式中,SSD101(或其变型)对应于SAS驱动器或者SATA驱动器,并且交换机/光纤/中间控制器103对应于扩展器,扩展器反过来耦接到引发器,或备选地,交换机/光纤/中间控制器103对应于桥接器,桥接器经由扩展器间接耦接到引发器。在一些实施方式中,交换机/光纤/中间控制器103包括一个或多个PCIe交换机和/或光纤。
在各种实施方式中,诸如主机102是计算主机(例如,计算机、工作站计算机、服务器计算机、存储服务器、SAN、NAS设备、DAS设备、存储设备、PC、膝上型计算机、笔记本计算机和/或上网本计算机)的实施方式中的一些,计算主机视情况能够与一个或多个本地和/或远程服务器(例如,可选服务器118)进行通信(例如,经由可选I/O和存储设备/资源117和可选LAN/WAN119)。例如,通信能够本地和/或远程存取、管理和/或使用SSD101元件中任何一个或多个。在一些实施方式中,通信完全或者部分经由以太网。在一些实施方式中,通信完全或者部分经由光纤信道。在各种实施方式中,LAN/WAN119代表一个或多个局域网和/或广域网,诸如服务器农场中网络、耦接服务器农场的网络、城域网和因特网中任何一个或多个。
在各种实施方式中,与一个或多个NVM结合的SSD控制器和/或计算主机闪存控制器实施为非易失性存储组件,诸如USB存储组件、CF存储组件、MMC存储组件、eMMC存储组件、雷电(Thunderbolt)存储组件、UFS存储组件、SD存储组件、记忆棒存储组件和xD图像卡存储组件。
在各种实施方式中,SSD控制器(或者计算主机闪存控制器)的全部或者任何部分或其功能在待与控制器耦接的主机(例如,图1B中主机102)中实施。在各种实施方式中,SSD控制器(或者计算主机闪存控制器)的全部或者任何部分或其功能经由硬件(例如,逻辑电路)、软件和/或固件(例如,驱动程序软件或者SSD控制固件)或者它们任何组合进行实施。例如,ECC单元(诸如,与图1A中ECC161和/或ECC-X135相似)或者与ECC单元相关联的功能部分经由主机上软件实施并且部分经由SSD控制器中固件和硬件的组合实施。对于另一个实例,回收站单元(诸如,与图1A中回收站151相似)或者与回收站单元相关联的功能部分经由主机上软件实施并且部分经由计算主机闪存控制器中硬件实施。
传输加密使用和操作的实例
图2示出将加密传输技术用于管理诸如图1A所示的非易失性存储器的加密传输SSD200的具体应用的实例。计算机202用于选择和支付按观看收费的电影的租金,按观看收费的电影然后经由因特网从远程服务器204下载,暂时存储于加密传输SSD200上,并且传送到VGA显示器206进行观看。因此,当从服务器转移时保护电影(例如,防止窃取),直至作为控制VGA显示器的VGA视频信号208从计算机出现。
电影以加密格式从服务器传输,以加密格式存储于SSD内,并且以加密格式传送到VGA控制器210。在一些情况下,VGA视频信号208不适合高质量视频记录,从而降低了电影将被窃取为VGA视频信号的可能性。
通过在远程服务器与加密传输SSD200之间建立安全通信链路(由虚线212概念性示出),计算机开始电影加密传输。一旦建立安全通信链路,充当主机的远程服务器与SSD交换加密密钥。远程服务器根据交换密钥对于电影进行加密,并且经由安全通信链路将加密电影传送到加密传输SSD200进行暂时存储,等待观看。
加密传输SSD200对于下载电影进行压缩以存储于闪存214中。在一些实施方式和/或使用情况中,压缩能够例如使闪存写入放大最小化和/或明显增加存储容量。然而,在一些情况下,加密电影未有效压缩。因此,在安全物理边界(SSD控制器)216(例如,实施为单个集成电路)内,SSD使用交换加密密钥对于下载电影进行解密。解密的电影被压缩并且然后在从安全物理边界(SSD控制器)216导出到闪存214进行存储之前进行再加密。当下载完成时,远程服务器与安全通信链路断开连接。
为了开始观看电影,计算机在VGA控制器210与加密传输SSD200之间建立安全通信链路(由虚线218概念性示出),提供下载电影的存储地址。在充当主机的VGA控制器与加密传输SSD200之间有加密密钥交换。加密传输SSD200从闪存214检索存储电影,在安全物理边界(SSD控制器)216内对于检索电影进行解密,对于结果进行解压缩,使用交换加密密钥进行再加密,并且然后将再加密电影导出到VGA控制器210。VGA控制器接收加密电影,并且在VGA控制器210的安全物理边界(SSD控制器)220内,使用交换加密密钥对于电影进行解密,并且提供VGA控制信号208,使经由VGA显示器206观看电影成为可能。在安全物理边界(SSD控制器)216和安全物理边界(VGA控制器)220以外电影都不是采用受篡改或者窃取影响的未加密形式的电影。
在一些实施方式中,远程服务器与SSD之间安全通信链路使用几个元件:远程服务器与计算机之间耦接222,通过计算机传输,并且计算机与SSD之间耦接。远程服务器与计算机之间的耦接222经由例如远程服务器204以及是到因特网(未示出)的耦接,是经由因特网的传输,并且是经由计算机202的网络接口到因特网的另一个耦接。计算机与SSD之间耦接是经由例如计算机202(未示出)的存储接口以及加密传输SSD200的外部接口。在一些实施方式中,VGA控制器与SSD之间的安全通信链路使用几个要素:通过计算机传输,并且在计算机与SSD之间耦接224。
在各种实施方式中,加密传输SSD200根据图1A所示的一个或多个要素进行实施。例如,闪存214对应于图1A中NVM199,和/或SSD与计算机之间的耦接224对应于图1A中一个或多个外部接口110。在各种情况下,图2所示的特定应用根据图1B所示的一个或多个元件进行实施。例如,加密传输SSD200对应于图1B中SSD101的实例,计算机202对应于图1B中主机102。
传输加密层实施方式
在以上实例中,远程服务器204在按观看付费电影的下载和存储期间为主机。然后,在观看期间,VGA控制器210作为主机执行。如相对于图2、图3A、图3B、图4和图5使用的术语,“主机”的实例是在数据加密传输期间与加密传输SSD的特定实施方式执行加密密钥交换和数据加密/解密的系统平台。
图3A、图3B、图4和图5示出加密传输SSD的功能的特定实施方式的细节。图3A示出包括两级后压缩数据加密的写入数据路径功能。图3B示出包括两级预解压缩解密的读取数据路径功能,其与“反向”图3A中写入数据路径功能兼容。图4示出用于对于加密/解密密钥且对于主机与加密传输SSD之间数据传送建立安全通信链路的握手。图5示出主机与加密传输SSD之间的写入和读取数据传送操作,包括诸如图3A和图3B所示的数据路径。
图3A中的框图示出主机300与加密传输SSD302通信地耦接以交换加密密钥并且传输加密数据304以存储于闪存306中。加密传输SSD302包括闪存306和SSD控制器308。在各种实施方式和/或使用情况中,加密传输SSD302、SSD控制器308和闪存306分别对应于图1A中SSD101、SSD控制器100和NVM199。
在特定实施方式中,SSD控制器308包括写入数据路径310,用于处理主机300与闪存306之间加密数据传输。写入数据路径310包括会话解密层314、无损压缩层316、内部加密层318、后端加密层320和写入格式化层322。写入数据路径310接收加密数据304并且导出加密格式化数据312以存储于闪存306中。
在一些实施方式中,写入数据路径310的一个或多个操作的任何部分通过图1A中SSD101的一个或多个元件的多个部分进行执行。例如,数据处理121的多个部分结合缓冲器131、ECC161、设备接口逻辑191和设备接口190执行写入数据路径310的操作。在其它实施方式中,上述层中一个或多个在一个或多个专用硬件逻辑电路方块和/或一个或多个嵌入式处理器及相关联固件中实施。当SSD控制器308在单个集成电路内实施时,单个集成电路提供安全物理边界(未示出),确保解密数据326和压缩数据328中解密信息以及任何交换密钥为安全(例如,防止篡改或者窃取)。
在一些实施方式中,在加密数据写入到闪存306之前,主机300和加密传输SSD302建立安全连接,并且交换会话加密/解密密钥。在一些情况下,主机发出写入命令、存储地址,然后使用会话加密密钥(图3A中示出为KH)开始加密数据,并且导出结果304。
SSD控制器308接收加密数据304并且在会话解密层314处使用会话解密密钥(图3A中示出为KC)对于接收数据进行解密,产生解密数据326。解密数据326通过无损压缩层316进行压缩,产生压缩数据328。在一些实施方式和/或使用情况中,无损压缩有利地减少写入放大因子和/或通过减少必须存储的数据量来显著增加写入到闪存的数据的存储容量。在特定实施方式中,压缩技术为LZ无损压缩(例如,字典编码器,诸如LZ77)。
压缩数据328通过内部加密层318进行加密,产生加密的、压缩的数据330。在特定实施方式中,内部加密层318使用由主机300使用的会话加密技术来产生加密数据304(例如,与KB=KH相同的加密算法)。在另一个实施方式中,内部加密层318的加密技术由安全性协议(诸如,例如TCG Opal)确定。在安全性协议的特定实施方式中,由内部加密层318使用的加密密钥KB至少部分由元数据(诸如存储地址范围)确定。在另一个实施方式中,有多个地址范围,每个地址范围与相应加密密钥相关联。在进一步的实施方式中,如果地址范围均不匹配,那么有全局“以上均不”密钥。
在一些实施方式中,加密的、压缩的数据330在后端加密层320处使用加密密钥KA进行二次加密,产生后端加密数据332。在另一个特定实施方式中,后端加密层320使用加密技术和/或与由内部加密层318使用的密钥(例如,KA=KB)不同的密钥。在其它实施方式中,使用扰码器而不是加密。
后端加密数据332通过写入格式化层322经由诸如存储地址映射、纠错编码和调制技术进行处理,产生导出到闪存306的加密格式化数据312。
在写入数据路径310(未示出)的另一个实施方式中,内部加密层318不存在,使压缩数据328能够直接输入到后端加密层320。在各种实施方式中,单级、后压缩加密写入数据路径采用以下之一:(a)后端加密;(b)如由主机300使用的传输会话加密;和(c)由安全性协议确定的加密。
在写入数据路径310(未示出)的另一个实施方式中,由主机发送的数据未进行加密,而是作为明文发送。会话解密层314不存在,使数据能够从主机直接输入到无损压缩层316。内部加密密钥KB值由安全性协议确定。后端加密层329使用密钥KA来执行后端加密。
在写入数据路径310(未示出)的另一个实施方式中,会话解密层314和内部加密层318都不存在。从主机输入的明文数据直接应用于无损压缩层316,并且压缩数据328直接应用于后端加密层320。后端加密密钥KA值为以下之一:(a)后端加密密钥值;和(b)由安全性协议确定的值。
图3B所示的框图示出主机300与加密传输SSD302通信地耦接以交换加密密钥和将加密数据304从加密传输SSD302中存储器传输到主机300。本图示出与图3A所示的加密传输SSD的写入数据路径功能兼容的读取数据路径功能的实施方式的所选细节,读取数据路径功能包括两级预解压缩解密。
在特定实施方式中,SSD控制器308包括读取数据路径346以处理闪存306与主机300之间加密数据传输。读取数据路径346包括读取解格式化层336、后端解密层338、内部解密层340、读取解压缩层342和会话加密层344。读取数据路径346从闪存306中的存储器导入加密格式化数据312并且将加密数据304输出到主机300。
在一些实施方式中,读取数据路径346的一个或多个操作的任何部分通过图1A中SSD101的一个或多个元件的多个部分进行执行。例如,数据处理121的多个部分结合缓冲器131、ECC161、设备接口逻辑191和设备接口190执行读取数据路径346的操作。在其它实施方式中,上述层中一个或多个在一个或多个专用硬件逻辑电路方块和/或一个或多个嵌入式处理器及相关联固件中实施。当SSD控制器308在单个集成电路内实施时,单个集成电路提供安全物理边界(未示出),确保解密数据326和压缩数据328中解密信息以及任何交换密钥为安全(例如,防止篡改或者窃取)。
在一些实施方式中,在加密格式化数据312从闪存306读取之前,主机300和加密传输SSD302建立安全连接,并且交换会话加密/解密密钥。在一些情况下,主机发出读取命令和检索地址,然后等待通过加密传输SSD302传送加密数据304。主机300使用会话解密密钥(图3B中示出为KH)对于接收数据进行解密。
SSD控制器308从闪存306导入加密格式化数据312。SSD控制器308在读取解格式化层336处经由诸如存储地址映射、纠错解码和解调技术对于导入数据解格式化(unformat),产生后端加密数据332。后端加密数据332在后端解密层338处进行解密,产生加密的、压缩的数据330。加密的、压缩的数据330在内部解密层340处进行解密,产生压缩数据328。压缩数据328在读取解压缩层342处进行解压缩,产生解密数据326。解密数据326通过会话加密层344使用会话加密密钥KC进行加密,产生加密数据304。读取操作为写入操作的反向模拟。读取解格式化层336、解密层338和340、读取解压缩层342和会话加密层344使引起数据存储于闪存306中的写入操作的效果反向。
当在写入期间由内部加密层318使用的加密密钥KB至少部分已经由元数据(诸如存储地址范围)确定时,或者在相应加密密钥已经由多个地址范围确定的情况下,或者在因为地址范围均不匹配而使用“以上均不”密钥的情况下,对应解密密钥由内部解密层340使用以产生压缩数据328。
在读取数据路径346(未示出)的另一个实施方式中,内部解密层340不存在,使后端解密数据能够直接输入到读取解压缩层342。在各种实施方式中,单级、预解压缩解密读取数据路径采用以下之一:(a)后端解密;(b)如由主机300使用的传输会话解密;和(c)由安全性协议确定的解密。
在读取数据路径346(未示出)的另一个实施方式中,由主机接收的数据未进行加密,而是作为明文发送。会话加密层344不存在,使读取解压缩层342能够将数据直接提供给主机。内部解密密钥KB值由安全性协议确定。后端解密层338使用密钥KA使在写入数据到闪存期间使用的后端加密反向。
在读取数据路径346(未示出)的另一个实施方式中,内部解密层340和会话加密层344都不存在,使后端解密数据能够直接输入到读取解压缩层342,并且使读取解压缩层342能够将数据作为明文直接提供给主机。后端解密层338使用(a)后端加密密钥值和(b)由安全性协议确定的值中之一使在写入数据到闪存期间使用的后端加密反向。
在其它实施方式(未示出)中,在主机与加密传输SSD之间发送的数据进行选择性通信加密并且以其它方式作为明文进行通信。例如,主机数据的一个或多个地址范围以加密形式进行通信(诸如根据相应密钥,例如如在TCG-Opal中),而其它地址范围以明文形式进行通信。对于另一个实例,来自主机的命令类型指定数据进行通信加密或者作为明文进行通信(诸如读取或写入加密命令以及读取或写入明文命令)。
在各种实施方式中,足够资源在SSD控制器中实施以使主机-闪存写入数据路径(诸如写入数据路径310)和闪存-主机读取数据路径(诸如读取数据路径346)能够同时且无干扰地操作,使能够在主机与加密传输SSD之间同时且无干扰地双向写入和读取操作。在其它实施方式中,写入和读取数据路径中任何或全部部分进行共享,防止在主机与加密传输SSD之间同时和/或无干扰地写入和读取操作,但能够减少硬件(例如,在一些情况下,有利地减少成本)。
图4为示出主机与SSD控制器之间安全通信链路的创建、使用和抛弃的实施方式的流程图,SSD控制器用于例如在加密传输SSD上下文中进行加密传输数据传送,诸如相对于图2、图3A和图3B示出和说明。主机动作409示出在右手侧,而控制器动作419示出在左右侧。
总之,建立安全通信链路,主机和控制器各自对于对方身份进行验证,交换对称加密/解密密钥,进行加密数据传送,并且当完成时,通信链路断开连接,并且控制器销毁其对称加密/解密密钥的副本。
在开始401处,主机进行打开信道请求402,打开信道请求402引起控制器前进到打开信道接受412。打开信道接受412由主机看到并且前进到主机侧验证403。控制器前进到控制器侧验证413。在一些情况下,一旦两侧都已经验证对方侧身份,每侧就发送公开加密密钥到另一侧,完成安全通信链路创建。
使用安全通信链路,两侧交换对称加密/解密密钥(控制器侧密钥交换414和主机侧密钥交换404)。在一些实施方式中,使用AES加密技术,诸如AES128、AES192和AES256。在实施方式中,对于通过两侧的加密和解密两者使用单个密钥(KC=KH)。
安全流量交换发生(控制器侧安全流量交换415和主机侧安全流量交换405),在安全流量交换期间,例如如图3A的加密数据写入操作、例如如图3B的加密数据读取操作或者两者发生。例如,如通过对称加密/解密密钥交换确定的密钥KC对应于图3A中会话解密层314和图3B中会话加密层344的密钥KC。从主机发送到控制器的数据由参考标号508指定(到控制器侧508的主机侧安全流量),而从控制器发送到主机的数据由参考标号510指定(到主机侧510的控制器侧安全流量)。
在一些实施方式中,视情况采用概念上在安全流量交换“之下”操作的安全性协议。控制器接收和存储用于确定内部加密/解密密钥的信息和/或协议信息以使基于控制器侧安全性协议的存取成为可能,由控制器侧TCG Ops/存储器存取415X示出。主机确定和/或接收且然后存储用于确定内部加密/解密密钥的对应信息和/或协议信息以使基于主机侧安全性协议的存取成为可能,由主机侧TCG Ops/存储器存取405X示出。具有可选安全性协议的安全流量交换使用内部加密/解密密钥和/或与控制器侧TCGOps/存储器存取415X相关联的协议信息以将密钥信息提供给内部加密层318(如图3A所示主机写入)和内部解密层340(如图3B所示主机读取)。在一些实施方式中,例如,基于TCG Opal作为安全性协议的一些实施方式,内部加密/解密层的密钥信息依赖于与主机请求相关联的一个或多个地址范围。
当安全流量交换已经完成时,主机侧前进到关闭信道请求406,并且控制器侧前进到关闭信道接受416。安全通信链路抛弃,并且控制器销毁其对称加密/解密密钥KC的副本(销毁密钥417)。
图5为示出加密传输SSD控制器(诸如相对于图2、图3A、图3B和图4示出和说明)的数据路径控制和/或操作的实施方式的流程图。图5中,写入数据路径控制操作501至507为在左手侧,读取数据路径控制操作517至511在右手侧。数据路径控制和/或操作适用于两级后压缩加密数据,诸如图3A和图3B所示,并且对应于在图4中控制器侧安全流量交换415期间发生的事件。可适用于图5的实例操作范围为图1B,其中,概念上,主机102经由SSD控制器100写入加密数据到NVM199,并且经由SSD控制器从NVM199读取加密数据。
在写入操作期间,SSD控制器接收加密写入数据(接收写入数据501)(例如,从主机),并且使用交换加密/解密密钥KH(KC=KH)(密钥=KH522K)(例如,经由图3A中314)对于加密写入数据进行解密(解密写入数据502)。解密数据进行压缩(压缩解密数据503)(例如,经由图3A中316)。压缩数据通过内部加密层使用内部加密密钥KB进行加密(加密压缩数据504)(例如,经由图3A中318)。加密的、压缩的数据通过后端加密层使用后端加密密钥KA(密钥=KA525K)进行(再)加密(例如,经由图3A中320)。后端加密数据进行调制(调制(再)加密数据506)(例如,经由图3A中322)并且存储于NVM199中(存储调制数据507)。在一些实施方式中,内部加密密钥KB不同于用于接收写入数据的密钥(KB!=KC)(密钥=KB524K)。在其它实施方式中,KB值由安全性协议确定,并且在特定实施方式中,KB=KH。参考标号508(到控制器侧508的主机侧安全流量)表示从主机传送到SSD控制器的数据,而参考标号510(到主机侧510的控制器侧安全流量)表示从SSD控制器传送到主机的数据。
在读取操作期间,SSD控制器从NVM199导入加密格式化数据(读取数据517),对于读取数据进行解调(解调读取数据516)(例如,经由图3B中336)。解调数据进行解密(解密解调数据515)(例如,经由图3B中338),并且结果再次进行解密(解密解密数据514)(例如,经由图3B中340)。结果进行解压缩(解压缩(再)解密数据513)(例如,经由图3B中342),然后进行加密(加密解压缩数据512)(例如,经由图3B中344),并且所得加密数据提供给主机102(提供加密数据511)。
实例实施技术
在一些实施方式中,由加密传输SSD控制器(例如,具有闪存)、计算主机闪存控制器和/或SSD控制器(诸如图1A中SSD控制器100)以及处理器、微处理器、片上系统、应用特定集成电路、硬件加速器或者提供上述操作全部或者部分的其它电路执行的操作全部或者部分的各种组合由与通过计算机系统的处理兼容的规范指定。规范为根据各种描述,诸如硬件描述语言、电路描述、网表描述、掩膜描述或者布局描述。实例描述包括:Verilog、VHDL、SPICE、SPICE变型(诸如PSpice)、IBIS、LEF、DEF、GDS-II、OASIS或者其它描述。在各种实施方式中,处理包括解译、编译、模拟和合成中任何组合,以产生、验证或者指定适合于包括在一个或多个集成电路上的逻辑和/或电路。根据各种实施方式,每个集成电路可根据多种技术设计和/或制造。技术包括可编程技术(诸如现场或者掩膜可编程门阵列集成电路)、半定制技术(诸如完全或者部分基于晶元的集成电路)和全定制技术(诸如基本上指定的集成电路)、它们任何组合或者与集成电路设计和/或制造兼容的任何其它技术。
在一些实施方式中,如由计算机可读介质(一组指令存储于其中)说明的操作全部或者部分的各种组合通过执行和/或解译一个或多个程序指令、通过解译和/或编译一个或多个源和/或脚本语言语句或者通过执行二进制指令(通过编译、转译和/或解译在编程和/或脚本语言语句中表达的信息来产生)进行执行。语句兼容任何标准编程或者脚本语言(诸如C、C++、Fortran、Pascal、Ada、Java、VBscript和Shell)。程序指令、语言语句或者二进制指令中一个或多个视情况存储于一个或多个计算机可读存储介质元件上。在各种实施方式中,程序指令中一些、全部或者各个部分实现为一个或多个功能、例程、子例程、直插例程、程序、宏或其部分。
结论
某些选择在说明中仅为了便于准备文字和图式而作出,并且除非另有指示,选择本质上不应理解为传达与实施方式的结构或者操作有关的另外信息。选择实例包括:用于附图的标号的特定组织或者指派;和用于识别和引用实施方式的特征和元件的元件标识符(例如,标注或者数字标号)的特定组织或者指派。
单词“包括(includes)”或者“包括(including)”特定地旨在理解为说明开放范围逻辑组的抽象概念,并且除非以下单词“在…内”明确指示,否则并不是指传达物理防范。
虽然前述实施方式为了说明和理解清晰已经进行详细说明,但是本发明并不限于所提供的细节。本发明有许多实施方式。所公开实施方式为示例性且并不限制。
应当理解,与说明一致的许多结构、排列和使用变化可行,并且在已发行专利的权利要求范围内。例如,根据各种实施方式,互连和功能单元位宽、时钟速度和所使用技术类型在每个组件方块中可变。给予互连和逻辑的名称仅为示例性,并且不应理解为限制概念。根据各种实施方式,流程图和流程图处理、动作和功能元件的顺序和排列可变。此外,除非另有明确指出,所指定值范围、所使用最大值和最小值或者其它特定规范(诸如闪存技术类型;和寄存器和缓冲器中条目或者级数)仅为实施方式的值范围、最大值和最小值或者其它特定规范,期望跟踪实施技术改进和改变,并且不应理解为限制。
可采用本领域中已知的功能等同技术,而不是说明为实施各种组件、子系统、操作、功能、例程、子例程、直插例程、程序、宏或其部分的技术。也应当理解,实施方式的许多功能方面可在硬件(例如,基本上专用电路)或者软件中(例如,经由编程控制器或者处理器的某个方式)选择性实现为与更快处理(有利于硬件中先前功能迁移到软件中)和更高集成密度(有利于软件中先前功能迁移到硬件中)的设计约束和技术趋势有关的实施方式功能。各种实施方式中特定变化包括但不限于:分区不同;不同外形规格和配置;不同操作系统和其它系统软件使用;不同接口标准、网络协议或者通信链路使用;和当根据特定应用的唯一工程和业务约束来实施本文的概念时期望的其它变化。
通过远远超出实施方式的许多方面的最小实现所需的细节和环境背景描述了实施方式。本领域的普通技术人员应当明白,在不改变其余元件之间基本协作的情况下,一些实施方式省略所公开组件或者特征。因此,应当理解,所公开细节中许多并不需要实施实施方式的各个方面。在一定程度上,其余元件与现有技术可区分,所省略组件和特征并不限制本文的概念。
所有设计变化都是由描述的实施方式传达的教学的微不足道的变化。也应当理解,本文的实施方式对于其它计算和联网应用具有广泛适用性,并且并不限于实施方式的特定应用或者行业。因此,本发明应当理解为包括所有可行修改和变化,均包括在已发行专利的权利要求范围内。

Claims (21)

1.一种系统,包括:
用于从主机接收加密数据和存储地址的构件;
用于解密用于接收的构件的至少一些结果的构件;
用于压缩用于解密的构件的所述至少一些结果以有利地减少写入放大的构件;
用于加密用于压缩的构件的至少一些结果的构件;
用于格式化用于加密的构件的至少一些结果的构件;
用于根据所述存储地址将用于格式化的构件的至少一些结果存储在一个或多个非易失性存储器(NVM)中的构件;并且
其中,所述用于接收的构件、所述用于解密的构件、所述用于压缩的构件、所述用于加密的构件和所述用于格式化的构件均至少部分包括在固态盘(SSD)的控制器中,并且所述SSD包括所述NVM和所述控制器。
2.根据权利要求1所述的系统,还包括:
用于与所述主机交换一个或多个加密/解密密钥的构件;并且
其中,所述用于解密的构件使用所交换的密钥的至少一部分来解密所接收的加密数据。
3.根据权利要求2所述的系统,其中,所述用于解密的构件、所述用于压缩的构件和所述用于加密的构件在安全物理边界内。
4.根据权利要求3所述的系统,其中,所述安全物理边界包括单个集成电路。
5.根据权利要求3所述的系统,还包括用于将所交换的密钥的至少一部分保存在所述安全物理边界内的构件。
6.根据权利要求1所述的系统,其中,所述用于压缩的构件实施无损压缩。
7.根据权利要求1所述的系统,其中,所述加密数据根据安全协议来加密。
8.根据权利要求7所述的系统,其中,所述安全协议使用元数据来确定加密/解密密钥。
9.根据权利要求8所述的系统,其中,所述安全协议是受信任计算组(TCG)Opal。
10.根据权利要求8所述的系统,其中,所述加密/解密密钥至少部分通过所述元数据的存储地址范围来确定。
11.根据权利要求10所述的系统,其中,所述加密/解密密钥中每个相应加密/解密密钥至少部分通过所述元数据的相应存储地址范围来确定。
12.根据权利要求1所述的系统,其中,所述用于加密的构件是用于内部加密的构件,并且其中,所述系统还包括能够在所述用于内部加密的构件与所述用于格式化的构件之间操作的用于后端加密的构件。
13.一种方法,包括:
从主机接收存储地址;
根据所述存储地址从一个或多个非易失性存储器(NVM)导入格式化的、加密的、压缩的数据;
将所导入的数据中的至少一些解格式化;
将所解格式化的数据中的至少一些解密;
将所解密的数据中的至少一些解压缩;
将所解压缩的数据中的至少一些加密;
将所加密的数据中的至少一些导出到所述主机;并且
其中,所述导入、所述解格式化、所述解密、所述解压缩、所述加密和所述导出均至少部分经由固态盘(SSD)的控制器,并且所述SSD包括所述NVM和所述控制器。
14.根据权利要求13所述的方法,还包括:
与所述主机交换加密/解密密钥;并且
其中,所述加密使用所交换的密钥的至少一部分来加密所解压缩的数据。
15.根据权利要求13所述的方法,还包括:在安全物理边界内执行所述解密、所述解压缩和所述加密。
16.一种系统,包括:
主机接口,能够从主机接收加密数据;
解密硬件层,能够至少部分使用会话解密密钥来将所述加密数据的至少一部分解密;
无损压缩硬件层,能够将所述解密硬件层的至少一部分结果无损压缩;
内部加密硬件层,能够将所述无损压缩硬件层的至少一部分结果加密;
后端加密硬件层,能够将所述内部加密硬件层的至少一部分结果加密;
闪存接口,耦接以接收所述后端加密硬件层的至少一部分结果并且能够将所述后端加密硬件层的所述至少一部分结果写入到一个或多个闪存中;
其中,所述内部加密硬件层能够选择性地绕过;
其中,所述硬件层包括在固态盘(SSD)中;并且
其中,所述主机接口与存储接口标准兼容。
17.根据权利要求16所述的系统,还包括所述闪存。
18.根据权利要求16所述的系统,其中,所述主机能够加密明文以产生所述加密数据,并且所述系统还包括所述主机。
19.一种有形计算机可读介质,具有存储于其中的一组指令,所述一组指令在由存储设备的处理元件执行时使所述处理元件执行和/或控制包括以下项的操作:
从计算主机接收数据;
选择性地启用操作的多个模式之一,所述模式包括
操作的加密模式,包括:
将所接收的数据的至少一部分解密,
将所解密的数据的至少一部分压缩,
将所压缩的、解密的数据的至少一部分再加密,并且
将所再加密的数据的至少一部分作为加密模式写入数据提供;以及
操作的非加密模式,包括:
将所接收的数据的至少一部分压缩,并且
将所压缩的、接收的数据的至少一部分作为非加密模式写入数据提供;
在所述操作的加密模式中,选择所述加密模式写入数据作为所选择的模式写入数据;
在所述操作的非加密模式中,选择所述非加密模式写入数据作为所选择的模式写入数据;
将所选择的模式写入数据格式化以存储在一个或多个非易失性存储器(NVM)中;并且
其中,所述有形计算机可读介质和所述处理元件包括在固态盘(SSD)中。
20.根据权利要求19所述的有形计算机可读介质,其中,所述NVM中的至少一个包括在所述SSD中。
21.根据权利要求19所述的有形计算机可读介质,其中,所述格式化包括将所选择的模式写入数据选择性地加密。
CN201280031047.3A 2011-04-29 2012-04-20 加密传输固态盘控制器 Pending CN103620690A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161480518P 2011-04-29 2011-04-29
US61/480,518 2011-04-29
PCT/US2012/034452 WO2012148812A2 (en) 2011-04-29 2012-04-20 Encrypted transport solid-state disk controller

Publications (1)

Publication Number Publication Date
CN103620690A true CN103620690A (zh) 2014-03-05

Family

ID=47073006

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280031047.3A Pending CN103620690A (zh) 2011-04-29 2012-04-20 加密传输固态盘控制器

Country Status (7)

Country Link
US (2) US9069703B2 (zh)
EP (1) EP2702592A4 (zh)
JP (2) JP2014513484A (zh)
KR (2) KR101451369B1 (zh)
CN (1) CN103620690A (zh)
TW (1) TWI492088B (zh)
WO (1) WO2012148812A2 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105790932A (zh) * 2016-02-25 2016-07-20 四川长虹电器股份有限公司 一种通过使用机器码为基础的加密方法
CN105868642A (zh) * 2015-09-28 2016-08-17 深圳创久科技有限公司 数据加密的闪存控制器以及写入或读取数据加密方法
CN107341405A (zh) * 2017-06-30 2017-11-10 记忆科技(深圳)有限公司 一种数据传输过程的加密方法
WO2017219364A1 (zh) * 2016-06-24 2017-12-28 华为技术有限公司 处理数据的方法、存储装置、固态硬盘和存储系统
CN107688750A (zh) * 2016-08-05 2018-02-13 波音公司 用于集成存储介质的静止数据(dar)加密
CN108874971A (zh) * 2018-06-07 2018-11-23 北京赛思信安技术股份有限公司 一种应用于海量标签化实体数据存储的工具和方法
CN109997142A (zh) * 2017-01-09 2019-07-09 净睿存储股份有限公司 具有端到端安全性的数据缩减
CN110568992A (zh) * 2018-06-06 2019-12-13 华为技术有限公司 一种数据处理装置及方法
CN110908600A (zh) * 2019-10-18 2020-03-24 华为技术有限公司 数据访问方法、装置和第一计算设备
CN112487380A (zh) * 2020-12-16 2021-03-12 江苏国科微电子有限公司 一种数据交互方法、装置、设备及介质
TWI746933B (zh) * 2018-05-22 2021-11-21 日商東芝記憶體股份有限公司 控制非揮發性記憶體之記憶體系統及方法

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103797492B (zh) 2011-07-27 2016-09-21 希捷科技有限公司 用于安全存储劫持保护的方法和装置
US10838646B2 (en) 2011-07-28 2020-11-17 Netlist, Inc. Method and apparatus for presearching stored data
US10198350B2 (en) 2011-07-28 2019-02-05 Netlist, Inc. Memory module having volatile and non-volatile memory subsystems and method of operation
US10380022B2 (en) 2011-07-28 2019-08-13 Netlist, Inc. Hybrid memory module and system and method of operating the same
US9626517B2 (en) * 2013-01-23 2017-04-18 Seagate Technology Llc Non-deterministic encryption
TWI514834B (zh) * 2013-02-01 2015-12-21 Ju Long Wei 機敏資料加密演算儲存裝置
US9379738B2 (en) * 2013-03-13 2016-06-28 Marvell World Trade Ltd. Systems and methods for decoding using partial reliability information
JP6139010B2 (ja) * 2013-03-15 2017-05-31 インテル・コーポレーション デバイス
US8996889B2 (en) * 2013-03-29 2015-03-31 Dropbox, Inc. Portable computing device with methodologies for client-side analytic data collection
US9058295B2 (en) * 2013-04-25 2015-06-16 Hewlett-Packard Development Company, L.P. Encrypt data of storage device
US9379892B2 (en) * 2013-05-30 2016-06-28 Toshiba America Electronic Components, Inc. Trusted manager bridge
US10078754B1 (en) * 2013-09-24 2018-09-18 Amazon Technologies, Inc. Volume cryptographic key management
KR20160083926A (ko) 2013-11-07 2016-07-12 넷리스트 인코포레이티드 하이브리드 메모리 모듈, 및 그를 동작시키는 시스템 및 방법
US11182284B2 (en) 2013-11-07 2021-11-23 Netlist, Inc. Memory module having volatile and non-volatile memory subsystems and method of operation
KR20160000697A (ko) 2014-06-25 2016-01-05 (주)수도프리미엄엔지니어링 동결방지용 음수대
CN104598399A (zh) * 2015-02-06 2015-05-06 浪潮集团有限公司 一种加密固态硬盘
CN104598843A (zh) * 2015-02-06 2015-05-06 浪潮集团有限公司 一种加密ssd认证方法
US10255200B2 (en) * 2015-02-25 2019-04-09 Western Digital Technologies, Inc. Data storage device and method of operation using multiple security protocols
US20160259754A1 (en) 2015-03-02 2016-09-08 Samsung Electronics Co., Ltd. Hard disk drive form factor solid state drive multi-card adapter
US9984238B1 (en) 2015-03-30 2018-05-29 Amazon Technologies, Inc. Intelligent storage devices with cryptographic functionality
US10148761B2 (en) 2015-04-09 2018-12-04 Web Sensing, Llc System-on-chip data security appliance and methods of operating the same
US10938913B2 (en) 2015-04-09 2021-03-02 Web Sensing, Llc Hardware turnstile
CN106155812A (zh) 2015-04-28 2016-11-23 阿里巴巴集团控股有限公司 一种对虚拟主机的资源管理的方法、装置、系统及电子设备
EP3304322A4 (en) * 2015-06-05 2018-11-07 Nutanix, Inc. Optimizable full-path encryption in a virtualization environment
US10613756B2 (en) * 2015-09-03 2020-04-07 Qualcomm Incorporated Hardware-accelerated storage compression
KR101699955B1 (ko) * 2015-09-21 2017-01-26 주식회사 텔레칩스 Dram 데이터 변조 자동 탐지 시스템 및 방법
US10361714B2 (en) * 2015-12-16 2019-07-23 International Business Machines Corporation Reading and writing compressed data using long-term storage
US10592110B2 (en) 2016-02-19 2020-03-17 International Business Machines Corporation Techniques for dynamically adjusting over-provisioning space of a flash controller based on workload characteristics
US10163508B2 (en) 2016-02-26 2018-12-25 Intel Corporation Supporting multiple memory types in a memory slot
US9852025B2 (en) 2016-03-29 2017-12-26 Alibaba Group Holding Limited Protecting data stored on a solid state drive
US20180034787A1 (en) * 2016-08-01 2018-02-01 Vormetric, Inc. Data encryption key sharing for a storage system
CN108073353B (zh) 2016-11-15 2020-04-14 华为技术有限公司 一种数据处理的方法及装置
US10373528B2 (en) 2016-12-14 2019-08-06 Western Digital Technologies, Inc. Cell-level realization of burn after reading for NAND flash
CN106599735B (zh) * 2017-02-13 2023-10-24 珠海格力电器股份有限公司 数据保护装置、方法以及存储控制器
US11030118B2 (en) * 2017-03-07 2021-06-08 Rambus Inc. Data-locking memory module
US10542089B2 (en) * 2017-03-10 2020-01-21 Toshiba Memory Corporation Large scale implementation of a plurality of open channel solid state drives
GB2560585A (en) * 2017-03-17 2018-09-19 Digi Me Ltd Data processing apparatus and methods
US20180314629A1 (en) * 2017-04-27 2018-11-01 British Cayman Islands Intelligo Technology Inc. Managing parallel access to a plurality of flash memories
TWI648741B (zh) * 2017-06-05 2019-01-21 慧榮科技股份有限公司 資料儲存裝置之控制器以及進階資料抹除的方法
US10540198B2 (en) * 2017-07-01 2020-01-21 Intel Corporation Technologies for memory replay prevention using compressive encryption
US10564890B2 (en) * 2017-07-07 2020-02-18 Seagate Technology Llc Runt handling data storage system
GB2566263A (en) 2017-09-01 2019-03-13 Trustonic Ltd Post-manufacture certificate generation
GB2566265B (en) * 2017-09-01 2020-05-13 Trustonic Ltd Post-manufacture generation of device certificate and private key for public key infrastructure
JP6789906B2 (ja) * 2017-09-20 2020-11-25 キオクシア株式会社 データ蓄積装置
US10540505B2 (en) * 2017-09-29 2020-01-21 Intel Corporation Technologies for protecting data in an asymmetric storage volume
JP7109992B2 (ja) * 2018-05-22 2022-08-01 キオクシア株式会社 メモリシステムおよび制御方法
US11263124B2 (en) 2018-08-03 2022-03-01 Micron Technology, Inc. Host-resident translation layer validity check
US10659437B1 (en) * 2018-09-27 2020-05-19 Xilinx, Inc. Cryptographic system
US11080409B2 (en) * 2018-11-07 2021-08-03 Ngd Systems, Inc. SSD content encryption and authentication
CN109656476B (zh) * 2018-12-05 2022-10-18 镕铭微电子(济南)有限公司 一种硬件加速模块及视频处理设备
US11226907B2 (en) 2018-12-19 2022-01-18 Micron Technology, Inc. Host-resident translation layer validity check techniques
US11226894B2 (en) 2018-12-21 2022-01-18 Micron Technology, Inc. Host-based flash memory maintenance techniques
KR102659832B1 (ko) * 2019-03-05 2024-04-22 삼성전자주식회사 데이터 저장 장치 및 시스템
US11201730B2 (en) 2019-03-26 2021-12-14 International Business Machines Corporation Generating a protected key for selective use
US11372983B2 (en) * 2019-03-26 2022-06-28 International Business Machines Corporation Employing a protected key in performing operations
US11061612B2 (en) * 2019-05-20 2021-07-13 Micron Technology, Inc. Internal communication interface management
WO2020234616A1 (en) * 2019-05-21 2020-11-26 Micron Technology, Inc. Bus encryption for non-volatile memories
TWI808229B (zh) 2019-07-29 2023-07-11 宜鼎國際股份有限公司 可遠端控制電子設備執行程序的系統及方法
US11106521B2 (en) * 2019-08-19 2021-08-31 Micron Technology, Inc. Fatal error logging in a memory device
KR20210041159A (ko) 2019-10-04 2021-04-15 삼성전자주식회사 정정 가능한 독출 오류가 발생한 데이터를 복구하는 메모리 시스템 및 호스트의 동작 방법
TWI728635B (zh) * 2020-01-02 2021-05-21 系微股份有限公司 相容不同儲存規範的儲存裝置資訊管理方法
US11526618B2 (en) 2020-01-29 2022-12-13 Samsung Electronics Co., Ltd. Methods and apparatus for offloading encryption
CN111400735B (zh) * 2020-03-17 2023-06-16 阿波罗智联(北京)科技有限公司 数据传输方法、装置、电子设备及计算机可读存储介质
CN111737773A (zh) * 2020-06-10 2020-10-02 深圳欣迪军融科技有限公司 具有se安全模块功能的嵌入式安全存储器
US11709785B2 (en) * 2020-06-26 2023-07-25 Western Digital Technologies, Inc. Just-in-time post-processing computation capabilities for encrypted data
US11709729B2 (en) * 2020-09-30 2023-07-25 Micron Technology, Inc. Performing error checking operations on encrypted write data in a memory sub-system
US11500587B2 (en) 2020-11-20 2022-11-15 Samsung Electronics Co., Ltd. System and method for in-SSD data processing engine selection based on stream IDs
US11907539B2 (en) 2020-11-20 2024-02-20 Samsung Electronics Co., Ltd. System and method for stream based data placement on hybrid SSD
US11720715B2 (en) * 2021-03-21 2023-08-08 Western Digital Technologies, Inc. Secure data storage device and method of encryption
US11775434B2 (en) * 2021-04-20 2023-10-03 Meta Platforms, Inc. Systems and methods for pre-processing and post-processing coherent host-managed device memory
TWI773395B (zh) 2021-06-22 2022-08-01 慧榮科技股份有限公司 記憶體控制器與連結識別方法
US20230015697A1 (en) * 2021-07-13 2023-01-19 Citrix Systems, Inc. Application programming interface (api) authorization
CN113569272B (zh) * 2021-09-27 2022-01-11 深圳市永达电子信息股份有限公司 一种安全计算机实现方法和安全计算机
CN114327281B (zh) * 2021-12-30 2023-12-05 深圳忆联信息系统有限公司 用于ssd的tcg软硬件加速方法、装置、计算机设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1498405A (zh) * 2002-02-05 2004-05-19 ������������ʽ���� 数据记录设备和方法
US20050100163A1 (en) * 2003-11-10 2005-05-12 Broadcom Corporation System and method for securing executable code
CN1808457A (zh) * 2006-02-24 2006-07-26 上海方正信息安全技术有限公司 可远程动态管理的便携式可信平台模块
US20080072070A1 (en) * 2006-08-29 2008-03-20 General Dynamics C4 Systems, Inc. Secure virtual RAM
CN101763485A (zh) * 2008-12-26 2010-06-30 英业达股份有限公司 数据保护方法
US20110055664A1 (en) * 2009-09-01 2011-03-03 Gregory Burd Systems and methods for compressing data in non-volatile semiconductor memory drives

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6347051B2 (en) 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
TW261687B (zh) 1991-11-26 1995-11-01 Hitachi Seisakusyo Kk
US6367019B1 (en) * 1999-03-26 2002-04-02 Liquid Audio, Inc. Copy security for portable music players
US20040117642A1 (en) 2002-12-17 2004-06-17 Mowery Keith R. Secure media card operation over an unsecured PCI bus
DE10345385B4 (de) 2003-09-30 2005-10-06 Infineon Technologies Ag Entschlüsselung bzw. Verschlüsselung bei Schreibzugriffen auf einen Speicher
EP1777628A4 (en) * 2004-06-30 2008-12-17 Panasonic Corp RECORDING MEDIUM AND DEVICE AND METHOD FOR RECORDING INFORMATION ON A RECORDING MEDIUM
US8832458B2 (en) 2005-03-22 2014-09-09 Seagate Technology Llc Data transcription in a data storage device
JP2007219802A (ja) * 2006-02-16 2007-08-30 Hitachi Global Storage Technologies Netherlands Bv 記憶装置、そのコントローラ、および、その制御方法
US7706538B1 (en) 2006-04-14 2010-04-27 Oracle America, Inc. System, method and data storage device for encrypting data
US7814316B1 (en) * 2006-04-14 2010-10-12 Oracle America, Inc. System, method and data storage device for encrypting data
US20080205635A1 (en) 2007-02-27 2008-08-28 Glen Alan Jaquette Apparatus, system, and method for self-describing heterogeneous magnetic tape formatting
US7912986B2 (en) * 2008-02-25 2011-03-22 Simdesk Technologies Secure block read and write protocol for remotely stored files
US8392687B2 (en) * 2009-01-21 2013-03-05 Micron Technology, Inc. Solid state memory formatting
US20100306175A1 (en) * 2009-01-28 2010-12-02 Digitiliti, Inc. File policy enforcement
US8341501B2 (en) * 2009-04-30 2012-12-25 International Business Machines Corporation Adaptive endurance coding of non-volatile memories
WO2011082387A2 (en) * 2009-12-31 2011-07-07 Intellisysgroup, Inc. Methods and apparatus for sharing, transferring and removing previously owned digital media
US8533550B2 (en) * 2010-06-29 2013-09-10 Intel Corporation Method and system to improve the performance and/or reliability of a solid-state drive
US8862902B2 (en) * 2011-04-29 2014-10-14 Seagate Technology Llc Cascaded data encryption dependent on attributes of physical memory

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1498405A (zh) * 2002-02-05 2004-05-19 ������������ʽ���� 数据记录设备和方法
US20050100163A1 (en) * 2003-11-10 2005-05-12 Broadcom Corporation System and method for securing executable code
CN1808457A (zh) * 2006-02-24 2006-07-26 上海方正信息安全技术有限公司 可远程动态管理的便携式可信平台模块
US20080072070A1 (en) * 2006-08-29 2008-03-20 General Dynamics C4 Systems, Inc. Secure virtual RAM
CN101763485A (zh) * 2008-12-26 2010-06-30 英业达股份有限公司 数据保护方法
US20110055664A1 (en) * 2009-09-01 2011-03-03 Gregory Burd Systems and methods for compressing data in non-volatile semiconductor memory drives

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868642A (zh) * 2015-09-28 2016-08-17 深圳创久科技有限公司 数据加密的闪存控制器以及写入或读取数据加密方法
CN105790932B (zh) * 2016-02-25 2018-08-14 四川长虹电器股份有限公司 一种通过使用机器码为基础的加密方法
CN105790932A (zh) * 2016-02-25 2016-07-20 四川长虹电器股份有限公司 一种通过使用机器码为基础的加密方法
CN109690681A (zh) * 2016-06-24 2019-04-26 华为技术有限公司 处理数据的方法、存储装置、固态硬盘和存储系统
US10628060B2 (en) 2016-06-24 2020-04-21 Huawei Technologies Co., Ltd. Smart storage management based on dynamic logic capacity for the storage
WO2017219364A1 (zh) * 2016-06-24 2017-12-28 华为技术有限公司 处理数据的方法、存储装置、固态硬盘和存储系统
CN107688750A (zh) * 2016-08-05 2018-02-13 波音公司 用于集成存储介质的静止数据(dar)加密
CN109997142A (zh) * 2017-01-09 2019-07-09 净睿存储股份有限公司 具有端到端安全性的数据缩减
CN107341405A (zh) * 2017-06-30 2017-11-10 记忆科技(深圳)有限公司 一种数据传输过程的加密方法
TWI746933B (zh) * 2018-05-22 2021-11-21 日商東芝記憶體股份有限公司 控制非揮發性記憶體之記憶體系統及方法
CN110568992A (zh) * 2018-06-06 2019-12-13 华为技术有限公司 一种数据处理装置及方法
CN108874971A (zh) * 2018-06-07 2018-11-23 北京赛思信安技术股份有限公司 一种应用于海量标签化实体数据存储的工具和方法
CN108874971B (zh) * 2018-06-07 2021-09-24 北京赛思信安技术股份有限公司 一种应用于海量标签化实体数据存储的工具和方法
CN110908600A (zh) * 2019-10-18 2020-03-24 华为技术有限公司 数据访问方法、装置和第一计算设备
CN110908600B (zh) * 2019-10-18 2021-07-20 华为技术有限公司 数据访问方法、装置和第一计算设备
CN112487380A (zh) * 2020-12-16 2021-03-12 江苏国科微电子有限公司 一种数据交互方法、装置、设备及介质
CN112487380B (zh) * 2020-12-16 2024-04-05 江苏国科微电子有限公司 一种数据交互方法、装置、设备及介质

Also Published As

Publication number Publication date
JP2017153117A (ja) 2017-08-31
TW201250515A (en) 2012-12-16
KR101451369B1 (ko) 2014-10-16
KR101457451B1 (ko) 2014-11-05
WO2012148812A2 (en) 2012-11-01
US9760502B2 (en) 2017-09-12
US9069703B2 (en) 2015-06-30
KR20140093283A (ko) 2014-07-25
US20140040639A1 (en) 2014-02-06
US20150293858A1 (en) 2015-10-15
WO2012148812A3 (en) 2013-01-10
WO2012148812A8 (en) 2013-12-05
EP2702592A4 (en) 2014-11-19
EP2702592A2 (en) 2014-03-05
TWI492088B (zh) 2015-07-11
JP2014513484A (ja) 2014-05-29
KR20130136008A (ko) 2013-12-11

Similar Documents

Publication Publication Date Title
CN103620690A (zh) 加密传输固态盘控制器
US10997297B1 (en) Validating firmware for data storage devices
CN101103628B (zh) 主机装置、便携式存储装置以及用于更新元信息的方法
US9348693B2 (en) Data accessing method for flash memory module
US20060053308A1 (en) Secured redundant memory subsystem
US9323943B2 (en) Decrypt and encrypt data of storage device
US9626517B2 (en) Non-deterministic encryption
CN104252426A (zh) 利用自加密驱动器加密盘驱动器上的数据的方法和系统
CN105243344A (zh) 具有硬盘加密功能的芯片组以及主机控制器
CN103797492A (zh) 用于安全存储劫持保护的技术
KR20090067649A (ko) 보안 저장 장치를 갖는 메모리 시스템 및 그것의 보안 영역관리 방법
CN105308581A (zh) 数据存储系统的加密数据的迁移
CN110795497A (zh) 分布式存储系统中的协同压缩
CN105354503A (zh) 储存装置数据加解密方法
KR20200032920A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
US9176896B2 (en) Method of managing aligned and unaligned data bands in a self encrypting solid state drive
US7840745B2 (en) Data accessing system, controller and storage device having the same, and operation method thereof
CN204215404U (zh) 一种加密存储盘
KR20220124452A (ko) 스토리지 장치
US9058295B2 (en) Encrypt data of storage device
US20230144135A1 (en) Trusted computing device and operating method thereof
US20140208125A1 (en) Encryption and decryption device for portable storage device and encryption and decryption method thereof
KR20230166408A (ko) 스토리지 장치 및 데이터 처리 방법
CN103778073A (zh) 数据保护方法、移动通讯装置与存储器储存装置
Sun et al. A new approach for data protection in case of the physical device being stolen-Using hybrid storage

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160226

Address after: California, USA

Applicant after: Seagate Technology LLC

Address before: California, USA

Applicant before: LSI Corp.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140305