CN105389265B - 当加密参数改变时在垃圾数据上生成零内容的方法和装置 - Google Patents

当加密参数改变时在垃圾数据上生成零内容的方法和装置 Download PDF

Info

Publication number
CN105389265B
CN105389265B CN201510522786.8A CN201510522786A CN105389265B CN 105389265 B CN105389265 B CN 105389265B CN 201510522786 A CN201510522786 A CN 201510522786A CN 105389265 B CN105389265 B CN 105389265B
Authority
CN
China
Prior art keywords
block address
encrypting
data
written
decrypting method
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.)
Active
Application number
CN201510522786.8A
Other languages
English (en)
Other versions
CN105389265A (zh
Inventor
D.E.格哈特
C.拉皮
D.R.利普斯
W.J.沃克
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.)
Western Digital Technologies Inc
Original Assignee
Hitachi Global Storage Technologies Netherlands BV
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 Hitachi Global Storage Technologies Netherlands BV filed Critical Hitachi Global Storage Technologies Netherlands BV
Publication of CN105389265A publication Critical patent/CN105389265A/zh
Application granted granted Critical
Publication of CN105389265B publication Critical patent/CN105389265B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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/602Providing cryptographic facilities or services
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2123Dummy operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

一种存储器设备,包括:至少一个存储器位置,用于存储使用第一加密/解密方法所写入的表示数据的信息,以及读取通道,使用第二加密/解密方法以读取和解密所写入的信息。存储器设备还包括一装置,其响应于使用第一加密/解密方法对至少一个存储器位置进行了写入的指示来阻止使用第二加密/解密方法对至少一个存储器位置的读取。在另一个实施例中,响应于另一个加密/解密方法的指示返回全零读数。

Description

