CN112446036A - 存储装置上的快速清除 - Google Patents
存储装置上的快速清除 Download PDFInfo
- Publication number
- CN112446036A CN112446036A CN202010880571.4A CN202010880571A CN112446036A CN 112446036 A CN112446036 A CN 112446036A CN 202010880571 A CN202010880571 A CN 202010880571A CN 112446036 A CN112446036 A CN 112446036A
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- encrypted data
- read
- clear
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000015654 memory Effects 0.000 claims abstract description 418
- 238000004891 communication Methods 0.000 claims abstract description 45
- 230000004044 response Effects 0.000 claims abstract description 19
- 238000000034 method Methods 0.000 claims description 32
- 238000013507 mapping Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 13
- 238000013500 data storage Methods 0.000 description 12
- 238000003491 array Methods 0.000 description 9
- 239000004065 semiconductor Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000010926 purge Methods 0.000 description 6
- 239000007787 solid Substances 0.000 description 5
- 238000013403 standard screening design Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012005 ligant binding assay Methods 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 101100421142 Mus musculus Selenon gene Proteins 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 229910000679 solder Inorganic materials 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
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/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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- 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/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
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 Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Read Only Memory (AREA)
Abstract
本申请案涉及存储装置上的快速清除。存储器装置包括:存储器阵列,其包含存储器单元;到主机装置的通信接口;及存储器控制单元,其可操作地耦合到所述存储器阵列及所述通信接口。所述存储器控制单元经配置以:对经由所述通信接口接收的写入数据进行加密以产生经加密数据;用所述经加密数据对所述存储器阵列的所述存储器单元的部分进行编程;响应于存储器读取请求,从所述存储器单元的所述部分读取所述经加密数据;对所述读取经加密数据进行解密以仅针对未存储在所述存储器阵列的清除区域中的所述读取经加密数据的部分产生读取经解密数据。
Description
技术领域
本公开的实施例涉及被管理存储器装置,并且更具体来说,涉及对在被管理存储器装置上执行的清除操作的改进。
背景技术
存储器装置通常经提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,其包含易失性及非易失性存储器。易失性存储器可能需要电力来维持数据,并且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM)等。非易失性存储器可通过在不通电时留存所存储数据来提供持久数据,并且可包含NAND闪存、NOR闪存、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)及电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)及磁阻随机存取存储器(MRAM),3D XPointTM存储器等。
存储器单元通常布置成矩阵或阵列。可将多个矩阵或阵列组合成存储器装置,并且多个装置经组合以形成存储器系统的存储卷,例如固态驱动器(SSD)、通用闪存(UFSTM)装置、多媒体卡(MMC)固态存储器装置、嵌入式MMC装置(eMMCTM)等,如本文稍后将进一步论述。
一些存储器系统对存储在系统中的数据加密,以提供增强的数据安全性。然而,当前已知系统的操作及/或互操作性仍有改进的空间。
发明内容
本公开的一个方面提供一种存储器装置,其中所述存储器装置包括:存储器阵列,其包含存储器单元;通信接口,其到主机装置;存储器控制单元,其可操作地耦合到所述存储器阵列及所述通信接口,并经配置以:对经由所述通信接口接收的写入数据进行加密以产生经加密数据;用所述经加密数据对所述存储器阵列的选定存储器单元进行编程;响应于存储器读取请求,从所述存储器单元的部分读取所述经加密数据;对所述读取经加密数据进行解密以仅针对未存储在所述存储器阵列的清除区域中的所述读取经加密数据的部分产生读取经解密数据。
本公开的另一方面提供一种操作存储器的方法,其中所述方法包括:接收待写入所述存储器的存储器阵列的存储器单元的一部分的数据;对待写入的所述数据进行加密;用所述经加密数据对所述存储器单元进行编程;从所述存储器单元读取所述经加密数据;及对所述读取经加密数据进行解密以仅针对未存储在所述存储器阵列的清除区域中的所述读取经加密数据的部分产生读取经解密数据。
本公开的另一方面提供一种存储器系统,其中所述存储器系统包括:主机装置;及存储器装置,所述存储器装置包含存储器控制单元,其经配置以:从所述主机装置接收待写入所述存储器装置的存储器阵列的存储器单元的一部分的数据;对待写入的所述数据进行加密;用所述经加密数据对所述存储器单元进行编程;从所述存储器单元的所述部分读取所述经加密数据;及对所述读取经加密数据进行解密以仅针对未存储在所述存储器阵列的所述清除区域中的所述读取经加密数据的部分产生读取经解密数据;及将所述读取经解密数据传送到所述主机装置。
附图说明
在不一定按比例绘制的图式中,相似数字可在不同视图中描述类似组件。具有不同字母后缀的相似数字可表示类似组件的不同例子。图式通过实例而非限制的方式大体上说明本文献中论述的各种实施例。
图1说明包含主机及存储器装置的实例系统。
图2是呈包含非易失性存储器单元的存储器装置形式的设备的框图。
图3是表示存储器阵列中的物理存储器的区域的实例的说明。
图4是操作存储器装置以执行清除操作的方法的流程图。
图5是存储器装置的实例的部分的框图。
图6A是展示写入数据路径的存储器装置的框图。
图6B是展示读取数据路径的存储器装置的框图。
图7是可用于跟踪取消映射逻辑地址的表的实例。
图8是展示替代写入路径或读取路径的存储器装置的框图。
图9说明根据本文描述的一些实施例的实例机器的框图。
具体实施方式
存储器装置,特别是NVM装置(例如NAND快闪装置等)可包含多电平存储器单元的阵列。存储器装置可对阵列执行擦除、丢弃及清除操作。丢弃操作是擦除操作的非安全变体。清除操作要求以更安全的方式从取消映射的存储器空间去除数据。在常规方法中,通过使用NAND擦除操作物理擦除数据来去除信息。取决于取消映射区域的数目、其大小及位置,清除操作可能会非常冗长。
存储器装置包含个别存储器裸片,其可例如包含存储区域,所述存储区域包括一或多个存储器单元阵列,其实施一种(或多种)选定存储技术。此存储器裸片通常将包含用于操作存储器阵列的支持电路系统。有时通常被称为“被管理存储器装置”的其它实例包含与控制器功能性相关联的一或多个存储器裸片的组合件,所述控制器功能性经配置以控制一或多个存储器裸片的操作。此控制器功能性可简化与外部装置(如“主机”)的互操作性,如本文稍后所论述。在此类被管理存储器装置中,控制器功能性可在也并入存储器阵列的一或多个裸片上或在单独裸片上实施。在其它实例中,一或多个存储器装置可与控制器功能性组合以形成固态驱动器(SSD)存储卷。
在实施NAND闪存单元的被管理存储器装置(被称为“被管理NAND”装置)的实例中描述本公开的实施例。然而,这些实例不限制本公开的范围,本公开可以其它形式的存储器装置及/或用其它形式的存储技术来实施。
NOR及NAND快闪架构半导体存储器阵列两者都通过解码器存取,所述解码器通过选择耦合到存储器单元的栅极的字线来激活特定存储器单元。在NOR架构半导体存储器阵列中,一旦被激活,选定存储器单元就将其数据值放置在位线上,从而导致不同电流取决于特定单元被编程的状态而流动。在NAND架构半导体存储器阵列中,高偏置电压经施加到漏极侧选择栅极(SGD)线。以指定通过电压(例如,Vpass)驱动耦合到每一群组的未选定存储器单元的栅极的字线,以将每一群组的未选定存储器单元作为通过晶体管来操作(例如,以不受其存储数据值约束的方式使电流通过)。电流然后通过每一串联耦合群组从源极线流到位线,仅受每一群组的选定存储器单元的约束,从而将选定存储器单元的当前经编码数据值放置在位线上。
NOR或NAND架构半导体存储器阵列中的每一闪存单元可被个别地或共同地编程为一或数个编程状态。举例来说,单电平单元(SLC)可表示两个编程状态(例如,1或0)中的一者,其表示一个数据位。闪存单元还可表示两个以上编程状态,从而允许在不增加存储器单元数目的情况下制造更高密度存储器,这是因为每一单元可表示一个以上的二进制数字(例如,一个以上位)。此类单元可被称为多状态存储器单元、多数字单元或多电平单元(MLC)。在某些实例中,MLC可指代每单元可存储两个数据位(例如,四个编程状态中的一者)的存储器单元,三电平单元(TLC)可指代每单元可存储三个数据位(例如,八个编程状态中的一者)的存储器单元,且四电平单元(QLC)每单元可存储四个数据位。MLC在本文中在其更广泛的上下文中用于指代每单元可存储一个以上数据位的任何存储器单元(即,其可表示两个以上编程状态)。
可根据公认的行业标准来配置及操作被管理存储器装置。举例来说,被管理NAND装置可为(作为非限制性实例)通用快闪存储(UFSTM)装置或嵌入式MMC装置(eMMCTM)等。举例来说,在上文实例的情况下,可根据联合电子装置工程委员会(JEDEC)标准(例如,标题为JEDEC UFS快闪存储3.0(JEDEC UFS Flash Storage 3.0)等的JEDEC标准JESD223D及/或此标准的更新或后续版本)来配置UFS装置。类似地,同样可根据标题为“JEDEC eMMC标准5.1(JEDEC eMMC standard 5.1)”的JEDEC标准JESD84-A51及/或此标准的更新或后续版本来配置经识别eMMC装置。
SSD尤其可用作计算机的主存储装置,其在例如性能、大小、重量、坚固度、操作温度范围及功耗方面优于具有移动部件的传统硬盘驱动器。举例来说,SSD可减少与磁盘驱动器(例如,机电等)相关联的寻道时间、延时或其它延迟。SSD使用非易失性存储器单元(例如闪存单元)来消除内部电池电源需求,因此允许驱动器更加通用及紧凑。被管理存储器装置(例如被管理NAND装置)可用作呈各种电子装置形式的主或辅助存储器,并且通常用在移动装置中。
SSD及被管理存储器装置两者都可包含数个存储器装置,其包含数个裸片或逻辑单元(例如,逻辑单元号或LUN),并且可包含一或多个处理器或其它控制器,其执行操作存储器装置或与外部系统介接所需的逻辑功能。此类SSD及被管理存储器装置可包含一或多个闪存裸片,其上包含数个存储器阵列及外围电路系统。闪存阵列可包含组织成数个物理页面的数个存储器单元块。在一些实例中,SSD还可包含DRAM或SRAM(或其它形式的存储器裸片或其它存储器结构)。类似地,被管理NAND装置可包含与NAND存储器阵列分离并且在控制器内或与控制器分离的易失性及/或非易失性存储器的一或多个阵列。SSD及被管理NAND装置两者都可从主机接收与存储器操作(例如读取或写入操作)相关联的命令,所述存储器操作例如用以在存储器装置与主机之间传送数据(例如,用户数据及相关联完整性数据,例如错误数据及地址数据等)的读取或写入操作,或用以从存储器装置擦除数据的擦除操作。
图1说明包含主机105及存储器装置110的实例系统100。主机105可包含主机处理器、中央处理单元或一或多个其它装置、处理器或控制器。存储器装置110可包含通用快闪存储(UFS)装置、嵌入式MMC(eMMCTM)装置或一或多个其它存储器装置。主机105及存储器装置110可使用通信接口(I/F)115(例如,双向并行或串行通信接口)通信。
在实例中,存储器装置110可包含UFS装置,并且通信接口115可包含串行双向接口,例如在一或多个联合电子装置工程委员会(JEDEC)标准(例如,JEDEC标准D223D(JESD223D),通常称为JEDEC UFS主机控制器接口(UFSHCI)3.0等)中定义。在另一实例中,存储器装置110可包含eMMCTM装置,并且通信接口115可包含数个并行双向数据线(例如,DAT[7:0])及一或多个命令线,例如一或多种JEDEC标准(例如,JEDEC标准D84-B51(JESD84-A51),通常称为JEDEC eMMC标准5.1等)中定义。在其它实例中,取决于主机105及存储器装置110,存储器装置110可包含一或多个其它存储器装置,或者通信接口115可包含一或多个其它接口。所识别标准仅作为其中可利用所描述方法及结构的实例环境提供;但是此类方法及结构可在所识别标准(或任何实际或建议标准)之外的各种环境中利用。
主机105及存储器装置110中的每一者可包含数个接收器或驱动器电路,其经配置以通过通信接口115发送或接收信号,或接口电路,例如数据控制单元,采样电路,或其它中间电路,其经配置以处理通过通信接口115传达的数据,或以其它方式处理从通信接口115接收的数据以供主机105、存储器装置110或一或多个电路或装置使用。
存储器装置110可包含存储器阵列(例如,一或多个存储器单元阵列,例如NAND闪存阵列,或一或多个其它存储器阵列)、存储器控制单元,并且在某些实例中,包含存储器阵列与存储器控制单元之间的接口电路。在某些实施例中,存储器阵列可包含数个存储器裸片,其各自具有与存储器控制单元分离的控制逻辑。存储器控制单元可包含专用集成电路(ASIC)、现场可编程门阵列(FPGA)或一或多个其它处理电路,其经布置或编程以管理到存储器阵列、从存储器阵列或在存储器阵列内的数据传送或操作。
图2展示适合用作图1中的存储器装置110的实例存储器装置200的框图。根据本文所描述的一些实施例,存储器装置可包含具有集成在同一集成电路(IC)芯片中的混合存储器单元类型的非易失性存储器单元。存储器装置200可包含含有存储器单元210及285的存储器阵列(或多个存储器阵列)201。在存储器装置200的物理结构中,存储器单元210及285可垂直地布置(例如,彼此上下堆叠)在存储器单元200的衬底(例如,包含存储器装置200的IC芯片的半导体衬底)上方。存储器单元210及285可包含非易失性单元。存储器单元210及285可具有不同非易失性存储器单元类型。举例来说,存储器单元210可包含浮动栅极存储器单元、电荷陷阱存储器单元或其它类型的非易失性存储器单元。存储器单元285可包含铁电存储器单元、相变存储器单元、电阻性存储器单元、传导桥存储器单元及自旋转移转矩磁性随机存取存储器(STT-MRAM)单元,或其它类型的非易失性存储器单元。
如图2中所展示,存储器单元210及285布置在块(存储器单元块)中,例如块290及291。块290及291中的每一者可包含子块。举例来说,块290可包含子块2900及290n,且块291可包含子块2910及291n。子块2900、290n、2910及291n中的每一者可包含存储器单元210及285的组合。作为实例,图2展示具有两个块290及291以及块中的每一者中的两个子块。存储器装置200可具有两个以上块及在块中的每一者中的两个以上子块。
如图2中所展示,存储器装置200可包含存取线(其可包含字线)250及数据线(其可包含位线)270。存取线250可携载信号(例如,字线信号)WL0到WLm。数据线270可携载信号(例如,位线信号)BL0到BLn。存储器装置200可使用存取线250来选择性地存取块290及291的子块2900、290n、2910及291n及使用数据线270来与块290及291的存储器单元210选择性地交换信息(例如,数据)。
存储器装置200可包含地址寄存器207,以接收线(例如地址线)203上的地址信息(例如,地址信号)ADDR。存储器装置200可包含行存取电路系统208及列存取电路系统209,其解码来自地址寄存器207的地址信息。基于经解码地址信息,存储器装置200可确定在存储器操作期间将存取块290及291的哪些子块中的哪些存储器单元210。存储器装置200可执行读取操作以读取(例如,感测)存储器单元210中的信息(例如,先前存储信息),或者执行写入(例如,编程)操作以将(例如,程序)信息存储在存储器单元210中。存储器装置200可使用与信号BL0到BLn相关联的数据线270来提供待存储在存储器单元210中的信息,或者获得从存储器单元210读取(例如,感测)的信息。存储器装置200还可执行擦除操作以从块290及291的存储器单元210的一些或全部擦除信息。
存储器装置200可包含存储器控制单元218(其可包含例如状态机(例如,有限状态机)、寄存器电路及其它组件的组件),其经配置以基于线204上的控制信号来控制存储器装置200的存储器操作(例如,读取、写入及擦除操作)。线204上的控制信号的实例包含一或多个时钟信号及其它信号(例如,芯片启用信号CE#、写入启用信号WE#)以指示存储器装置200可执行哪个操作(例如,读取、写入或擦除操作)。
存储器装置200可包含感测及缓冲电路系统220,其可包含例如感测放大器及页缓冲电路(例如,数据锁存器)的组件。感测及缓冲电路系统220可响应于来自列存取电路209的信号BL_SEL0到BL_SELn。感测及缓冲电路系统220可经配置以确定(例如,通过感测)从块290及291的存储器单元210读取(例如,在读取操作期间)的信息的值并将信息的值提供到线(例如,全局数据线)275。感测及缓冲电路系统220还可经配置以使用线275上的信号以基于线275(例如,在写入操作期间)上的信号的值(例如,电压值)来确定待存储(例如,经编程)在块290及291的存储器单元210中(例如,在写入操作期间)信息的值。
存储器装置200可包含输入/输出(I/O)电路系统217,以在块290及291的存储器单元210与线(例如,I/O线)205之间交换信息。线205上的信号DQ0到DQN可表示从块290及291的存储器单元210读取或存储在块290及291的存储器单元210中的信息。线205可包含存储器装置200内的节点或存储器装置200可驻留的封装上的引脚(或焊球)。存储器装置200外部的其它装置(例如,存储器控制器、存储器控制单元或处理器)可通过线203、204及205与存储器装置200通信。
存储器装置200可接收供应电压,其包含供应电压Vcc及Vss。供应电压Vss可在接地电位(例如,具有大约零伏的值)下操作。供应电压Vcc可包含从例如电池或交流到直流(AC-DC)转换器电路系统的外部电源供应到存储器装置200的外部电压。
存储器单元210中的每一者可个别地或共同地编程为一或数个编程状态。举例来说,单电平单元(SLC)可表示两个编程状态(例如1或0)中的一者,其表示一个数据位。然而,闪存单元也可表示两个以上编程状态中的一者,从而允许在不增加存储器单元数目的情况下制造更高密度的存储器,这是因为每一单元可表示一个以上的二进制数字(例如,超过一个位)。此类单元可被称为多状态存储器单元、多数字单元或多电平单元(MLC)。在某些实例中,MLC可指代每单元可存储两个数据位的存储器单元(例如,四个编程状态中的一者),三电平单元(TLC)可指代每单元可存储三个数据位的存储器单元(例如,八个编程状态中的一者),及四电平单元(QLC)每单元可存储四个数据位。MLC在本文中在其更广泛的上下文中用于指代每单元可存储一个以上数据位的任何存储器单元(即,其可表示两个以上编程状态)。
在另一实例中,存储器单元210中的每一者可经编程以存储表示针对多个位的值的信息,例如两个位的四个可能值“00”、“01”、“10”及“11”中的一者,三个位的八个可能值“000”、“001”、“010”、“011”、“100”、“101”、“110”及“111”中的一者,或另一数目个多个位的其它值中的一者。具有存储多个位的能力的单元有时称作多电平单元(或多状态单元)。
存储器装置200可包含非易失性存储器装置,使得当电力(例如,电压Vcc、Vss或两者)与存储器装置200断开连接时,存储器单元210及285可保留存储在其上的信息。举例来说,存储器装置200可为闪存装置,例如NAND快闪(例如,3维(3-D)NAND)或NOR闪存装置,或另一种类的存储器装置,例如可变电阻存储器装置(例如,相变存储器装置或电阻式RAM(随机存取存储)装置)。所属领域的一般技术人员可认识到,存储器装置200可包含图2中未展示的其它组件,以便于不混淆本文描述的实例实施例。
除擦除操作之外,存储器装置200还可执行丢弃及清除操作。丢弃操作是擦除功能的非安全变体。存储器控制单元218可将虚拟存储器地址映射到存储器阵列的物理存储器单元。丢弃操作未从物理存储器映射虚拟存储器。图3是表示适用于相对于图2描述的存储器阵列201中的物理存储器的区域的实例的说明。使用丢弃操作使区域U1、U2、U3及U4取消映射。存储器阵列的其它区域含有主机数据。丢弃与擦除之间的区别是存储器装置的行为。在丢弃中,不要求存储器装置保证当将读操作引导到LBA时主机不会从标记为丢弃的一或多个逻辑块地址(LBA)检索原始数据。
清除操作在取消映射地址空间上操作,并导致从取消映射地址空间去除所有数据。这是根据存储器装置内部设置的参数值完成的。此参数值可经设置以反映将使用供应商定义的机制(例如,擦除机制)来去除信息。清除操作可能是一个非常漫长的过程,其取决于取消映射区域的数目、其大小及其位置。为简化说明,图3的实例仅包含四个取消映射区域。与装置必须保证当将读操作引导到LBA时主机不会从标记为丢弃的一或多个LBA检索原始数据的丢弃操作不同,清除操作要求以更安全方式从取消映射空间去除数据。在常规方法中,通过使用NAND擦除操作物理擦除数据来去除信息。清除操作的一种改进方法是使用加密/解密,以确保主机无权存取清除数据,同时消除数据的去除造成的延时。
图4是例如通过如相对于图1描述的存储器装置110或如相对于图2描述的存储器装置200来操作存储器装置以执行清除操作的方法400的流程图。在405处,在存储器装置处接收数据用于写入到存储器阵列的存储器单元中。在410处,对待写入的数据进行加密,并且在415处将经加密数据编程到存储器单元中。当接收读取写入经加密数据的读取请求时,在420处从存储器读取经加密数据并且在425处解密读取经加密数据以在将读取数据发送到请求装置(例如,图1中的主机105)之前产生读取数据。仅当读取数据未存储在存储器阵列的清除区域中时,才对经加密读取数据进行解密。
如果存储器单元的被读取的部分包含在存储器阵列的清除部分中,那么在产生读取数据时省略解密。可将不能由请求装置使用的经加密数据发送到请求装置。因此,新清除方法通过防止请求装置检索原始数据来遵守清除操作的定义,但是清除操作不涉及冗长的擦除操作。
图5是适合用作图1中的存储器装置110或图2中的存储器装置200的存储器装置的实例的部分的框图。存储器装置包含存储器阵列501、存储器控制单元518及通信接口515,以可操作地耦合存储器控制单元518及主机装置505。存储器控制单元518对经由通信接口接收的写入数据进行加密。存储器控制单元518还起始用经加密数据对物理存储器单元进行编程。存储器控制单元518可包含加密引擎522。“引擎”是指存储器控制单元518的专用于执行加密功能的逻辑电路系统块。以此方式,数据的加密是确定性的,因为对数据进行加密所需的时钟循环数目始终是相同的,并且不会随存储器控制单元518的其它电路系统(例如,处理电路系统)上的负载而变化。
图6A是展示写入数据路径630的图5的实例存储器装置的框图。可在通信接口处将数据从主机装置接收到存储器控制单元的缓冲区526中。数据由加密引擎522加密。加密引擎可经配置以使用对称密钥加密(例如高级加密标准(AES))来对数据进行加密。在一些实施例中,加密引擎522使用内容加密密钥(CEK)即时对数据进行加密。存储器控制单元518可包含其它逻辑电路系统528(例如,快闪控制逻辑电路系统)以将经加密数据写入存储器阵列501。逻辑电路系统528可执行与在存储器单元当中分布数据相关的功能。
例如响应于来自主机应用程序或主机装置的读取请求,存储器控制单元518从存储器阵列读取经加密数据作为读取操作的部分。当读取经加密数据时,将其解密以产生读取数据。存储器控制单元518可包含解密引擎524以执行解密功能。然后,将读取数据提供到请求装置。图6B是展示读取数据路径632的图5的实例的存储器装置的框图。在一些实施例中,在从主机装置接收到读取操作之后,存储器控制单元518将从存储器阵列501读取数据,并使用用以对数据进行加密的相同CEK来对数据进行解密,并将经解密数据发送到主机作为读取数据。
如先前解释,存储器控制单元518执行丢弃操作。存储器控制单元518可产生参考结构(例如,例如存储器中的表的数据结构)以跟踪存储器阵列的取消映射部分。图7是存储器阵列内部的参考结构的实例,其适合于与图2的实例存储器阵列201一起使用,或与图2的实例存储器控制单元218一起使用,以在由存储器控制单元518接收丢弃命令或其它丢弃指示时跟踪取消映射LBA。参考结构中的条目与图3的物理存储器的实例区域中的取消映射区域匹配。为简化图式,仅显示四个取消映射区域。
当接收存储器清除命令或其它清除指示时,存储器控制单元518反复检查取消映射区域的参考结构,并根据存储器清除命令将参考结构条目标记为已清除。这指示主机不应存取的取消映射存储器的区。当主机尝试从存储器阵列的清除区域读取数据时,存储器控制单元518对经加密数据进行解密。在一些实施例中,当读取数据包含在指示清除的LBA的表条目中时,存储器控制单元518经由通信接口传送经加密数据。主机不具有解密信息(例如,CEK),因此经加密数据不能由主机装置使用。在一些实施例中,当含有读取数据的存储器单元的部分是存储器阵列的存储器单元的清除部分时,存储器控制单元518经由通信接口将指定“清除数据”而不是读取数据(经加密或未加密)传送到主机。举例来说,存储器控制单元518可将不表示实质性数据(例如,全零、全1或其它位序列)的“虚拟数据”作为指定清除数据传送到主机。
图8是展示替代写入路径或读取路径的图5的实例存储器装置的框图。此写入/读路径绕过存储器控制单元的加密及解密引擎。并非所有待写入存储器的数据都经加密。举例来说,固件代码及一些数据管理表是在写入时可能不会经加密数据类型,并且此未加密存储器数据在读取时不会经历解密。存储器控制单元518可通过数据的地址确定从加密/解密排除数据。举例来说,固件代码可被包含在保留地址空间中。
如果清除经加密数据,那么可使用往返于存储器单元的直接写入/读取路径将经加密数据提供回到主机装置,或将指定清除数据提供到主机装置。发送经加密数据或指定清除数据仍然遵循防止主机检索清除数据的定义。现在加密写入NAND快闪的原始数据,并且存储器控制单元518将不向主机发送有效经解密数据。如果主机(或攻击者)试图绕过存储器控制单元并直接从NAND快闪读取数据,那么其仍将只能读取将无法使用的数据的经加密副本。
本文所描述的方法及装置改进清除操作的延时。存储器装置确保当将读取操作引导到LBA时主机装置不会从标记为清除的一或多个LBA检索可用原始数据而无需执行擦除操作以去除所述数据。
图9说明实例机器900的框图,实例机器900可包含例如如相对于图1描述的主机装置及存储器装置,其可执行本文论述的技术(例如,方法)中的一或多者,例如(举例来说)所描述丢弃及清除操作。在替代实施例中,机器900可作为独立装置操作,或者可连接(例如,联网)到其它机器。在联网部署中,机器900可在服务器-客户端网络环境中以服务器机器、客户端机器或两者的身份进行操作。在实例中,机器900可在对等(P2P)(或其它分布式)网络环境中充当对等机器。机器900可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络器械、IoT装置、汽车系统或能够执行指定待由所述机器采取的动作的指令(循序或以其它方式)的任何机器。此外,虽然仅说明单个机器,但是术语“机器”也应被认为包含机器的任何集合,其个别地或共同地执行一组(或多组)指令以执行本文论述的方法中的一或多者,例如云计算、软件即服务(SaaS)、其它计算机集群配置。
如本文所描述,实施例及实例可包含逻辑、组件、装置、封装或机制,或者可通过其操作。电路系统是在包含硬件(例如,简单电路、门、逻辑等)的有形实体中实施的电路的集合(例如,组)。电路系统成员资格可能随时间推移以及底层硬件可变性而具有灵活性。电路系统包含可在操作时单独或组合执行特定任务的成员。在实例中,电路系统的硬件可经不变地设计以实行特定操作(例如,硬连线)。在实例中,电路系统的硬件可包含可变连接物理组件(例如,执行单元、晶体管、简单电路等),其包含物理地修改(例如,磁性地、电性地、可移动地放置不变质量的粒子等)的计算机可读媒体以对特定操作的指令进行编码。举例来说,在连接物理组件时,硬件组成的底层电性质可从绝缘体改变为导体,反之亦然。指令使参与硬件(例如,执行单元或加载机制)能够经由可变连接在硬件中创建电路系统的部件,以在操作中时实行特定任务的部分。因此,当装置正在操作时,计算机可读媒体通信地耦合到电路系统的其它组件。在实例中,物理组件中的任何者可在一个以上电路系统的一个以上部件中使用。举例来说,在操作下,执行单元可在一个时间点在第一电路系统的第一电路中使用,并且可在不同时间由第一电路系统中的第二电路或第二电路系统中的第三电路重新使用。
机器(例如,计算机系统)900(例如,图1的主机105、存储器装置110等)可包含处理装置902(例如,硬件处理器、中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心或其任何组合,例如存储器装置110的存储器控制单元等)、主存储器904(例如,只读存储器(ROM)、闪存、动态随机存取存储器(DRAM)(例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器906(例如,闪存、静态随机存取存储器(SRAM)等),及数据存储系统918,其中一些或全部可经由互连链路(例如,总线)930彼此通信。
处理装置902可表示一或多个通用处理装置,例如微处理器、中央处理单元或类似者。更特定来说,处理装置902可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或实施其它指令集的处理器或实施指令集的组合的处理器。处理装置902还可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器或类似者。处理装置902可经配置以执行指令926以用于执行本文所论述的操作及步骤。机器900可进一步包含网络接口装置908以通过网络920通信。
数据存储系统918可包含机器可读存储媒体924(也称为计算机可读媒体),在其上存储体现本文所描述的方法或功能中的任何一或多者的一或多组指令926或软件。在由机器900执行指令926期间,指令926还可全部或至少部分地驻留在主存储器904内或处理装置902内,主存储器904及处理装置902也构成机器可读存储媒体。机器可读存储媒体924、数据存储系统918或主存储器904可对应于图1的存储器装置110。在一个实施方案中,指令926包含指令911以实施对应于清除操作(例如,图4的清除操作)的功能性。
尽管在实例实施方案中将机器可读存储媒体924说明为单个媒体,但是术语“机器可读存储媒体”应被认为包含存储一或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”也应被认为包含能够存储或编码一组指令以供机器执行并且致使机器执行本公开的方法中的任何一或多者的任何媒体。因此,术语“机器可读存储媒体”应被认为包含(但不限于)固态存储器、光学媒体及磁性媒体。在实例中,大容量机器可读媒体包括带有具有不变(例如,静止)质量的多个粒子的机器可读媒体。因此,大容量机器可读媒体不是瞬时传播信号。大容量机器可读媒体的特定实例可包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))及闪存装置;磁盘,例如内部硬盘及可卸除磁盘;磁光盘;以及CD-ROM及DVD-ROM盘。
机器900可进一步包含显示单元、字母数字输入装置(例如,键盘)及用户接口(UI)导航装置(例如,鼠标)。在实例中,显示单元、输入装置或UI导航装置中的一或多者可为触摸屏显示器。机器900可包含信号产生装置(例如扬声器)或一或多个传感器,例如,全球定位系统(GPS)传感器、罗盘、加速度计,或一或多个其它传感器。机器900可包含输出控制器,例如串行(例如,通用串行总线(USB)、并行或其它有线或无线(例如,红外(IR)、近场通信(NFC)等)连接以传达或控制一或多个外围装置(例如,打印机、读卡器等)。
存储在数据存储装置918上的指令926(例如,软件、程序、操作系统(OS)等)或其它数据可由主存储器904存取以供处理装置902使用。主存储器904(例如,DRAM)通常是快速但易失性的,且因此与数据存储装置918(例如,SSD)的存储类型不同,数据存储装置918适合于长期存储,包含在“关闭”条件中存储。由用户或机器900使用的指令926或数据通常被加载到主存储器904中以供处理装置902使用。当主存储器904已满时,可分配来自数据存储装置918的虚拟空间以补充主存储器904;然而,由于数据存储装置918装置通常比主存储器904慢,并且写入速度通常比读取速度慢至少两倍,因此使用虚拟存储器可由于存储器装置延时而极大地降低用户体验(与主存储器904相比,例如DRAM)。此外,将数据存储装置918用于虚拟存储器可极大地减少数据存储装置918的可用寿命。
与虚拟存储器相比,虚拟存储器压缩(例如,LinuxTM内核特征“ZRAM”)使用存储器的部分作为压缩块存储,以避免分页到数据存储装置918。在压缩块中进行分页直到需要将此数据写入数据存储装置918为止。虚拟存储器压缩增加主存储器904的可用大小,同时减少对数据存储装置918的损耗。
针对移动电子装置或移动存储优化的存储器装置传统上包含MMC固态存储装置(例如,微型安全数字(microSDTM)卡等)。MMC装置包含与主机(例如,主机装置)的数个并行接口(例如,8位并行接口),并且通常是可卸除的并且与主机分离的组件。相比之下,eMMCTM装置附接到电路板并被视为是主机的组件,其读取速度可与基于串行ATATM(串行AT(高级技术)附件或SATA)的SSD装置相媲美。然而,对移动装置性能的需求不断提高,例如以完全启用虚拟装置或增强现实装置,利用不断提高的网络速度等。响应于此需求,存储器装置已从并行通信接口转变为串行通信接口。通用闪存存储(UFS)装置(包含控制器及固件)使用具有专用读取/写入路径的低压差分信号(LVDS)串行接口与主机通信,从而进一步提高读取/写入速度。
指令924可进一步利用数种传送协议(例如,帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等)中的任一种经由网络接口装置908使用传输媒体通过网络920发射或接收。实例通信网络可包含局域网(LAN)、广域网(WAN)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、普通老式电话(POTS)网络,及无线数据网络(例如,电气及电子工程师协会(IEEE)802.11系列标准,称为IEEE 802.16系列标准,称为)、IEEE 802.15.4系列标准、对等(P2P)网络等。在实例中,网络接口装置908可包含一或多个物理插孔(例如,以太网、同轴或电话插孔)或一或多个天线以连接到网络920。在实例中,网络接口装置908可包含多个天线以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一者进行无线通信。术语“传输媒体”应被认为包含能够存储、编码或携载由机器900执行的指令的任何无形媒体,并且包含数字或模拟通信信号或其它无形媒体以促进此软件的通信。
上文详细描述包含对形成详细描述的一部分的附图的参考。图式通过说明的方式展示可实践本发明的特定实施例。这些实施例在本文中也称为“实例”。此类实例可包含除所展示或描述的元件之外的元件。然而,本发明人还设想其中仅提供所展示或描述的那些元件的实例。此外,本发明人还使用所展示或描述的那些元件(或其一或多个方面)的任何组合或排列来预期实例,关于特定实例(或其一或多个方面),或关于本文所展示或描述的其它实例(或其一或多个方面)。
在此文献中,术语“一”如专利文献中常用的那样包含一个或一个以上,独立于“至少一个”或“一或多个”的任何其它例子或用法。在此文献中,除非另有说明,否则术语“或”用于指代非排他性的或,使得“A或B”可包含“A但不包含B”、“B但不包含A”以及“A及B”,除非另有指示。在所附权利要求书中,术语“包含”及“其中(in which)”用作相应术语“包括”及“其中(wherein)”的普通英语等效物。此外,在所附权利要求书中,术语“包含”及“包括”是开放式的。包含除在权利要求书中在此术语之后列出的元件之外的元件的系统、装置、物品或过程仍被认为落入所述权利要求书的范围内。此外,在所附权利要求书中,术语“第一”、“第二”及“第三”等仅用作标签,并且不希望对其对象施加数字要求。
在各个实例中,本文描述的组件、控制器、处理器、单元、引擎或表可尤其包含存储在物理装置上的物理电路系统或固件。如本文所使用,“处理器”意指任何类型的计算电路,例如但不限于微处理器、微控制器、图形处理器、数字信号处理器(DSP)或任何其它类型的处理器或处理电路,其包含处理器或多核心装置的群组。
如本文所使用,操作存储器单元包含从存储器单元读取、写入存储器单元或擦除存储器单元。将存储器单元放置于预期状态的操作在本文中被称为“编程”,并且可包含写入存储器单元或从存储器单元擦除(例如,存储器单元可经编程为擦除状态)。
根据本公开的一或多个实施例,位于存储器装置内部或外部的存储器控制器(例如,处理器、控制器、固件等)能够确定(例如,选择、设置、调整、计算、改变、清理、传达、调适、派生、定义、利用、修改、应用等)一定数量的损耗循环或损耗状态(例如,记录损耗循环,对存储器装置的操作(在其发生时)进行计数,跟踪存储器装置的操作(其启动时),评估对应于损耗状态的存储器装置特性等)
根据本公开的一或多个实施例,一种存储器存取装置可经配置以用每一存储器操作向所述存储器装置提供损耗循环信息。存储器装置控制电路系统(例如,控制逻辑)可经编程以补偿对应于损耗循环信息的存储器装置性能改变。存储器装置可接收损耗循环信息并响应于损耗循环信息来确定一或多个操作参数(例如,值、特性)。
本文描述的方法实例可为至少部分地机器、装置或计算机实施的。一些实例可包含编码有指令的计算机可读媒体、装置可读媒体或机器可读媒体,所述指令可操作以配置电子装置以执行如上文实例中所描述的方法。此类方法的实施方案可包含代码,例如微代码、汇编语言代码、高级语言代码或类似者。此类代码可包含用于执行各种方法的计算机可读指令。所述代码可形成计算机程序产品的部分。此外,代码可有形地存储在一或多个易失性或非易失性有形计算机可读媒体上,例如在执行期间或在其它时间。这些有形计算机可读媒体的实例可包含(但不限于)硬盘、可卸除磁盘、可卸除光盘(例如,光盘及数字视频盘)、盒式磁带、存储卡或棒、随机存取存储器((RAM)、只读存储器(ROM)、固态驱动器(SSD)、通用快闪存储(UFS)装置,嵌入式MMC(eMMC)装置及类似者。
额外描述及实例
实例1包含标的物(例如存储器装置),其包括:存储器阵列,其包含存储器单元;到主机装置的通信接口;存储器控制单元,其可操作地耦合到所述存储器阵列及所述通信接口。所述存储器控制单元经配置以:对经由所述通信接口接收的写入数据进行加密以产生经加密数据;用所述经加密数据对所述存储器阵列的所述存储器单元的一部分进行编程;响应于存储器读取请求,从所述存储器单元的部分读取所述经加密数据;解密所述读取经加密数据以仅针对未存储在所述存储器阵列的清除区域中的所述读取经加密数据的部分产生读取数据。
在实例2中,实例1的标的物任选地包含存储器控制单元,其经配置以针对存储在所述存储器阵列的所述清除区域中的读取经加密数据经由所述通信接口来传送经加密数据。
在实例3中,实例1及2中一或两者的标的物任选地包含存储器控制单元,其经配置以经由所述通信接口来传送指定清除数据,以代替存储在所述存储器阵列的清除区域中的读取经加密数据。
在实例4中,实例1到3的一个或任何组合的标的物任选地包含存储器控制单元,其经配置以:将虚拟存储器地址映射到所述存储器阵列的所述存储器单元;根据经由所述通信接口接收的存储器丢弃指示来使所述存储器阵列的所述存储器单元的部分取消映射;及根据经由所述通信接口接收的存储器清除指示而将所述存储器单元的取消映射部分改变为所述存储器单元的清除部分。
在实例5中,实例1到4的一个或任何组合的标的物任选地包含存储器控制单元,其经配置以产生指示存储器单元的清除部分的参考结构;及当所述参考结构指示所述读取经加密数据的地址包含在存储器单元的所述清除部分中时,省略对所述读取经加密数据进行解密。
在实例6中,实例5的标的物任选地包含存储器控制单元,其经配置以根据经由所述通信接口接收的存储器丢弃指示,产生所述存储器单元的取消映射部分的参考结构;经由所述通信接口接收存储器清除指示;及通过根据所述存储器清除指示将所述存储器单元的取消映射部分指示为所述存储器单元的清除部分,来产生指示存储器单元的所述清除部分的所述参考结构。
在实例7中,实例1到6的一个或任何组合的标的物任选地包含存储器控制单元,其经配置以从加密排除经由所述通信接口接收的指定类型的写入数据。
在实例8中,实例1到7的一个或任何组合的标的物任选地包含存储器控制单元,其经配置以从加密排除待写入指定存储器地址的数据。
在实例9中,实例1到8的一个或任何组合的标的物任选地包含具有NAND型闪存单元的存储器阵列。
实例10包含标的物(例如对存储器阵列的多电平存储器单元进行编程的方法),或者可任选地与实例1到9的一个或任何组合进行组合以包含此标的物,其包括:接收待写入所述存储器的存储器阵列的存储器单元的一部分的数据;对待写入的所述数据进行加密;用所述经加密数据对所述存储器单元进行编程;从所述存储器单元读取所述经加密数据;对所述读取经加密数据进行解密以仅针对未存储在所述存储器阵列的清除区域中的所述读取经加密数据的部分产生读取经解密数据。
在实例11中,实例10的标的物任选地包含:从主机装置接收待写入的数据,以及将经加密数据传送到所述主机装置作为存储在所述存储器阵列的所述清除部分中的所述读取经加密数据的部分的所述读取数据。
在实例12中,实例10的标的物任选地包含:从主机装置接收待写入的数据,以及将指定清除数据传送到所述主机装置,以代替存储在所述存储器阵列的清除区域中的读取经加密数据。
在实例13中,实例10到12的一个或任何组合的标的物任选地包含将虚拟存储器地址映射到所述存储器阵列的存储器单元;响应于存储器丢弃命令而使所述存储器阵列的所述存储器单元的部分取消映射;及响应于存储器清除命令而将所述存储器单元的取消映射部分包含在所述存储器阵列的所述清除区域中。
在实例14中,实例10到13的一个或任何组合的标的物任选地包含产生指示存储器单元的清除部分的表;及当所述表指示所述读取数据的地址包含在存储器单元的所述清除部分中时,省略所述解密。
在实例15中,实例14的标的物任选地包含:响应于存储器丢弃命令而产生所述存储器单元的取消映射部分的表;以及响应于存储器清除命令而将取消映射部分改变为清除部分。
在实例16中,实例10到15的一个或任何组合的标的物任选地包含仅加密待写入的指定类型的数据,以及从所述加密排除不同类型的数据。
实例17包含标的物(例如存储器系统),或者可任选地与实例1到16中的一或多者组合以包含此标的物,其包括主机装置及存储器装置。所述存储器装置包含存储器控制单元,其经配置以:接收待写入所述存储器装置的存储器阵列的存储器单元的一部分的数据;对待写入的所述数据进行加密;用所述经加密数据对所述存储器单元进行编程;从所述存储器单元的所述部分读取所述经加密数据;对所述读取经加密数据进行解密以仅针对未存储在所述存储器阵列的所述清除区域中的所述读取经加密数据的部分产生读取经解密数据;及将所述读取经解密数据传送到所述主机装置。
在实例18中,实例17的标的物任选地包含存储器控制单元,其经配置以从所述主机装置接收待写入的数据,并将经加密数据传送到所述主机装置作为所述读取经加密数据。
在实例19中,实例17及18中的一或两者的标的物任选地包含存储器控制单元,其经配置以从所述主机装置接收待写入的所述数据,并且将指定清除数据传送到所述主机装置,以代替存储在所述存储器阵列的所述清除区域中的读取经加密数据。
在实例20中,实例17到19的一个或任何组合的标的物任选地包含存储器控制单元,其经配置以:将虚拟存储器地址映射到所述存储器阵列的存储器单元;响应于接收存储器丢弃命令而使所述存储器阵列的所述存储器单元的部分取消映射;及响应于接收存储器清除命令而将所述存储器单元的取消映射部分改变为所述存储器单元的清除部分。
这些非限制性实例可以任何排列或组合进行组合。上文描述希望是说明性的,且不是限制性的。举例来说,上文描述的实例(或其一或多个方面)可彼此组合使用。在回顾上文描述之后,例如所属领域的一般技术人员可使用其它实施例。提交时应理解其将不用于解释或限制权利要求书的范围或含义。此外,在上文具体实施方式中,各种特征可被分组在一起以简化本公开。这不应该被解释为希望未主张公开特征对于任何权利要求都是必不可少的。而是,发明标的物可在于少于特定公开实施例的所有特征。因此,所附权利要求书特此并入具体实施方式,其中每一权利要求独立地作为单独实施例,并且可预期,此类实施例可以各种组合或排列彼此组合。本发明的范围应参考所附权利要求书以及此权利要求书被赋予的等效物的全部范围来确定。
Claims (20)
1.一种存储器装置,其包括:
存储器阵列,其包含存储器单元;
到主机装置的通信接口;
存储器控制单元,其可操作地耦合到所述存储器阵列及所述通信接口,并且经配置以:
对经由所述通信接口接收的写入数据进行加密以产生经加密数据;
用所述经加密数据对所述存储器阵列的选定存储器单元进行编程;
响应于存储器读取请求,从所述存储器单元的部分读取所述经加密数据;及
对所述读取经加密数据进行解密以仅针对未存储在所述存储器阵列的清除区域中的所述读取经加密数据的部分产生读取经解密数据。
2.根据权利要求1所述的存储器装置,其中所述存储器控制单元经配置以针对存储在所述存储器阵列的所述清除区域中的所述读取经加密数据的部分经由所述通信接口来传送经加密数据。
3.根据权利要求1所述的存储器装置,其中所述存储器控制单元经配置以经由所述通信接口来传送指定清除数据,以代替存储在所述存储器阵列的所述清除区域中的读取经加密数据。
4.根据权利要求1所述的存储器装置,其中所述存储器控制单元经配置以:
将虚拟存储器地址映射到所述存储器阵列的所述存储器单元;
根据经由所述通信接口接收的存储器丢弃指示来取消映射所述存储器阵列的所述存储器单元的部分;及
根据经由所述通信接口接收的存储器清除指示而将所述存储器单元的取消映射部分改变为所述存储器单元的所述清除部分。
5.根据权利要求1所述的存储器装置,其中所述存储器控制单元经配置以:
产生指示存储器单元的清除部分的参考结构;及
当所述参考结构指示所述读取经加密数据的地址包含在存储器单元的所述清除部分中时,省略对所述读取经加密数据进行解密。
6.根据权利要求5所述的存储器装置,其中所述存储器控制单元经配置以:
根据经由所述通信接口接收的存储器丢弃指示,产生所述存储器单元的取消映射部分的参考结构;
经由所述通信接口接收存储器清除指示;及
通过根据所述存储器清除指示将所述存储器单元的取消映射部分指示为所述存储器单元的清除部分,来产生指示存储器单元的所述清除部分的所述参考结构。
7.根据权利要求1所述的存储器装置,其中所述存储器控制单元经配置以从加密排除经由所述通信接口接收的指定类型的写入数据。
8.根据权利要求1所述的存储器装置,其中所述存储器控制单元经配置以从加密排除待写入指定存储器地址的数据。
9.根据权利要求1所述的存储器装置,其中所述存储器单元包含NAND型闪存单元。
10.一种操作存储器的方法,所述方法包括:
接收待写入所述存储器的存储器阵列的存储器单元的一部分的数据;
对待写入的所述数据进行加密;
用所述经加密数据对所述存储器单元进行编程;
从所述存储器单元读取所述经加密数据;及
对所述读取经加密数据进行解密以仅针对未存储在所述存储器阵列的清除区域中的所述读取经加密数据的部分产生读取经解密数据。
11.根据权利要求10所述的方法,其中接收待写入的数据包含从主机装置接收数据,并且所述方法进一步包含将经加密数据传送到所述主机装置作为存储在所述存储器阵列的所述清除部分中的所述读取经加密数据的部分的所述读取经加密数据。
12.根据权利要求10所述的方法,其中接收待写入的数据包含从主机装置接收数据,并且所述方法进一步包含将指定清除数据传送到所述主机装置,以代替存储在所述存储器阵列的清除区域中的读取经加密数据。
13.根据权利要求10所述的方法,其包含:
将虚拟存储器地址映射到所述存储器阵列的存储器单元;
响应于存储器丢弃命令而使所述存储器阵列的所述存储器单元的部分取消映射;及
响应于存储器清除命令而将所述存储器单元的取消映射部分包含在所述存储器阵列的所述清除区域中。
14.根据权利要求10所述的方法,其包含:
产生指示存储器单元的清除部分的参考结构;及
当所述参考结构指示所述读取数据的地址包含在存储器单元的所述清除部分中时,省略所述解密。
15.根据权利要求14所述的方法,其包含:
其中产生指示存储器单元的清除部分的所述参考结构包含响应于存储器丢弃命令而产生所述存储器单元的取消映射部分的参考结构;及
响应于存储器清除命令而将取消映射部分改变为清除部分。
16.根据权利要求10所述的方法,其中加密待写入的数据包含仅加密待写入的指定类型的数据,以及从所述加密排除不同类型的数据。
17.一种存储器系统,其包括:
主机装置;及
存储器装置,所述存储器装置包含存储器控制单元,其经配置以:
从所述主机装置接收待写入所述存储器装置的存储器阵列的存储器单元的一部分的数据;
对待写入的所述数据进行加密;
用所述经加密数据对所述存储器单元进行编程;
从所述存储器单元的所述部分读取所述经加密数据;及
对所述读取经加密数据进行解密以仅针对未存储在所述存储器阵列的所述清除区域中的所述读取经加密数据的部分产生读取经解密数据;及
将所述读取经解密数据传送到所述主机装置。
18.根据权利要求17所述的存储器系统,其中所述存储器控制单元经配置以从所述主机装置接收待写入的所述数据,并将经加密数据传送到所述主机装置作为所述读取经加密数据。
19.根据权利要求17所述的存储器系统,其中所述存储器控制单元经配置以从所述主机装置接收待写入的所述数据,并且将指定清除数据传送到所述主机装置,以代替存储在所述存储器阵列的所述清除区域中的读取经加密数据。
20.根据权利要求17所述的存储器系统,其中所述存储器控制单元经配置以:
将虚拟存储器地址映射到所述存储器阵列的存储器单元;
响应于接收存储器丢弃命令而使所述存储器阵列的所述存储器单元的部分取消映射;及
响应于接收存储器清除命令而将所述存储器单元的取消映射部分改变为所述存储器单元的清除部分。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/554,707 US11513719B2 (en) | 2019-08-29 | 2019-08-29 | Fast purge on storage devices |
US16/554,707 | 2019-08-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112446036A true CN112446036A (zh) | 2021-03-05 |
Family
ID=74681177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010880571.4A Pending CN112446036A (zh) | 2019-08-29 | 2020-08-27 | 存储装置上的快速清除 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11513719B2 (zh) |
CN (1) | CN112446036A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI777842B (zh) * | 2021-04-06 | 2022-09-11 | 聯發科技股份有限公司 | 資料保護方法和存儲裝置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11513719B2 (en) | 2019-08-29 | 2022-11-29 | Micron Technology, Inc. | Fast purge on storage devices |
DE102020100541A1 (de) * | 2020-01-13 | 2021-07-15 | Infineon Technologies Ag | Bestimmung eines resultierenden datenworts beim zugriff auf einen speicher |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103566A (zh) * | 2009-12-18 | 2011-06-22 | Nxp股份有限公司 | 闪存存储器接口 |
CN102543154A (zh) * | 2010-11-18 | 2012-07-04 | 美光科技公司 | 包含影响存储器的操作条件的参数的存储器指令 |
CN107408405A (zh) * | 2015-02-06 | 2017-11-28 | 美光科技公司 | 用于并行写入到多个存储器装置位置的设备及方法 |
US20180052768A1 (en) * | 2016-08-16 | 2018-02-22 | Samsung Electronics., Ltd. | Memory controller, nonvolatile memory system, and operating method thereof |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8555086B2 (en) * | 2008-06-30 | 2013-10-08 | Intel Corporation | Encrypting data on a non-volatile memory |
JP5909078B2 (ja) * | 2011-11-09 | 2016-04-26 | 日本化薬株式会社 | 紫外線硬化型樹脂組成物、硬化物及び物品 |
US10157012B2 (en) * | 2015-09-29 | 2018-12-18 | Sandisk Technologies Llc | Zero read on trimmed blocks in a non-volatile memory system |
KR102420158B1 (ko) * | 2017-12-27 | 2022-07-13 | 삼성전자주식회사 | 파일 단위의 암호화 키에 기반하여 암호화를 수행하도록 구성되는 스토리지 장치, 스토리지 시스템, 및 그 동작 방법 |
US11347659B2 (en) * | 2018-12-20 | 2022-05-31 | Micron Technology, Inc. | Low cost and low latency logical unit erase |
US11513719B2 (en) | 2019-08-29 | 2022-11-29 | Micron Technology, Inc. | Fast purge on storage devices |
-
2019
- 2019-08-29 US US16/554,707 patent/US11513719B2/en active Active
-
2020
- 2020-08-27 CN CN202010880571.4A patent/CN112446036A/zh active Pending
-
2022
- 2022-11-28 US US17/994,543 patent/US12008257B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103566A (zh) * | 2009-12-18 | 2011-06-22 | Nxp股份有限公司 | 闪存存储器接口 |
CN102543154A (zh) * | 2010-11-18 | 2012-07-04 | 美光科技公司 | 包含影响存储器的操作条件的参数的存储器指令 |
CN107408405A (zh) * | 2015-02-06 | 2017-11-28 | 美光科技公司 | 用于并行写入到多个存储器装置位置的设备及方法 |
US20180052768A1 (en) * | 2016-08-16 | 2018-02-22 | Samsung Electronics., Ltd. | Memory controller, nonvolatile memory system, and operating method thereof |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI777842B (zh) * | 2021-04-06 | 2022-09-11 | 聯發科技股份有限公司 | 資料保護方法和存儲裝置 |
Also Published As
Publication number | Publication date |
---|---|
US12008257B2 (en) | 2024-06-11 |
US20210064268A1 (en) | 2021-03-04 |
US20230168835A1 (en) | 2023-06-01 |
US11513719B2 (en) | 2022-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111354408B (zh) | 低成本且低时延的逻辑单元擦除 | |
CN112313632B (zh) | 被管理的nand装置中的主机加速操作 | |
US12008257B2 (en) | Fast purge on storage devices | |
TWI729654B (zh) | 記憶體裝置及其操作方法及相關的非暫時性電腦可讀儲存媒體 | |
US11321468B2 (en) | Systems for providing access to protected memory | |
TW201933116A (zh) | 在經管理反及閘裝置中之主機加速操作 | |
TWI756603B (zh) | 使用反及閘記憶體陣列之物理不可複製函數 | |
TWI810832B (zh) | 在快閃記憶體中用於資料隨機化之自種子隨機數生成器 | |
US10884944B2 (en) | Host accelerated operations in managed NAND devices | |
CN112397118B (zh) | 用于多个存储器阵列存储器空间的写入缓冲器实施方案 | |
KR102377365B1 (ko) | 호스트 기반 플래시 메모리 유지관리 기술 | |
CN113366571B (zh) | 具有改进的跨温度可靠度与读取性能的存储器 | |
CN113841128B (zh) | 大型数据读取方法、装置及可读介质 | |
US20220404988A1 (en) | Replay protected memory block data frame | |
CN113196245A (zh) | 主机常驻转换层有效性检查技术 | |
CN113126905A (zh) | 用于重放受保护存储器块的安全密钥更新 | |
US20210391013A1 (en) | Memory with improved cross temperature reliability and read performance | |
US11972035B2 (en) | Key based partial data restriction in storage systems | |
CN114093406A (zh) | 一种存储器装置、系统、信息处理方法及可读存储介质 | |
CN112313634B (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 |