当加密参数改变时在垃圾数据上生成零内容的方法和装置
技术领域
在本文描述的各个实施例涉及用于在诸如加密参数之类的与数据相关联的某些参数改变之后阻止生成垃圾数据的方法和装置。
背景技术
存储数据包括将表示数据的信息写入到存储设备或装置。存在许多类型的存储设备。即使有变化,大部分存储设备也具有共同目标。众多目标之中是存储增加量的数据,以及提供当数据被存储时保证数据为安全的手段。加密是使数据安全的一种方式。加密是通过仅仅授权方能够读取信息的方式来编码信息的处理。加密不阻止黑客行为,但是其减少黑客将能够读取被加密的数据的可能性。在一加密方案中,使用加密算法来加密被称为明文的信息,将其转为不能读的密文。通常通过使用指定消息将如何被编码的加密密钥来完成这一点。能够看见密文的任何对手不应当能够确定关于原始信息的任何东西。然而,授权方能够使用通常要求对手无法访问的机密级解密密钥的解密算法来对密文进行解码。出于技术上的原因,加密方案通常需要密钥生成算法来随机地产生密钥。
不时地,能够针对存储设备改变诸如加密密钥/解密密钥之类的加密参数。当像密钥或范围参数的加密参数改变时,在改变的逻辑块地址(“LBA”)空间中有循环冗余校验(“CRC”)错误的情况下,可能具有垃圾数据。
当前,阻止CRC错误的解决方案是禁能对加密的驱动器的所有数据保护。这使数据暴露。当数据保护方案被禁能时,数据不安全。当然,该解决方案不符合用于数据的安全性的某些标准。在他们提供的产品中使用存储设备的许多制造商基于标准的遵循来考核存储设备。关闭安全特性阻止在加密的存储设备上的适当的T10数据保护。许多人不得不遵循的另一个标准是Opal SSC标准。该标准陈述有:
“符合Opal SSC的SD应当对于存储在介质上的所有主机可访问的用户数据实施全磁盘加密。应当支持AES-128或AES-256[TCG存储Opal SSC、版本1.0的81中的页面10的段落2.4。”
“Opal SSC是构建为以下的存储设备的实施方式简档:
一旦离开所有者的控制(牵涉供电周期和随后的解除认证),就针对越权存取来保护存储的用户数据的机密性
使能多个SD出售商之间的互操作
“符合Opal SSC的SD:
·促进特征发现
·提供一些用户可定义的特征(例如,访问控制、锁定范围、用户口令,等等。)
·支持Opal SSC独特的行为(例如,通信、表格管理)[段2.1、页面10/81]
如果数据始终是安全的,则一旦离开所有者的控制,就针对越权存取来保护存储的用户数据的机密性。此外,满足用于存储装置上的数据的安全性的标准使能多个存储设备出售商之间的互操作。满足标准还促进特征发现、提供一些用户可定义的特征(例如,访问控制、锁定范围、用户口令,等等。)并且支持独特的行为(例如,通信、表格管理)。
发明内容
一种存储器设备,包括:至少一个存储器位置,用于存储使用第一加密/解密方法所写入的表示数据的信息,以及读取通道,使用第二加密/解密方法以读取和解密所写入的信息。存储器设备还包括一装置,其响应于使用第一加密/解密方法对至少一个存储器位置进行了写入的指示来阻止使用第二加密/解密方法对至少一个存储器位置的读取。阻止对至少一个物理块地址的读取的装置包括一设备,用于将标志与使用第一加密/解密方法写入的至少一个存储器位置相关联。阻止对至少一个物理块地址的读取的装置还包括一设备,用于响应于读取通道使用第二加密/解密方法的指示,返回用于使用第一加密/解密方法写入的至少一个存储器位置的零内容。在一个实施例中,阻止对利用第一加密/解密方法写入的至少一个存储器位置的读取的装置包括用于对使用第一加密/解密方法写入的至少一个存储器位置写入零的设备。
存储装置包括:具有多个存储器位置的固态设备;写入通道,用于将表示数据的信息写入到固态设备中的多个存储器位置;以及读取通道,用于从固态设备中的多个存储器位置读取表示数据的信息。存储装置还包括控制器,其控制存储装置的操作,包括对固态设备中的多个存储器位置写入信息以及从固态设备中的多个存储器位置读取表示数据的信息。存储装置还包括间接寻址(indirection)系统,该间接寻址系统进一步包括逻辑块地址集,以及与存储装置的固态设备中的多个存储器位置相对应的物理块地址集。间接寻址系统还包括将逻辑块地址与至少一个物理块地址相关联的映射图。映射图还包括对用于对物理块地址写入和读取数据的加密/解密方法进行指示的至少一个标志。当用于读取物理块地址的加密/解密方法已经改变时,控制器返回零读数。
一种用于在存储装置中减少垃圾数据的生成的方法,该方法包括:在存储装置上监视用于读取和写入数据的加密/解密方案的改变,以及,响应于加密/解密方案的改变,当已经使用旧的加密/解密方案加密了与逻辑块地址相关联的物理块地址时,使至少一个逻辑块地址返回被写入零的指示。
附图说明
通过结合附图所进行的以下详细描述将容易地理解实施例,其中相同附图标记指示相同的结构要素,并且其中:
图1A是根据示例实施例的NAND闪速类型存储器的示意图。
图1B是根据示例实施例的NAND闪速类型存储器设备的另一个示意图。
图2是根据示例实施例的存储器装置或设备的示意图。
图3是根据示例实施例的存储器设备的间接寻址系统的示意图。
图4是根据示例实施例的与存储器设备的间接寻址系统相关联的一种类型的表格。
图5是根据示例实施例的、用于从利用不同的或旧的加密方案写入的数据返回“零”的方法。
图6是根据示例实施例的、用于从利用不同的或旧的加密方案写入的数据返回“零”的方法。
图7是根据示例实施例的与存储器设备的间接寻址控制器相关联的另一种类型的表格。
图8是根据示例实施例的、用于从利用不同的或旧的加密方案写入的数据返回“零”的方法。
图9是根据示例实施例的与存储器设备的间接寻址控制器相关联的又一种类型的表格。
图10是根据示例实施例的、用于阻止生成垃圾数据的方法的流程图。
具体实施方式
在以下文章中,阐述很多特定细节以便提供对所描述的实施例的基础概念的彻底的理解。然而,对于本领域技术人员,明显的是,能够在没有一些或所有这些特定细节的情况下实践所描述的实施例。在其他的实例中,未曾详细地描述公知的过程步骤以便避免不必要地模糊基础概念。
总体上,本公开描述用于针对诸如硬盘驱动器、混合设备,等等的固态设备或其他存储介质写入和读取数据的技术。在本特定申请中,本公开描述了针对基于闪速存储器的固态设备写入和读取表示数据的信息。应当指出,这是一种类型的存储介质或固态设备,并且能够在采用其他类型的存储技术的固态设备中使用本发明。换句话说,本发明不局限于闪速存储器并且能够用于其他类型的存储器中,诸如相变存储器(PCM)、磁阻随机存取存储器(MRAM)、电阻式随机存取存储器(RRAM或ReRAM),等等。
现在,返回到闪速存储器的讨论。存在两种主要类型的闪速存储器,其以用于形成闪速存储器的逻辑门的类型被命名。存在NAND类型闪速存储器,以及NOR类型闪速存储器。单独的闪速存储器单元的内特性呈现与对应的门的特性类似的特性。能够容易地在通常比整个设备小得多的块(或页)中对NAND类型闪速存储器进行写入和读取。NOR类型闪存允许容易地将单个机器字(字节)写入到擦除位置,或独立地读取该单个机器字(字节)。NAND类型主要用于主存储器、存储卡、USB闪存驱动器、固态驱动器,和类似的产品,以用于数据的一般存储和传递。允许真正随机访问并且因此直接的代码执行的NOR类型用作旧的EPROM的替换并且作为对某些种类的ROM应用的替代,而NOR闪速存储器能够主要在机器代码级仿真ROM;许多数字设计需要ROM(或PLA)结构以用于其他使用,往往可以取得与(经济的)闪速存储器相比的显著更高的速度。
图2是存储器装置或设备200的示意图。存储器是由以二维网格布置的比特210、211、212、213、214或存储器位置组成。比特210、211、212、213、214被布置在列(CAS)220、221、222、223、224、225、226、227和行(RAS)230、231、232、233、234、235、236、237。能够通过列和行来识别每个比特。例如,比特211位于列225和行232。该特定比特是交叉影线以表示“1”值。诸如比特214之类的不是交叉影线的比特表示“0”值。
为了将数据写入列,选择列并且然后行被充电以将数据写入到与特定列相关联的比特中。举例来说,当对列225写入时,选择列225。将行230、232、234、235和236充电,导致存储在特定比特位置的“1”值(示出为交叉影线)。
换句话说,以列(位线)和行(字线)的阵列将存储器单元蚀刻到硅片上。位线和字线的交叉点构成存储器单元的地址。
电荷经过适当的列(CAS)以激活在列中的每个比特的晶体管。当写入时,列线包含电容器应当采取的状态。当读取时,读出放大器(sense-amplifier)确定电容器中的电荷的电平。如果其超过百分之50,则将其读取为1;否则将其读取为0。计数器基于已经以什么顺序访问了哪些行来跟踪刷新序列。以毫微秒来表示完成这所有所必需的时间长度。
在没有方式获得存储器单元内外的信息的情况下,仅存储器单元将是无价值的。存储器设备包括与存储器相关联的电路以识别每个行和列、从单元读取和重建信号,并且使能在各个存储器地址的电荷。
图1A和1B每个示出根据示例实施例的NAND闪速类型存储器100和100’的示意图。在每个情况下,NAND闪存固态设备110经由主处理器130附接于主计算机。在图1A中,主处理器130处理与针对NAND闪存固态设备110读取和写入表示数据的信息相关联的许多操作。主处理器130包括纠错码(ECC)模块131、坏块管理模块132、损耗均衡模块133、NAND闪存驱动器模块134,和地址间接寻址模块135。所有这些模块能够是硬件、软件或者硬件和软件的组合。纠错码(ECC)模块131处理数据读取中的错误的确定以及纠错码(ECC)到所读取的数据的应用。纠错码用于定位和校正所读取的数据的块中的错误。
坏块管理模块132处理NAND闪存110中的坏块。来自主机的数据将通常作为数据块来自主机。尽管512字节和4000已经是标准化长度并且是非常常见的,但数据块能够具有任何长度。NAND闪存能够接收数据块。在一些实例中,固态设备的制造远不完美。结果,可能存在一个或多个存储器位置,其是有缺陷的,并且将不允许数据块被可靠地存储在那里使得其可以稍后被取得。坏块管理模块132存储这些坏块位置并且阻止数据被存储在那里。坏块也可能在NAND闪存110的使用期限期间出现,因此坏块管理模块132也注意已经发展成为坏块的任何其他存储器位置。
地址间接寻址模块135与坏块管理模块132协同工作。地址间接寻址模块135包括实际物理块地址(PBA)到逻辑块地址(LBA)的映射。LBA保持不变。主机然后能够给出对特定LBA进行写入的命令。其中存储数据的实际地址(PBA)可能改变。地址间接寻址模块135跟踪写入到NAND闪存110或存储在NAND闪存110上的LBA的位置。因此,当主机必须从NAND闪存110读取数据时,地址间接寻址模块135确保读取与LBA相关联的适当的PBA以保证表示数据的信息被读取并且被呈现以用于将数据作为对NAND闪存固态设备的输入来复制的进一步处理。地址间接寻址模块135也是损耗均衡所必需的。如果将数据写入到特定存储器位置超过许多损耗周期,则存储器位置可能损坏或变得不可靠。损耗均衡认识到这一点并且通过改变其中写入信息的存储器位置或实际的物理位置来延长存储器的使用期限。LBA将保持相同,而PBA将发生改变以阻止过早损耗。
损耗均衡模块133监视并且管理数据被写入哪里。NAND闪存具有能够将数据写入其中的许多存储器位置。这些存储器位置随着时间过去而“损坏”。仅能够在某数量的周期内可靠地重写NAND闪存110内的存储器位置。损耗均衡模块133监视对于各个存储器位置的读取和写入的数量并且将切换存储器位置来延长NAND闪存110的使用期限。例如,如果只是存储器位置的一半经常地被写入,则该NAND闪存的该一半将会损坏。尽管整个设备不会损坏,但存储数据的容量将会严重地受到妨碍,引起低劣的性能。损耗均衡模块133管理NAND闪存110的损耗。损耗均衡模块133有效地延长NAND闪存110的使用期限。其也适用于地址间接寻址模块135,因为损耗均衡模块133能够决定需要留存的块的特定集(PBA)以阻止NAND闪存110中的存储器位置的过早损耗。
NAND闪存驱动器模块134是用于NAND闪存110的操作的指令集。
固态设备100还包括安全模块136。安全模块136对所写入的数据进行加密并且当读取数据时解密数据。数据的加密保持数据安全。根据常识以及对于产品必须满足以有资格用于其他产品中的用于产品的某些标准,始终保持数据安全是重要的。在一些实例中,考核产品能够包括满足用于数据的安全性的标准。在一些加密和解密方案中,信息的密钥部分(还称为参数)确定密码或密码算法的功能输出。在没有密钥的情况下,算法将不会产生有用的结果。在加密中,密钥指定明文到密文的特定变换,或者在解密期间从密文到明文的特定变换。也在标准组织设置的诸如用于产品的数字签名方案和消息认证码之类的其他密码算法中使用密钥。本特定发明处理其中参数改变的实例。例如,密钥可能改变。应当注意到,当读取编码信息时,必须将与写入相关联的密钥与算法一起使用以解码信息并且将其变换为写入的数据。在没有参数的情况下,或当参数不正确时,解码算法行不通。利用错误的密钥所解码的表示数据的信息的输出通常被称为垃圾。其不是写入的原始数据。垃圾也可能在尝试的读取期间增加数据通道的负担。例如,当读取垃圾信息时,错误校正模块将确定在所读取的数据中存在错误。起因于垃圾数据的“错误”将在运行中是不可校正的。根据用于错误校正的方案,错误校正模块可能试图使用各种深度数据恢复技术来恢复数据。这浪费时间并且还将浪费处理器设法校正“错误”的时间。这当然仅仅是可能起因于读取结果弄清楚是垃圾数据的信息的问题的一个示例。
图1B示出根据示例实施例的另一种类型的NAND闪速类型存储器设备100’的示意图。在每个情况下,NAND闪存固态设备110经由主处理器130附接于主计算机。存储器设备100’和存储器设备100之间的主要区别是位于NAND类型固态设备100’内的处理器120。处理器120与主处理器130是分开的。在NAND类型固态设备100’的情况下,主处理器130将一些处理模块卸载到与NAND类型固态设备100’相关联的处理器120。处理器120能够是通用处理器或能够是处理特定任务的专用的处理器。如图1B所示,例如,处理器120包括纠错码(ECC)模块131、坏块管理模块132,和损耗均衡模块133。使这些操作从主处理器130传递离开而到处理器120或NAND控制器。这些块131、132,和133以与以上关于图1A讨论的相同的方式来起作用。这里为简单起见将不重复这些功能。在图1B中,数据总线160、命令线路161和时钟信号162将主处理器和NAND控制器或处理器120通信地耦合。在命令线路161上传递的一些命令仅仅命令模块131、132、133之一开始它们的特定处理。这是有益的,因为主处理器130被释放来完成其他任务。从主机传递离开而到NAND控制器120的任务的数量是确定哪些任务完全被特殊化并且由NAND控制器120更好地完成的平衡的问题。其他任务可以是更一般地可适用并且保持驻留在主处理器130上。
如上所述,存储在NAND类型闪速存储器110、110’上的数据能够被组织为数据块。在一些示例实施例中,使用地址间接寻址来将数据块写入到NAND类型闪速存储器110、110’。也就是说,不管NAND类型闪速存储器110、110’中的实际位置如何,主文件系统处理掌控的逻辑块地址(LBA)以将数据块写入到NAND类型闪速存储器110、110’和从NAND类型闪速存储器110、110’读取数据块。实际物理地址是由NAND类型闪速存储器110、110’内部使用的物理块地址(PBA)。典型地使用用来跟踪与LBA相关联的物理位置的间接寻址表格来在存储器设备的体系结构的控制器部分(例如,图1B的NAND控制器120)中实施地址间接寻址。换句话说,间接寻址表格将LBA映射到NAND类型闪速存储器110、110’中的PBA。
如上所述,典型地以包含在NAND类型闪速存储器102内的存储器位置集中的块或扇区将数据写入到NAND类型闪速存储器110、110’或从NAND类型闪速存储器110、110’读取数据。在一些实施例中,块大小能够是512字节或4000字节。
图3是根据示例实施例的存储设备300的间接寻址系统的示意图。更具体地,图3是通信地耦合到主计算机310的存储系统300的示意图。存储系统300从主机310接收写入命令。存储系统300将表示数据的信息存储在逻辑块地址(LBA)中。存储系统300也取得信息或读取数据并且将逻辑块地址(LBA)递送回主机310。如所示,存储系统300包括间接寻址系统320、第一存储器设备330,以及第二存储器设备332。间接寻址系统320能够将LBA映射到一个或多个存储器设备,诸如存储器设备330和332。第一存储器设备330和第二存储器设备332能够是NAND闪存110、110’,或者是一般存储器设备,诸如设备200。主系统310能够是处理器、独立计算机系统、服务器系统、或与存储设备300进行通信的其他硬件组件。
间接寻址控制器320包括处理器307、通信地耦合到处理器307的存储器,以及计算机可读介质309。处理器307可以是可编程逻辑控制器(PLC)、微处理器或微控制器。计算机可读介质309能够与存储器设备330、332分开或能够指的是在存储器设备330、332内保留的用于存储由处理器307执行的数据结构和/或指令的空间。
间接寻址控制器320提供在由主系统利用的逻辑块地址(LBA)和用于访问存储在固态设备330、332中的数据的物理块地址(PBA)之间的动态转换层。“物理块地址”对应于存储器设备330、332内的实际存储器位置或多个实际存储器位置。间接寻址控制器320管理LBA到PBA的指配。在一些存储系统中,将LBA映射到PBA保持相对地静态,这是因为个别存储器单元可能非常低频地被重新写入。在更复杂的体系结构中,LBA和PBA之间的映射可能随每次写入操作而改变,这是因为系统动态地确定指配了特定逻辑位置(即,LBA)的物理位置(即,PBA)。下一次主机LBA更新时,用于相同的LBA的数据将被写入到不同的位置。这样,间接寻址控制器320提供由主系统310提供的LBA和与存储器设备330、332相关联的PBA之间的动态转换层。间接寻址控制器320负责管理LBA到多个PBA的指配。
为了保持存储器设备330、332中的数据安全,常常使用密钥或其他参数将数据加密。只要密钥或其他参数保持相同,数据就是安全的。在将数据写入到存储器设备330、332之前,使用密钥或其他参数来加密数据。密钥或其他参数也用于解密从存储器设备330、332读取的信息以解码信息并且将其变换回写入的数据。当密钥或其他参数相较所写入的密钥或其他参数发生改变时,问题出现。如果用于写入数据的密钥或其他参数改变,解码或解密信息的结果将不是所写入的数据。实际上,返回无意义的或“垃圾”数据。这能够触发诸如错误恢复过程之类的许多费时的处理,其可以减慢存储系统300的响应性。具有慢的响应时间是不理想的。代替触发可能降低存储系统300的性能的这些过程,存储系统300配备有返回更理想的响应的方法。这些在下面进行描述。这些避免“垃圾”数据并且产生好像无数据或信息被呈现的响应。
本公开现在描述从先前已经利用不同的写入参数被写入的存储器设备生成零内容的读数的方式。可能改变的一个写入参数是通常用于写入表示数据的信息的密钥。代替读回“垃圾”数据或信息,生成零内容的指示。例如,可以通过用于数据块或数据块集的全“1”或全“0”的读数来指示零内容。在保持安全措施到位时,当读取数据时,完成零内容的生成。如上所述,这是对于许多设备的要求,因为制造商不想暴露数据。
图4是根据示例实施例的与存储系统300的间接寻址控制器320相关联的一种类型的表格400。表格400被存储在间接寻址控制器300的存储器109中。表格400包括逻辑块地址410、物理块地址420、块的数量430,以及加密方案440。块的数量是逻辑块地址或物理块地址的字符串的长度。例如,逻辑块地址“1”开始于所述物理块地址“2”并且是八个块长。通过“1”来指定加密方案。表格400是逻辑块地址到存储器设备330、332内的物理块地址的映射图。逻辑块地址3具有起始地址“SSD 1”,其对应于固态设备,诸如图3中示出的SSD 332。表格400包括许多指针。指针是包含一些数据的存储器位置(地址)而不是数据本身的变量。换句话说,用于每一个数据块的物理块地址420可以被叫作指针,这是因为不管其位于第一存储器设备330还是第二存储器设备332内,其都是数据块的开始的地址。
存在用于从已经利用旧的或另一个加密方案写入的数据返回“零”的若干方法。将参考诸如表格400之类的表格和以下引入的其他表格来讨论该若干方法。
图5是根据示例实施例的、用于从利用不同的或旧的加密方案写入的数据返回“零”的方法500。方法500包括在存储器或存储设备上监视用于读取和写入数据的加密/解密方案的改变510。在存储设备上监视加密/解密方案的改变包括监视表格400的列440。列440提供所使用的加密方案的指示。如图4中所示,通过表格400的列440中的值“1”来描绘用于逻辑块地址1和2的加密方案。在该示例实施例中,这是不同的或旧的加密方案。通过值“2”来描绘用于逻辑块地址3和4的加密方案。这是不同于用于写入与逻辑块地址1和2相关联的数据的加密方案的新的加密方案。该方法500包括:当已经使用旧的加密/解密方案加密了与逻辑块地址相关联的物理块地址时,返回对于至少一个逻辑块地址写入零的指示512。在该情况下,列440中的值“1”指出旧的加密方案用于逻辑块地址1和2。通过表格4的列440中的值“2”来描绘新的加密方案或改变的或不同的加密方案。通过值“2”来描绘当前加密方案。结果,读取通道将被提供用于与逻辑块地址1和2相关联的数据的全零输入,这是因为与该数据相关联的所指示的加密方案具有值“1”。
图6是根据示例实施例的、用于从利用不同的或旧的加密方案写入的数据返回“零”的方法600。方法600包括在存储器设备上监视用于读取和写入数据的加密/解密方案的改变610。在存储器设备上监视加密/解密方案的改变包括监视图4中示出的表格400的列440。一旦确定已经使用旧的或不同的加密方案加密了与某些逻辑块地址相关联的一些数据,将零写入到先前使用旧的加密/解密方案加密的物理块地址612。因此在图4中,将利用零对与逻辑块地址1和2相关联的数据进行再写或者重写。更具体地,将利用零对与逻辑块地址1相关联的物理块地址2和八个物理块地址进行再写。类似地,也将利用零对与逻辑块地址2相关联的物理块地址172和21个物理块地址进行再写。因此,在通过表格400所指示的实际的、物理存储器位置,将有写入到那些数据位置的零。
该方法也包括读取与相关联的逻辑块地址相对应的重写的物理块地址614。换句话说,与逻辑块地址相关联的物理块地址将具有写入到其的零。当读取时,实际的零而不是垃圾数据将被返回到读取通道。再次,应当注意到,利用零重写的逻辑块地址是使用旧的或不同的加密方案的逻辑块地址,诸如图4中所示的逻辑块地址1和2。假定加密方案2是当前的加密方案。
图7是根据示例实施例的与存储系统300的间接寻址控制器相关联的另一种类型的表格700。表格700包括各列:逻辑块地址710、与逻辑块地址相对应的物理块地址720、被写入的块的数量730、无效性指示734,以及所使用的加密方案的指示740。如图7中所示,当使用旧的或不同的加密方案时,逻辑块地址被标记或指出为无效,如表格700中的列734所描绘的。在表格700的列740中,通过数字“2”来描绘当前的加密方案,并且通过数字“1”来描绘旧的或不同的加密方案。在列734中,对应于逻辑块地址“1”和“2”的前两项携带值1,这指出与那些逻辑块地址相关联的数据为无效。用于逻辑块地址“3”和“4”的其余两项具有值“0”,其指出利用当前的加密方案对这些逻辑块地址或在这些逻辑块地址中的表示数据的信息进行了写入。
图8是根据示例实施例的、用于从利用不同的或旧的加密方案写入的数据返回“零”的方法800。方法800包括在存储系统,并且具体地在存储器设备330、332上监视用于读取和写入数据的加密/解密方案的改变810。在存储器设备上监视加密/解密方案的改变包括监视图7中示出的表格700的列740。在无效性中设置值“1”也能够称作关于逻辑块地址“1”和“2”来置位标志。标志是由计算机用于处理或解释信息的某类型的记号。标志作为信号来指示特定条件的存在或状况。在该示例实施例中,特定大的条件是利用与所使用的当前的加密方案不同的加密方案写入了与特定逻辑块地址相关联的数据或表示数据的信息。在表格700的无效性列734中通过值1来指示这一点。该方法800还包括将至少一个标志与和与逻辑块地址相关联的至少一个物理块地址相关联,其指出使用旧的加密方案在相关联的物理块地址写入了表示数据的信息。读取通道或控制读取通道的控制器将不读取无效数据的物理块地址并且将返回全零读数以用于进一步的处理。换句话说,将基于逻辑块地址的无效性指示来返回零。这阻止从与逻辑块地址相关联的物理块地址返回垃圾数据。
图9是根据示例实施例的与存储设备300的间接寻址控制器相关联的又一种类型的表格900。在该特定实施例中,当确定所使用的加密方案不匹配当前的加密方案时,把用于特定逻辑块地址的物理块地址移除。换句话说,把示出开始物理块地址的指针移除。在表格900中在列920中示出了这一点。更具体地,因为通过值“1”所指示的加密方案是旧的加密方案或不同于当前的加密方案,所以已经移除了对逻辑块地址“1”和“2”的开始物理块地址进行指示的物理块地址。在没有用于起始点的物理块地址的情况下,存储器设备假定与值“1”和“2”相对应的逻辑块地址为空并且因此将自动地返回作为从逻辑块地址读取的零。
图10是根据示例实施例的、用于阻止生成垃圾数据的方法1000的流程图。方法1000包括在存储装置或存储器设备上监视用于读取和写入数据的加密/解密方案的改变1010。在存储装置上监视加密/解密方案的改变1010包括监视图9中示出的表格900的列440。该方法还包括:一旦指示新的加密/解密方案正被用于读取数据,移除从逻辑块地址到物理块地址的指针1012。换句话说,将移除与利用旧的或不同的加密/解密方案写入的、表示数据的信息相关联的指针,使得逻辑块地址呈现为空。当在逻辑块地址没有数据时,读取通道将返回零以指出不存在数据。这样,再一次阻止垃圾数据的读取。
一种存储器设备,包括:至少一个存储器位置,用于存储使用第一加密/解密方法所写入的表示数据的信息;以及读取通道,使用第二加密/解密方法以读取和解密所写入的信息。存储器设备还包括一装置,其响应于使用第一加密/解密方法对至少一个存储器位置进行了写入的指示来阻止使用第二加密/解密方法对至少一个存储器位置的读取。阻止对至少一个物理块地址的读取的装置包括一设备,用于将标志与使用第一加密/解密方法写入的至少一个存储器位置相关联。阻止对至少一个物理块地址的读取的装置还包括一设备,用于响应于读取通道使用第二加密/解密方法的指示,返回用于使用第一加密/解密方法写入的至少一个存储器位置的零内容。在一个实施例中,阻止对利用第一加密/解密方法写入的至少一个存储器位置的读取的装置包括用于对使用第一加密/解密方法写入的至少一个存储器位置写入零的设备。在一个实施例中,表示数据的信息位于块中并且至少一个存储器位置是至少一个物理块地址。在一些实施例中,存储器设备还包括间接寻址系统。间接寻址系统包括至少一个逻辑块地址,以及将至少一个逻辑块地址映射到至少一个物理块地址的数据库。在实施例中,间接寻址系统包括一装置,其在至少一个物理块地址被使用第一加密/解密方法进行了写入时、响应于使用第二加密/解密方法的读取通道,使得至少一个逻辑块地址到至少一个物理块地址的映射不可访问。第二加密/解密方法不同于第一加密/解密方法。与第二加密/解密方法相关联的第二加密参数不同于与第一加密/解密方法相关联的第一加密参数。在另一个示例实施例中,与第二加密/解密方法相关联的第二加密范围参数不同于与第一加密/解密方法相关联的第一加密范围参数。在又一些其他实施例中,第二加密/解密方法的第二加密密钥参数不同于第一加密/解密方法的第一加密密钥参数。
存储装置包括:具有多个存储器位置的固态设备;写入通道,用于将表示数据的信息写入到固态设备中的多个存储器位置;以及读取通道,用于从固态设备中的多个存储器位置读取表示数据的信息。存储装置还包括控制器,其控制存储装置的操作,包括对固态设备中的多个存储器位置写入信息以及从固态设备中的多个存储器位置读取表示数据的信息。存储装置还包括间接寻址系统,该间接寻址系统进一步包括逻辑块地址集,以及与存储装置的固态设备中的多个存储器位置相对应的物理块地址集。间接寻址系统还包括将逻辑块地址与至少一个物理块地址相关联的映射图。映射图还包括对用于对物理块地址写入和读取数据的加密/解密方法进行指示的至少一个标志。当用于读取物理块地址的加密/解密方法已经改变时,控制器返回零读数。在一个示例实施例中,响应于加密/解密方法的改变,控制器使得利用零写入物理块地址。在另一个示例实施例中,响应于加密/解密方法的改变的指示,控制器返回全零。在又一个实施例中,响应于加密/解密方法的改变的指示,控制器移除在逻辑块地址和物理块地址之间的映射图中的指针。在又一个实施例中,响应于加密/解密方法的改变的指示,控制器生成指示在物理块地址的信息为无效的标志。控制器控制将信息写入到固态设备以及从固态设备读取表示数据的信息。间接寻址系统包括与固态设备的实际存储器位置相对应的物理块地址集。用于将逻辑块地址与固态设备的至少一个实际存储器位置相关联的映射图还包括对用于对固态设备的实际存储器位置写入和读取数据的加密/解密方法进行指示的至少一个标志。当标志被置位时,当用于读取固态设备的实际存储器位置的加密/解密方法已经改变时,控制器返回零读数。
一种用于在存储装置中减少垃圾数据的生成的方法,该方法包括:在存储装置上监视用于读取和写入数据的加密/解密方案的改变,以及,响应于加密/解密方案的改变,当已经使用旧的加密/解密方案加密了与逻辑块地址相关联的物理块地址时,使至少一个逻辑块地址返回被写入零的指示。在一个实施例中,使用新的加密/解密方案,将先前使用旧的加密/解密方案被加密的物理块地址写入为零。在另一个实施例中,一旦指示新的加密/解密方案正被用于读取数据,移除从逻辑块地址到物理块地址的指针。这产生全零类型读数并且阻止生成垃圾数据。在又一个实施例中,存在与利用旧的加密/解密方案写入的多个物理块地址相关联的多个逻辑块地址。对于先前利用旧的加密/解密方案写入的多个物理块地址移除用于多个逻辑块地址的指针。在又一个实施例中,多个逻辑块地址在映射图中被映射到物理块地址。映射图进一步包括至少一个标志,当写入到与逻辑块地址相关联的物理块地址的表示数据的信息是使用旧的加密方案写入时,该至少一个标志指出在逻辑块地址的表示数据的信息为无效。
在一个或多个示例中,能够以硬件、软件、固件,或其任何组合来实施所描述的功能。如果以软件来实施,功能能够作为一个或多个指令或代码被存储在计算机可读介质上或通过计算机可读介质来传输,并且由基于硬件的处理单元来执行。计算机可读介质能够包括对应于诸如数据存储介质之类的有形介质的计算机可读存储介质,或者包括例如根据通信协议促进将计算机程序从一个位置传递到另一个的任何介质的通信介质。以这样的方式,计算机可读介质通常能够对应于(1)是非暂时型的有形的计算机可读存储介质或(2)诸如信号或载波之类的通信介质。数据存储介质能够是能够由一个或多个计算机或一个或多个处理器访问以取得用于实施在本公开中描述的技术的指令、代码和/或数据结构的任何可用的介质。计算机程序产品能够包括计算机可读介质。
举例来说,而不是进行限制,此类计算机可读存储介质能够包括RAM、ROM、EEPROM、CD-ROM或其他光盘存贮器、磁盘存贮器,或其他磁存储设备、闪速存储器,或能够用于以指令或数据结构的形式存储期望的程序代码并且能够由计算机访问的任何其他介质。而且,任何连接被适当地命名为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双扭线、数字用户线路(DSL),或诸如红外线、无线电,和微波之类的无线技术从网站、服务器,或其他远端源传送指令,那么同轴电缆、光纤电缆、双扭线、DSL,或诸如红外线、无线电,和微波之类的无线技术被包括在介质的限定中。然而,应当理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号,或其他瞬态介质,而是代替地涉及非瞬态、有形的存储介质。如在本文所使用的磁盘和光盘包括光碟(CD)、激光视盘、光学盘、数字化通用磁盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地再生数据、,而光盘利用激光来光学地再现数据。以上的组合应当也被包括在计算机可读介质的范围内。
能够通过诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA),或其他等效集成或分立的逻辑电路之类的一个或多个处理器来执行指令。因此,如在本文所使用的术语“处理器”能够指的是任何上述结构或适于实施在本文描述的技术的任何其他结构。而且,能够在一个或多个电路或逻辑元件中全部地实施技术。
能够以包括无线手机、集成电路(IC)或IC集(例如,芯片组)的多种设备或装置实施本公开的技术。在本公开中描述了各种组件、模块,或单元来强调被配置为执行所公开的技术的设备的功能方面,但不一定要求通过不同的硬件单元实现。更确切些,如上所述,能够在硬件单元中组合各种单元,或者通过包括与合适的软件和/或固件结合的如上所述的一个或多个处理器的互操作的硬件单元的集合来提供各种单元。
为了解释,以上描述使用特定命名法来提供对本发明的彻底的理解。然而,对本领域技术人员明显的是,为了实践本发明,特定细节并不是必需的。因此,为了说明和描述目的而给出本发明的特定实施例的以上描述。它们并不意图是穷尽性的或者将本发明限制为公开的精确形式。对本领域普通技术人员明显的是,考虑到以上教导,许多修改和变化是可能的。
选择和描述了实施例以便最好地解释本发明的原理和其实际应用,由此使得其他本领域技术人员能够在适于所预期的特定使用的各种修改的情况下最好地利用本发明和各个实施例。本发明的范围意图由所附权利要求和它们的等效物所限定。尽管已经就若干特定实施例描述了实施例,但存在落入这些通用概念的范围的变化、排列,和等效物。也应注意,存在实现目前实施例的方法和装置的许多替换方式。因此意图是,所附权利要求被解释为包括落入所描述的实施例的真实的精神和范围内的所有此类变化、排列,和等效物。这些和其他示例实施例处于所附权利要求的范围内。

Claims (20)

1.一种存储器设备,包括:
至少一个存储器位置,用于存储使用第一加密/解密方法所写入的表示数据的信息;
读取通道,使用第二加密/解密方法以读取和解密所写入的信息;以及
第一装置,其响应于已经使用第一加密/解密方法对至少一个存储器位置进行了写入的指示来阻止使用第二加密/解密方法对至少一个存储器位置的读取。
2.根据权利要求1所述的存储器设备,其中,阻止对至少一个物理块地址的读取的第一装置包括一元件,用于
将标志与使用第一加密/解密方法写入的至少一个存储器位置相关联;以及
响应于使用第二加密/解密方法的读取通道,返回用于使用第一加密/解密方法写入的至少一个存储器位置的零内容。
3.根据权利要求1所述的存储器设备,其中,阻止使用第二加密/解密方法对利用第一加密/解密方法写入的至少一个存储器位置的读取的第一装置包括用于对使用第一加密/解密方法写入的至少一个存储器位置写入零的设备。
4.根据权利要求1所述的存储器设备,其中,表示数据的信息位于块中并且至少一个存储器位置是至少一个物理块地址。
5.根据权利要求4所述的存储器设备,进一步包括间接寻址系统,其进一步包括:
至少一个逻辑块地址;以及
数据库,其将至少一个逻辑块地址映射到至少一个物理块地址。
6.根据权利要求5所述的存储器设备,其中,间接寻址系统包括第二装置,其在至少一个物理块地址被使用第一加密/解密方法进行了写入时、响应于使用第二加密/解密方法的读取通道,使得至少一个逻辑块地址到至少一个物理块地址的映射不可访问。
7.根据权利要求6所述的存储器设备,其中,与第二加密/解密方法相关联的第二加密参数不同于与第一加密/解密方法相关联的第一加密参数。
8.根据权利要求6所述的存储器设备,其中,与第二加密/解密方法相关联的第二加密范围参数不同于与第一加密/解密方法相关联的第一加密范围参数。
9.根据权利要求6所述的存储器设备,其中,第二加密/解密方法的第二加密密钥参数不同于第一加密/解密方法的第一加密密钥参数。
10.一种存储装置,包括:
固态设备,其包括多个存储器位置;
写入通道,用于将表示数据的信息写入到固态设备中的多个存储器位置;
读取通道,用于从固态设备中的多个存储器位置读取表示数据的信息;
控制器,控制存储装置的操作,包括对固态设备中的多个存储器位置写入信息以及从固态设备中的多个存储器位置读取表示数据的信息;
间接寻址系统进一步包括:
逻辑块地址集;
与存储装置的固态设备中的多个存储器位置相对应的物理块地址集;
映射图,将逻辑块地址与至少一个物理块地址相关联,映射图还包括指示用于对物理块地址写入和读取数据的加密/解密方法的至少一个标志,其中,当用于读取物理块地址的加密/解密方法已经改变时,控制器返回零读数。
11.根据权利要求10所述的存储装置,其中,响应于加密/解密方法的改变,控制器使得将物理块地址写入零。
12.根据权利要求10所述的存储装置,其中,响应于加密/解密方法的改变的指示,控制器返回全零。
13.根据权利要求10所述的存储装置,其中,响应于加密/解密方法的改变的指示,控制器移除在逻辑块地址和物理块地址之间的映射图中的指针。
14.根据权利要求10所述的存储装置,其中,响应于加密/解密方法的改变的指示,控制器生成指示在物理块地址的信息为无效的标志。
15.根据权利要求10所述的存储装置,其中,控制器控制将信息写入到固态设备以及从固态设备读取表示数据的信息;
间接寻址系统进一步包括与固态设备的实际存储器位置相对应的物理块地址集、将逻辑块地址与固态设备的至少一个实际存储器位置相关联的映射图,映射图还包括对用于从固态设备的实际存储器位置写入和读取数据的加密/解密方法进行指示的至少一个标志,其中,当用于读取固态设备的实际存储器位置的加密/解密方法已经改变时,控制器返回零读数。
16.一种用于在存储装置中减少垃圾数据的生成的方法,该方法包括:
对存储装置监视用于读取和写入数据的加密/解密方案的改变;以及
响应于加密/解密方案的改变,当已经使用旧的加密/解密方案加密了与逻辑块地址相关联的物理块地址时,使至少一个逻辑块地址返回被写入零的指示。
17.根据权利要求16所述的方法,其中,使用新的加密/解密方案,将使用旧的加密/解密方案被加密的物理块地址写入为零。
18.根据权利要求16所述的方法,其中,映射图用于将逻辑块地址映射到物理块地址,其中,一旦指示新的加密/解密方案正被用于读取数据,移除从逻辑块地址到物理块地址的指针。
19.根据权利要求18所述的方法,其中,存在与利用旧的加密/解密方案写入的多个物理块地址相关联的多个逻辑块地址,其中,用于多个逻辑块地址的指针被移除。
20.根据权利要求16所述的方法,其中,存在与利用旧的加密/解密方案写入的多个物理块地址相关联的多个逻辑块地址,该多个逻辑块地址在映射图中被映射到物理块地址,映射图进一步包括至少一个标志,当写入到与逻辑块地址相关联的物理块地址的表示数据的信息是使用旧的加密方案写入时,该至少一个标志指示在逻辑块地址的表示数据的信息为无效。
CN201510522786.8A 2014-08-25 2015-08-24 当加密参数改变时在垃圾数据上生成零内容的方法和装置 Active CN105389265B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/467,724 US9298647B2 (en) 2014-08-25 2014-08-25 Method and apparatus to generate zero content over garbage data when encryption parameters are changed
US14/467,724 2014-08-25

Publications (2)

Publication Number Publication Date
CN105389265A CN105389265A (zh) 2016-03-09
CN105389265B true CN105389265B (zh) 2019-01-04

Family

ID=54200397

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510522786.8A Active CN105389265B (zh) 2014-08-25 2015-08-24 当加密参数改变时在垃圾数据上生成零内容的方法和装置

Country Status (5)

Country Link
US (5) US9298647B2 (zh)
CN (1) CN105389265B (zh)
DE (1) DE102015010906A1 (zh)
FR (1) FR3025041A1 (zh)
GB (1) GB2531631B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9298647B2 (en) 2014-08-25 2016-03-29 HGST Netherlands B.V. Method and apparatus to generate zero content over garbage data when encryption parameters are changed
US10372627B2 (en) 2014-08-25 2019-08-06 Western Digital Technologies, Inc. Method to generate pattern data over garbage data when encryption parameters are changed
US10142303B2 (en) * 2015-07-07 2018-11-27 Qualcomm Incorporated Separation of software modules by controlled encryption key management
US10114782B2 (en) * 2016-09-27 2018-10-30 Nxp B.V. USB type C dual-role-port unattached duty cycle randomization
FR3071637B1 (fr) * 2017-09-25 2019-09-13 Schneider Electric Industries Sas Module de commande pour systeme de dialogue homme-machine
CN110659226A (zh) * 2018-06-28 2020-01-07 晨星半导体股份有限公司 用以存取数据的方法以及相关电路
US11036651B2 (en) 2018-06-29 2021-06-15 Micron Technology, Inc. Host side caching security for flash memory
US11941262B1 (en) * 2023-10-31 2024-03-26 Massood Kamalpour Systems and methods for digital data management including creation of storage location with storage access ID

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102099792A (zh) * 2008-06-06 2011-06-15 枢轴3公司 用于分布式raid实现的方法和系统
JP2013037417A (ja) * 2011-08-04 2013-02-21 Mega Chips Corp メモリシステム、情報処理装置、メモリ装置、およびメモリシステムの動作方法

Family Cites Families (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6792500B1 (en) 1998-07-08 2004-09-14 Broadcom Corporation Apparatus and method for managing memory defects
JP4253944B2 (ja) * 1999-08-31 2009-04-15 ソニー株式会社 記録媒体、記録媒体製造装置及び記録媒体製造方法、データ記録装置及びデータ記録方法
GB2366640B (en) * 2000-03-30 2004-12-29 Ibm Distribution of activation information
US6922785B1 (en) * 2000-05-11 2005-07-26 International Business Machines Corporation Apparatus and a method for secure communications for network computers
US6934825B1 (en) 2000-09-21 2005-08-23 International Business Machines Corporation Bi-directional stack in a linear memory array
JP2002132456A (ja) 2000-10-20 2002-05-10 Sony Corp 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム提供媒体
US6957340B1 (en) * 2000-11-28 2005-10-18 Xilinx, Inc. Encryption key for multi-key encryption in programmable logic device
US7058177B1 (en) * 2000-11-28 2006-06-06 Xilinx, Inc. Partially encrypted bitstream method
US7117373B1 (en) * 2000-11-28 2006-10-03 Xilinx, Inc. Bitstream for configuring a PLD with encrypted design data
US7117372B1 (en) * 2000-11-28 2006-10-03 Xilinx, Inc. Programmable logic device with decryption and structure for preventing design relocation
US6965675B1 (en) * 2000-11-28 2005-11-15 Xilinx, Inc. Structure and method for loading encryption keys through a test access port
US20020095382A1 (en) * 2001-01-10 2002-07-18 Hiroki Taoka Content decryption device
US20020116624A1 (en) * 2001-02-16 2002-08-22 International Business Machines Corporation Embedded cryptographic system
WO2002077878A1 (en) * 2001-03-26 2002-10-03 Galois Connections Inc Crypto-pointers for secure data storage
US7853803B2 (en) * 2001-09-28 2010-12-14 Verizon Corporate Services Group Inc. System and method for thwarting buffer overflow attacks using encrypted process pointers
RU2298824C2 (ru) 2001-09-28 2007-05-10 Хай Денсити Дивайсез Ас Способ и устройство для шифрования/дешифрования данных в запоминающем устройстве большой емкости
JP2004265194A (ja) * 2003-03-03 2004-09-24 Matsushita Electric Ind Co Ltd 情報処理装置、および情報処理方法
TWI222598B (en) 2003-07-09 2004-10-21 Sunplus Technology Co Ltd Device and method protecting data by scrambling address lines
US7430671B2 (en) 2004-03-31 2008-09-30 Nortel Networks Limited Systems and methods for preserving confidentiality of sensitive information in a point-of-care communications environment
EP1658696B1 (en) 2004-02-05 2009-07-01 Research In Motion Limited On-chip storage, creation, and manipulation of an encryption key
JP4688426B2 (ja) 2004-03-09 2011-05-25 富士通株式会社 無線通信システム
EP1759296A4 (en) 2004-06-14 2007-06-27 Research In Motion Ltd METHOD AND SYSTEM FOR SECURING DATA USING A REDUNDANT SAFE KEY MEMORY
US9396752B2 (en) 2005-08-05 2016-07-19 Searete Llc Memory device activation and deactivation
US8117404B2 (en) * 2005-08-10 2012-02-14 Apple Inc. Misalignment predictor
US20070050642A1 (en) * 2005-08-26 2007-03-01 International Business Machines Corporation Memory control unit with configurable memory encryption
US20070067644A1 (en) * 2005-08-26 2007-03-22 International Business Machines Corporation Memory control unit implementing a rotating-key encryption algorithm
GB2431252B (en) 2005-10-11 2010-06-09 Hewlett Packard Development Co Data transfer device
US7657754B2 (en) 2005-12-08 2010-02-02 Agere Systems Inc Methods and apparatus for the secure handling of data in a microcontroller
JP4643427B2 (ja) 2005-12-08 2011-03-02 株式会社日立製作所 暗号化機能内蔵ストレージシステム
US8001374B2 (en) 2005-12-16 2011-08-16 Lsi Corporation Memory encryption for digital video
US20080019506A1 (en) 2006-07-21 2008-01-24 Yung-Huan Hsu Encryption/Decryption Apparatus, System and Method
US8356178B2 (en) * 2006-11-13 2013-01-15 Seagate Technology Llc Method and apparatus for authenticated data storage
US7894599B2 (en) 2006-12-04 2011-02-22 International Business Machines Corporation Enhanced data security with redundant inclusive data encryption segments
US8151082B2 (en) 2007-12-06 2012-04-03 Fusion-Io, Inc. Apparatus, system, and method for converting a storage request into an append data storage command
JPWO2008096396A1 (ja) * 2007-02-02 2010-05-20 パナソニック株式会社 無線通信装置および暗号鍵更新方法
ATE541265T1 (de) 2007-06-22 2012-01-15 Neutrino Concepts Ltd Randomisierung
JP4990089B2 (ja) 2007-10-12 2012-08-01 株式会社日立製作所 格納データ暗号化機能内蔵ストレージ装置の暗号鍵をバックアップ及びリストアする計算機システム
WO2009060631A1 (ja) 2007-11-09 2009-05-14 Icon Corp. 鍵管理装置及び当該装置を用いた情報伝達システム
US8171309B1 (en) 2007-11-16 2012-05-01 Marvell International Ltd. Secure memory controlled access
JP2010009306A (ja) * 2008-06-26 2010-01-14 Hitachi Ltd ストレージ装置及びストレージ装置のデータ処理方法
US8098825B2 (en) 2008-06-30 2012-01-17 Condel International Technologies Inc. Method and system for enhancing data encryption using multiple-key lists
JP5069191B2 (ja) 2008-08-22 2012-11-07 興和株式会社 光学読み取り装置
JP5272637B2 (ja) * 2008-10-14 2013-08-28 ソニー株式会社 情報処理装置、暗号切替方法、及びプログラム
US8565436B2 (en) * 2008-12-15 2013-10-22 Ebay Inc. Secure self managed data (SSMD)
JP5139465B2 (ja) 2010-03-31 2013-02-06 株式会社東芝 メモリチップ、情報記憶システム、読み出し装置
EP2375355A1 (en) * 2010-04-09 2011-10-12 ST-Ericsson SA Method and device for protecting memory content
US8977865B2 (en) * 2010-05-25 2015-03-10 Microsoft Technology Licensing, Llc Data encryption conversion for independent agents
WO2011159918A2 (en) 2010-06-16 2011-12-22 Vasco Data Security, Inc. Mass storage device memory encryption methods, systems, and apparatus
TWI496161B (zh) * 2010-08-06 2015-08-11 Phison Electronics Corp 記憶體識別碼產生方法、管理方法、控制器與儲存系統
US9081771B1 (en) * 2010-12-22 2015-07-14 Emc Corporation Encrypting in deduplication systems
US8649514B2 (en) * 2010-12-28 2014-02-11 Sony Corporation On-demand switched content encryption
US8732431B2 (en) * 2011-03-06 2014-05-20 Micron Technology, Inc. Logical address translation
US8516271B2 (en) * 2011-03-11 2013-08-20 Hewlett-Packard Development Company, L. P. Securing non-volatile memory regions
US8631460B2 (en) * 2011-03-23 2014-01-14 CipherPoint Software, Inc. Systems and methods for implementing transparent encryption
JP5121974B2 (ja) * 2011-05-24 2013-01-16 株式会社東芝 データ記憶装置、記憶制御装置及び方法
KR101234784B1 (ko) * 2011-05-30 2013-02-20 삼성에스디에스 주식회사 아이디 기반 암호화 방법 및 그 장치
TWI443517B (zh) * 2011-09-26 2014-07-01 Phison Electronics Corp 記憶體儲存裝置及其記憶體控制器與密碼驗證方法
JP5845824B2 (ja) * 2011-11-04 2016-01-20 富士通株式会社 暗号化プログラム、復号化プログラム、暗号化方法、復号化方法、システム、コンテンツの生成方法およびコンテンツの復号化方法
US9128876B2 (en) * 2011-12-06 2015-09-08 Honeywell International Inc. Memory location specific data encryption key
KR101859646B1 (ko) * 2011-12-16 2018-05-18 삼성전자주식회사 보안 데이터를 보호하는 메모리 장치 및 보안 데이터를 이용한 데이터 보호 방법
KR101975027B1 (ko) 2012-05-04 2019-05-03 삼성전자주식회사 시스템 온 칩, 이의 동작 방법, 이를 포함하는 장치들
US8782410B2 (en) * 2012-06-20 2014-07-15 International Business Machines Corporation Avoiding padding oracle attacks
US10102390B2 (en) * 2012-06-28 2018-10-16 Honeywell International Inc. Memory authentication with redundant encryption
KR20140027596A (ko) 2012-07-24 2014-03-07 삼성전자주식회사 메모리 시스템 및 메모리 시스템에서의 암호화 방법
KR102015906B1 (ko) * 2012-11-12 2019-08-29 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 읽기 방법
US9037872B2 (en) * 2012-12-17 2015-05-19 Advanced Micro Devices, Inc. Hardware based return pointer encryption
US9213633B2 (en) 2013-04-30 2015-12-15 Seagate Technology Llc Flash translation layer with lower write amplification
US9043613B2 (en) 2013-06-28 2015-05-26 International Business Machines Corporation Multiple volume encryption of storage devices using self encrypting drive (SED)
TWI479359B (zh) * 2013-08-01 2015-04-01 Phison Electronics Corp 指令執行方法、記憶體控制器與記憶體儲存裝置
US20150095661A1 (en) * 2013-09-30 2015-04-02 Microsoft Corporation Flexible Memory Addressing For Data Security
TWI516921B (zh) * 2013-10-02 2016-01-11 群聯電子股份有限公司 資料處理方法、記憶體儲存裝置與記憶體控制電路單元
US9910790B2 (en) * 2013-12-12 2018-03-06 Intel Corporation Using a memory address to form a tweak key to use to encrypt and decrypt data
US9792448B2 (en) * 2014-02-28 2017-10-17 Advanced Micro Devices, Inc. Cryptographic protection of information in a processing system
US10691838B2 (en) * 2014-06-20 2020-06-23 Cypress Semiconductor Corporation Encryption for XIP and MMIO external memories
US20150379280A1 (en) * 2014-06-30 2015-12-31 Nicira, Inc. Method and Apparatus for Dynamically Creating Encryption Rules
US10372627B2 (en) * 2014-08-25 2019-08-06 Western Digital Technologies, Inc. Method to generate pattern data over garbage data when encryption parameters are changed
US9298647B2 (en) * 2014-08-25 2016-03-29 HGST Netherlands B.V. Method and apparatus to generate zero content over garbage data when encryption parameters are changed
US9436847B2 (en) * 2014-09-26 2016-09-06 Intel Corporation Cryptographic pointer address encoding
IL235729A (en) * 2014-11-17 2017-06-29 Kaluzhny Uri A device and method for securely storing information
US10157012B2 (en) * 2015-09-29 2018-12-18 Sandisk Technologies Llc Zero read on trimmed blocks in a non-volatile memory system
KR102289669B1 (ko) * 2020-03-31 2021-08-12 연세대학교 산학협력단 임펄스의 상관관계 이용한 거리측정 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102099792A (zh) * 2008-06-06 2011-06-15 枢轴3公司 用于分布式raid实现的方法和系统
JP2013037417A (ja) * 2011-08-04 2013-02-21 Mega Chips Corp メモリシステム、情報処理装置、メモリ装置、およびメモリシステムの動作方法

Also Published As

Publication number Publication date
US10698840B2 (en) 2020-06-30
CN105389265A (zh) 2016-03-09
GB2531631A (en) 2016-04-27
GB2531631B (en) 2018-01-10
US20170031837A1 (en) 2017-02-02
US9436618B2 (en) 2016-09-06
US20160055101A1 (en) 2016-02-25
US20160170909A1 (en) 2016-06-16
US20200310989A1 (en) 2020-10-01
FR3025041A1 (zh) 2016-02-26
GB201513987D0 (en) 2015-09-23
US9959218B2 (en) 2018-05-01
US9298647B2 (en) 2016-03-29
DE102015010906A1 (de) 2016-02-25
US11416417B2 (en) 2022-08-16
US20180293177A1 (en) 2018-10-11

Similar Documents

Publication Publication Date Title
CN105389265B (zh) 当加密参数改变时在垃圾数据上生成零内容的方法和装置
US10887086B1 (en) Protecting data in a storage system
US20170046281A1 (en) Address dependent data encryption
US9614674B2 (en) Virtual bands concentration for self encrypting drives
CN109844751A (zh) 处理系统中的直接存储器访问授权
US20190384938A1 (en) Storage apparatus and method for address scrambling
CN103620617A (zh) 用于带有完整性检查和防止重放攻击的保护的存储器加密的方法和设备
US20180260151A1 (en) Data Storage Device and Operating Method Therefor
CN106529349A (zh) 一种安全芯片及其访问控制方法
CN107533514A (zh) 存储器内容的基于密码的初始化
CN106845261A (zh) 一种销毁ssd硬盘数据的方法及装置
US9928385B2 (en) Periodic memory refresh in a secure computing system
CN110659506A (zh) 基于密钥刷新对存储器进行重放保护
US20190377693A1 (en) Method to generate pattern data over garbage data when encryption parameters are changed
US20140173280A1 (en) Device authentication
CN107563226A (zh) 一种存储器控制器、处理器模块及密钥更新方法
TWI736000B (zh) 資料儲存裝置以及其操作方法
CN103336919A (zh) 实现仪表加密验证控制功能的系统和方法
JP5978260B2 (ja) 自己暗号化ドライブ用の仮想バンド集信
GB2520113A (en) Virtual bands concentration for self encrypting drives

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190121

Address after: American California

Patentee after: Western Digital Technologies, Inc.

Address before: Amsterdam

Patentee before: Hitachi Global Storage Technologies Netherlands B. V.

TR01 Transfer of patent right