CN110908597B - 适应性锁定范围管理的方法、数据存储装置及其控制器 - Google Patents

适应性锁定范围管理的方法、数据存储装置及其控制器 Download PDF

Info

Publication number
CN110908597B
CN110908597B CN201910756356.0A CN201910756356A CN110908597B CN 110908597 B CN110908597 B CN 110908597B CN 201910756356 A CN201910756356 A CN 201910756356A CN 110908597 B CN110908597 B CN 110908597B
Authority
CN
China
Prior art keywords
range
logical block
block address
locking range
new
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
CN201910756356.0A
Other languages
English (en)
Other versions
CN110908597A (zh
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.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
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
Priority claimed from TW108109171A external-priority patent/TWI684865B/zh
Application filed by Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN110908597A publication Critical patent/CN110908597A/zh
Application granted granted Critical
Publication of CN110908597B publication Critical patent/CN110908597B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • 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
    • G06F21/80Protecting 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 storage media based on magnetic or optical technology, e.g. disks with sectors
    • 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/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • 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
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies

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)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了用来进行适应性锁定范围管理的方法以及数据存储装置及其控制器。该方法可包括:从该数据存储装置的外部接收安全指令,其中该安全指令是关于将旧锁定范围变更为新锁定范围;依据该安全指令取得该新锁定范围的起始LBA以及长度值;判断该新锁定范围的该起始LBA是否小于该旧锁定范围的结束LBA,且判断该新锁定范围的该结束LBA是否大于该旧锁定范围的起始LBA;以及因应该新锁定范围的该起始LBA小于该旧锁定范围的该结束LBA以及该新锁定范围的该结束LBA大于该旧锁定范围的起始LBA,对该新锁定范围以及该旧锁定范围未重叠的部分执行数据修剪。本发明能在不降低整体效能的状况下实现符合某些规范的数据加密架构,并且达到数据存储装置的优化效能。

Description

适应性锁定范围管理的方法、数据存储装置及其控制器
技术领域
本发明系有关于闪存(Flash memory)的存取(access),尤其指一种用来进行适应性锁定范围管理(adaptive locking range management)的方法以及相关的数据存储装置及其控制器。
背景技术
闪存可广泛地应用于各种可携式或非可携式数据存储装置(例如:符合SD/MMC、CF、MS、XD或UFS标准的记忆卡;又例如:固态硬盘;又例如:符合UFS或EMMC规格的嵌入式(embedded)存储装置)中。以常用的NAND型闪存而言,最初有单阶细胞(single levelcell,SLC)、多阶细胞(multiple level cell,MLC)等类型的闪存。由于存储器的技术不断地发展,较新的数据存储装置产品可采用三阶细胞(triple level cell,TLC)闪存,甚至四阶细胞(quadruple level cell,QLC)闪存。为了确保数据存储装置对闪存的存取控制能符合相关规范,闪存的控制器通常备有某些管理机制以妥善地管理其内部运作。
依据现有技术,有了这些管理机制的数据存储装置还是有不足的地方。举例来说,当制造商尝试将数据存储装置实施成符合关于数据加密的某些规范时,相关操作可能需要被修改,这可导致这些管理机制中的某些部分变得更复杂。于是,数据存储装置的整体效能可能降低。因此,需要一种新颖的方法及相关架构,以在没有副作用或较不可能带来副作用的状况下实现具有可靠的管理机制的数据存储装置。
发明内容
本发明的一目的在于公开一种用来进行适应性锁定范围管理的方法以及相关的数据存储装置及其控制器,以解决上述问题。
本发明的另一目的在于公开一种用来进行适应性锁定范围管理的方法以及相关的数据存储装置及其控制器,以在没有副作用或较不可能带来副作用的状况下将可靠的管理机制赋予数据存储装置。
本发明的至少一实施例公开一种用来进行适应性锁定范围管理的方法,其中该方法是应用于一数据存储装置,该数据存储装置包括一非挥发性存储器(non-volatilememory,NV memory),且该非挥发性存储器包括至少一非挥发性存储器组件(NV memoryelement)。该方法可包括:从该数据存储装置的外部接收一安全(Security)指令,其中该安全指令是关于将一旧锁定范围(Locking Range)变更为一新锁定范围;依据该安全指令取得该新锁定范围的一起始逻辑区块地址(Logical Block Address,LBA)以及一长度值,其中该新锁定范围的一结束逻辑区块地址为该新锁定范围的该起始逻辑区块地址与该长度值的总和;判断该新锁定范围的该起始逻辑区块地址是否小于该旧锁定范围的一结束逻辑区块地址,且判断该新锁定范围的该结束逻辑区块地址是否大于该旧锁定范围的一起始逻辑区块地址;以及因应该新锁定范围的该起始逻辑区块地址小于该旧锁定范围的该结束逻辑区块地址以及该新锁定范围的该结束逻辑区块地址大于该旧锁定范围的一起始逻辑区块地址,对该新锁定范围以及该旧锁定范围未重叠的部分执行数据修剪(Data Trimming)。
本发明的至少一实施例公开一种数据存储装置,其可包括:一非挥发性存储器,用来存储信息,其中该非挥发性存储器包括至少一非挥发性存储器组件;以及一控制器,耦接至该非挥发性存储器,用来控制该数据存储装置的运作。该控制器可包括一处理电路,而该处理电路可依据来自一主机(host device)的多个主机指令(host command)控制该控制器,以容许该主机通过该控制器存取该非挥发性存储器。例如:该控制器从该主机接收一安全指令,其中该安全指令是关于将一旧锁定范围变更为一新锁定范围;该控制器依据该安全指令取得该新锁定范围的一起始逻辑区块地址(LBA)以及一长度值,其中该新锁定范围的一结束逻辑区块地址为该新锁定范围的该起始逻辑区块地址与该长度值的总和;该控制器判断该新锁定范围的该起始逻辑区块地址是否小于该旧锁定范围的一结束逻辑区块地址,且判断该新锁定范围的该结束逻辑区块地址是否大于该旧锁定范围的一起始逻辑区块地址;以及因应该新锁定范围的该起始逻辑区块地址小于该旧锁定范围的该结束逻辑区块地址以及该新锁定范围的该结束逻辑区块地址大于该旧锁定范围的一起始逻辑区块地址,该控制器对该新锁定范围以及该旧锁定范围未重叠的部分执行数据修剪。
本发明的至少一实施例公开一种数据存储装置的控制器,其中该数据存储装置包括该控制器与一非挥发性存储器,且该非挥发性存储器包括至少一非挥发性存储器组件。该控制器可包括一处理电路,而该处理电路可依据来自一主机的多个主机指令控制该控制器,以容许该主机通过该控制器存取该非挥发性存储器。例如:该控制器从该主机接收一安全指令,其中该安全指令是关于将一旧锁定范围变更为一新锁定范围;该控制器依据该安全指令取得该新锁定范围的一起始逻辑区块地址(LBA)以及一长度值,其中该新锁定范围的一结束逻辑区块地址为该新锁定范围的该起始逻辑区块地址与该长度值的总和;该控制器判断该新锁定范围的该起始逻辑区块地址是否小于该旧锁定范围的一结束逻辑区块地址,且判断该新锁定范围的该结束逻辑区块地址是否大于该旧锁定范围的一起始逻辑区块地址;以及因应该新锁定范围的该起始逻辑区块地址小于该旧锁定范围的该结束逻辑区块地址以及该新锁定范围的该结束逻辑区块地址大于该旧锁定范围的一起始逻辑区块地址,该控制器对该新锁定范围以及该旧锁定范围未重叠的部分执行数据修剪。
本发明的好处之一在于,通过仔细设计的管理机制,本发明能针对该控制器的运作进行妥善的控制,尤其,能在不降低整体效能的状况下实现符合某些规范的数据加密架构。另外,依据本发明的实施例来实施并不会增加许多额外的成本。因此,现有技术的问题可被解决,且整体成本不会增加太多。相较于传统架构,本发明能在没有副作用或较不可能带来副作用的状况下达到数据存储装置的优化效能。
附图说明
图1为依据本发明一实施例的一种数据存储装置与一主机(host device)的示意图。
图2绘示一全球范围(Global Range)以及多个锁定范围(Locking Range)的例子。
图3为依据本发明一实施例的一种用来进行适应性锁定范围管理的方法的工作流程。
图4绘示依据本发明一实施例的该方法的一锁定范围更新方案。
图5为依据本发明一实施例的一种适应性锁定范围管理方法的示意图。
其中,附图标记说明如下:
50 主机
100 数据存储装置
110 存储器控制器
112 微处理器
112C 程序代码
112M 只读存储器
114 控制逻辑电路
116 缓冲存储器
118 传输接口电路
120 非挥发性存储器
122、122-1、122-2、…、122-N 非挥发性存储器组件
LBA#0、LBA#Max、LBA#A、LBA#B、LBA#C、LBA#D、LBA#E、LBA#F、LBA#A’、LBA#B’、LBA#C’、LBA#D’、LBA#E’、LBA#F’ 逻辑区块地址
S12、S14、S16、S18、S20、S22 步骤
具体实施方式
请参考图1,图1为依据本发明一第一实施例的一种数据存储装置100与一主机(host device)50的示意图。例如:数据存储装置100可为固态硬盘(Solid State Drive,SSD)。另外,主机50的例子可包括(但不限于):多功能移动电话(multifunctional mobilephone)、平板计算机(tablet)、以及个人计算机(personal computer)诸如桌面计算机与膝上型计算机。依据本实施例,数据存储装置100可包括一控制器诸如存储器控制器110,且可还包括一非挥发性存储器(non-volatile memory,NV memory)120,其中该控制器系用来存取(access)非挥发性存储器120,且非挥发性存储器120系用来存储信息。
非挥发性存储器120可包括多个非挥发性存储器组件(NV memory element)122-1、122-2、…与122-N,其中符号“N”可代表大于一的正整数。例如:非挥发性存储器120可为一闪存(Flash memory),而非挥发性存储器组件122-1、122-2、…与122-N可分别为多个闪存芯片(Flash memory chip;也可以称为快闪芯片)或多个闪存裸晶(Flash memory die;也可以称为快闪裸晶),但本发明并不限于此。此外,数据存储装置100可更包括一挥发性存储器组件以缓存数据,其中,该挥发性存储器组件较佳为动态随机存取存储器(DynamicRandom Access Memory,简称DRAM)。挥发性存储器组件可提供适当的数据暂存空间以缓存数据,或是仅提供小量的数据暂存空间以缓存小量数据。
存储器控制器110可包括处理电路诸如微处理器112、存储器诸如一只读存储器(Read Only Memory,ROM)112M、控制逻辑电路114、缓冲存储器116、与传输接口电路118,其中这些组件可通过一总线彼此耦接。缓冲存储器116较佳为静态随机存取存储器(StaticRandom Access Memory,简称SRAM)。举例来说,如果数据存储装置100更配置有随机存取存储器(Dynamic Random Access Memory,简称DRAM),则存储器控制器110可利用缓冲存储器116作为第一层快取(Cache),并利用DRAM作为第二层快取。DRAM的数据存储量较佳大于缓冲存储器116的数据存储量,且DRAM所缓存的数据来自于缓冲存储器116或非挥发性存储器120。
本实施例的只读存储器112M系用来存储一程序代码112C,而微处理器112则用来执行程序代码112C以控制对非挥发性存储器120的存取。请注意,程序代码112C也可存储在缓冲存储器116或任何形式的存储器内。此外,控制逻辑电路114可包括一错误更正码电路(未显示),以保护数据、及/或进行错误更正,而传输接口电路118可符合一特定通信标准(诸如串行高级技术附件(Serial Advanced Technology Attachment,SATA)标准、快捷外设互联(Peripheral Component Interconnect Express,PCIE)标准或非挥发性存储器快捷(Non-Volatile Memory Express,NVME)标准)且可依据该特定通信标准进行通信。
于本实施例中,主机50可通过传送多个主机指令(Host Command)至数据存储装置100以通过存储器控制器110于非挥发性存储器120中存取(例如读取或写入)数据,尤其,存取数据存储装置100中非挥发性存储器120所存储的数据(或称为用户数据),主机指令包括逻辑地址,例如:逻辑区块地址(Logical Block Address,简称LBA)。存储器控制器110接收主机指令并将主机指令分别转译成存储器操作指令(简称操作指令),再以操作指令控制非挥发性存储器120读取、写入(Write)/编程(Program)非挥发性存储器120当中特定实体地址的页面(Page)。存储器控制器110将数据的逻辑地址与实体地址之间的映射关系记录于逻辑对实体地址映射表(Logical-to-Physical Address Mapping Table,简称“L2P表”),其中,实体地址可由通道(Channel)编号、逻辑单元编号(Logical Unit Number,LUN)、平面(Plane)编号、区块编号、页面编号以及偏移量(Offset)所组成。于某些实施例中,实体地址的实施可予以变化。例如,实体地址可包括通道编号、逻辑单元编号、平面编号、区块编号、页面编号、及/或偏移量。
L2P表可存储于非挥发性存储器120中的一管理表中,且可分割成多个群组(Group),而存储器控制器110可依缓冲存储器116的容量大小而将该多个群组中的一个群组或全部群组从非挥发性存储器120载入缓冲存储器116中作为一暂时L2P表,以供快速参考,但本发明不限于此。当用户数据更新时,存储器控制器110可依据用户数据的最新映射关系来更新该暂时L2P表、及/或该管理表中的L2P表。L2P表的一个群组的大小较佳等于非挥发性存储器组件122-n的一个页面(Page)的大小,例如16KB,其中符号“n”可代表区间[1,N]中的任一整数。又例如,该管理表中的该L2P表的一个群组的大小可等于多个非挥发性存储器组件122的一个页面(Page)的大小,例如在N=4的情况下,4个非挥发性存储器组件122的一个页面(Page)的大小,也就是64KB,其中这4个非挥发性存储器组件122的页面(Page)也可称为超级页面(Super Page)。
对主机50而言,于数据存储装置100中可用的存储空间可通过一系列LBA来存取。为了便于理解,假设主机50于数据存储装置100中写满数据。此情况下,每一笔数据都有一个独一无二的LBA。例如,该系列LBA可包括一预定数量的LBA,而这些LBA的值落入从LBA#0到LBA#Max的范围,其中Max为正整数。从LBA#0到LBA#Max的范围可称为全球范围(GlobalRange)。主机50可设定全球范围的存取权限的类别,例如,正常、读取锁定(Read-Locked)、写入锁定(Write-Locked)等等。另外,LBA的值可为连续的或不连续的,LBA的起始值可为0或任一正整数。
数据可区分成可存取数据以及限制存取数据。针对限制存取数据,主机50可在全球范围中建立一或多个锁定范围(Locking Range)并设定该一或多个锁定范围的存取权限的类别,例如,正常、读取锁定(Read-Locked)、写入锁定(Write-Locked)等等。例如,该一或多个锁定范围可包括多个锁定范围,诸如图2所示的锁定范围#0、锁定范围#1与锁定范围#2。之后,主机50可依据用户相关信息(诸如用户身份、用户群组等)来设定用户对于限制存取数据的存取权限。
针对锁定范围的数据,主机50较佳命令数据存储装置100使用密钥将数据加密成密文(Ciphertext),也可使用密钥而直接将数据加密成密文后,再将密文存储至数据存储装置100。假设全球范围的存取权限为正常,锁定范围#0的数据以密钥#0加密,存取权限为读取锁定。当未授权的用户欲通过主机50而读取锁定范围#0的数据时,数据存储装置100乃回传一回传讯息(诸如数据存取错误或数据保护)至主机50。锁定范围#1的数据较佳以密钥#1加密,或仍以密钥#0加密,存取权限为写入锁定。当未授权的用户欲通过主机50而更新或写入锁定范围#1的数据时,数据存储装置100乃回传一回传讯息(诸如数据存取错误或数据保护)至主机50。另外,密钥#0与密钥#1较佳以密钥#2加密成密文,以保护密钥#0与密钥#1。另外,加密或解密较佳由数据存储装置100的存储器控制器110所执行。
主机50可输出安全(Security)指令或信任(Trusted)指令至数据存储装置100(尤其,存储器控制器110)以调整或设定锁定范围。当锁定范围变更后,不在(新)锁定范围内的数据必需执行数据修剪(Trim),以保护原锁定范围内数据的机密性,而新增的锁定范围内的数据也需执行数据修剪。由于锁定范围会影响用户存取数据的权利,因此,当锁定范围被调整或设定之后,如何快速地让(新)锁定范围生效,并快速地完成数据修剪已成为技术上的一门重要课题。
本发明至少一实施例揭露一种用来进行适应性锁定范围管理的方法,此方法可应用于数据存储装置100,并由数据存储装置100的存储器控制器110所执行,且可快速地让(新)锁定范围生效,例如通过其高效率的工作流程,如图3所示。另外,为简述说明,全球范围的存取权限假设为正常,且数据存储装置100已有(旧)锁定范围#0~#2,例如:(旧)锁定范围#0具有一起始LBA诸如LBA#A,且具有一结束LBA诸如LBA#B,并且其存取权限为读取锁定;(旧)锁定范围#1具有一起始LBA诸如LBA#C,且具有一结束LBA诸如LBA#D,并且其存取权限为写入锁定;以及(旧)锁定范围#2具有一起始LBA诸如LBA#E,且具有一结束LBA诸如LBA#F,并且其存取权限为读取锁定。
于步骤S12中,存储器控制器110接收来自外部的一安全指令。依据本实施例,存储器控制器110可从数据存储装置100的外部接收多个安全指令(诸如主机50所传送的安全指令),而图3所示的工作流程可执行多次以分别针对该多个安全指令进行对应的操作,其中这些安全指令可指出主机50要求存储器控制器110更新或变更该多个锁定范围中的对应的锁定范围。上述对应的锁定范围可包括图2所示的锁定范围#0、锁定范围#1与锁定范围#2。存储器控制器110可依据这些安全指令变更锁定范围#0、锁定范围#1与锁定范围#2,尤其,从锁定范围#0、锁定范围#1与锁定范围#2的各自的原始版本或旧版本(于图4中标示为“(旧)”)变更为锁定范围#0、锁定范围#1与锁定范围#2的各自的新版本(于图4中标示为“(新)”)。
于步骤S14中,存储器控制器110依据该安全指令而取得(新)锁定范围的锁定范围编号、起始LBA以及长度值,该安全指令可更包括(新)锁定范围的存取权限。例如,在该多个安全指令中,第一个安全指令指出:针对(新)锁定范围#0,起始LBA为LBA#A’,结束LBA为LBA#B’,且存取权限为读取锁定。第二个安全指令指出:针对(新)锁定范围#1,起始LBA为LBA#C’,结束LBA为LBA#D’,且存取权限为写入锁定。第三个安全指令指出:针对(新)锁定范围#2,起始LBA为LBA#E’,结束LBA为LBA#F’,且存取权限为读取锁定,如图4所示。针对这些锁定范围中的任一锁定范围,存储器控制器110可依据其起始LBA与长度值决定其结束LBA,其中,结束LBA的值为起始LBA的值加上长度值。存储器控制器110可利用起始LBA与长度值的总和作为结束LBA。
于步骤S16中,存储器控制器110判断(新)锁定范围的起始LBA是否小于(旧)锁定范围的结束LBA?如果正确(也就是说,判断结果为“真”(True)),则执行步骤S18,如果不正确(也就是说,判断结果为“伪”(False)),则执行步骤S20。当判断(新)锁定范围#0时,由于LBA#A’小于LBA#B,所以执行步骤S18;当判断(新)锁定范围#1时,由于LBA#C’小于LBA#D,所以执行步骤S18;当判断(新)锁定范围#2时,由于LBA#E’小于LBA#F,所以执行步骤S18。
于步骤S18中,存储器控制器110判断(新)锁定范围的结束LBA是否大于(旧)锁定范围的起始LBA?如果正确(也就是说,判断结果为“真”),则执行步骤S22,如果不正确(也就是说,判断结果为“伪”),则执行步骤S20。当判断(新)锁定范围#0时,由于LBA#B’大于LBA#A,这表示(旧)锁定范围#0与(新)锁定范围#0有部分锁定范围为重叠(Overlap),所以执行步骤S22;当判断(新)锁定范围#1时,由于LBA#D’大于LBA#C,这表示(旧)锁定范围#1与(新)锁定范围#1有部分锁定范围为重叠,所以执行步骤S22;当判断(新)锁定范围#2时,由于LBA#F’小于LBA#E,这表示(旧)锁定范围#2与(新)锁定范围#2完全不重叠,所以执行步骤S20。
于步骤S20中,存储器控制器110分别对(新)锁定范围以及(旧)锁定范围执行数据修剪。以锁定范围#2为例,由于(新)锁定范围#2以及(旧)锁定范围#2完全不重叠,所以,存储器控制器110对(新)锁定范围#2,也就是LBA#E’~F’,以及(旧)锁定范围#2,也就是LBA#E~F,分别执行数据修剪。
于步骤S22中,存储器控制器110对(新)锁定范围以及(旧)锁定范围未重叠的部分执行数据修剪,其中上述未重叠的部分包括(新)锁定范围的未被(旧)锁定范围重叠的任何部分以及(旧)锁定范围的未被(新)锁定范围重叠的任何部分。以锁定范围#0为例,未重叠的部分为LBA#A至LBA#A’以及LBA#B’至LBA#B,其中,由于LBA#A的值小于LBA#A’,且LBA#B’的值小于LBA#B,因此,存储器控制器110分别对LBA#A~A’以及LBA#B’~B执行数据修剪。以锁定范围#1为例,未重叠的部分为LBA#C’至LBA#C以及LBA#D’至LBA#D,其中,由于LBA#C’的值小于LBA#C,且LBA#D’的值小于LBA#D,因此,存储器控制器110分别对LBA#C’~C以及LBA#D’~D执行数据修剪。
为了更好地理解,该方法可用图3所示的工作流程来说明,但本发明不限于此。依据某些实施例,一个或多个步骤可于图3所示的工作流程中增加、删除或修改。举例来说,对于步骤S16与步骤S18中的任一步骤而言,若判断结果为“伪”,则执行步骤S20,这表示:于图3所示的工作流程中,执行步骤S16与步骤S18的顺序可以对调,而不影响执行步骤S20或步骤S22的正确性。依据一实施例,可采纳这样的改变。尤其,于执行步骤S14之后,执行步骤S18;若步骤S18的判断结果为“真”,则执行步骤S16;若步骤S18的判断结果为“伪”,则执行步骤S20;若步骤S16的判断结果为“真”,则执行步骤S22;以及若步骤S16的判断结果为“伪”,则执行步骤S20。为了简明起见,该实施例与前述实施例相仿的内容在此不重复赘述。
图5为依据本发明一实施例的一种适应性锁定范围管理方法的示意图,其中图5可视为图3的简化版本,可用以说明本发明的适应性锁定范围管理方法的优点。首先,存储器控制器110先判断(新)锁定范围以及(旧)锁定范围是否重叠,如步骤S16~S18所示。如果判断的结果为未重叠,则分别对(新)锁定范围以及(旧)锁定范围执行数据修剪,如步骤S20所示。如果判断的结果为有重叠,则仅对未重叠的部分执行数据修剪,如步骤S22所示。由于本发明的适应性锁定范围管理方法容易执行,因此,锁定范围的变更可快速地执行及生效,达到本发明的目的。
另外,主机50在设定锁定范围时,如果不同锁定范围编号的锁定范围有重叠的话,则存储器控制器110直接回传一回传讯息诸如无效指令回主机50,不会执行数据修剪;如果不同存取权限的锁定范围有重叠的话,则存储器控制器110也会直接回传一回传讯息诸如无效指令回主机50。
在主机50输出安全指令且存储器控制器110完成本发明用来进行适应性锁定范围管理的方法之后,锁定范围的更新已经完成。之后,主机50可输出主机指令以存取数据存储装置100的数据,如果欲存取的数据的LBA未在锁定范围内,则数据存储装置100可回传数据至主机50;如果欲存取的数据的LBA置于任何锁定范围时,数据存储装置100可回传一回传讯息(诸如数据存取错误或数据保护)至主机50。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (20)

1.一种用来进行适应性锁定范围管理的方法,该方法是应用于一数据存储装置,该数据存储装置包括一非挥发性存储器,该非挥发性存储器包括至少一非挥发性存储器组件,该方法的特征在于,包括有:
从该数据存储装置的外部接收一安全指令,其中该安全指令是关于将一旧锁定范围变更为一新锁定范围;
依据该安全指令取得该新锁定范围的一起始逻辑区块地址以及一长度值,其中该新锁定范围的一结束逻辑区块地址为该新锁定范围的该起始逻辑区块地址与该长度值的总和;
判断该新锁定范围的该起始逻辑区块地址是否小于该旧锁定范围的一结束逻辑区块地址,且判断该新锁定范围的该结束逻辑区块地址是否大于该旧锁定范围的一起始逻辑区块地址;以及
因应该新锁定范围的该起始逻辑区块地址小于该旧锁定范围的该结束逻辑区块地址以及该新锁定范围的该结束逻辑区块地址大于该旧锁定范围的一起始逻辑区块地址,对该新锁定范围以及该旧锁定范围未重叠的部分执行数据修剪。
2.如权利要求1所述的方法,其特征在于,还包括:
从该数据存储装置的外部接收另一安全指令,其中该另一安全指令是关于将另一旧锁定范围变更为另一新锁定范围;
依据该另一安全指令取得该另一新锁定范围的一起始逻辑区块地址以及一长度值,其中该另一新锁定范围的一结束逻辑区块地址为该另一新锁定范围的该起始逻辑区块地址与该长度值的总和;
判断该另一新锁定范围的该起始逻辑区块地址是否小于该另一旧锁定范围的一结束逻辑区块地址;
因应该另一新锁定范围的该起始逻辑区块地址小于该另一旧锁定范围的该结束逻辑区块地址,判断该另一新锁定范围的该结束逻辑区块地址是否大于该另一旧锁定范围的一起始逻辑区块地址;以及
因应该另一新锁定范围的该结束逻辑区块地址不大于该另一旧锁定范围的一起始逻辑区块地址,分别对该另一新锁定范围以及该另一旧锁定范围执行数据修剪。
3.如权利要求2所述的方法,其特征在于,还包括:
从该数据存储装置的外部接收又一安全指令,其中该又一安全指令是关于将又一旧锁定范围变更为又一新锁定范围;
依据该又一安全指令取得该又一新锁定范围的一起始逻辑区块地址以及一长度值,其中该又一新锁定范围的一结束逻辑区块地址为该又一新锁定范围的该起始逻辑区块地址与该长度值的总和;
判断该又一新锁定范围的该起始逻辑区块地址是否小于该又一旧锁定范围的一结束逻辑区块地址;以及
因应该又一新锁定范围的该起始逻辑区块地址不小于该又一旧锁定范围的该结束逻辑区块地址,分别对该又一新锁定范围以及该又一旧锁定范围执行数据修剪。
4.如权利要求3所述的方法,其特征在于,该旧锁定范围与该新锁定范围有部分锁定范围为重叠,该另一新锁定范围以及该另一旧锁定范围完全不重叠,以及该又一新锁定范围以及该又一旧锁定范围完全不重叠。
5.如权利要求2所述的方法,其特征在于,该旧锁定范围与该新锁定范围有部分锁定范围为重叠,以及该另一新锁定范围以及该另一旧锁定范围完全不重叠。
6.如权利要求1所述的方法,其特征在于,该旧锁定范围与该新锁定范围有部分锁定范围为重叠。
7.如权利要求1所述的方法,其特征在于,还包括:
从该数据存储装置的外部接收另一安全指令,其中该另一安全指令是关于将另一旧锁定范围变更为另一新锁定范围;
依据该另一安全指令取得该另一新锁定范围的一起始逻辑区块地址以及一长度值,其中该另一新锁定范围的一结束逻辑区块地址为该另一新锁定范围的该起始逻辑区块地址与该长度值的总和;
判断该另一新锁定范围的该起始逻辑区块地址是否小于该另一旧锁定范围的一结束逻辑区块地址;以及
因应该另一新锁定范围的该起始逻辑区块地址不小于该另一旧锁定范围的该结束逻辑区块地址,分别对该另一新锁定范围以及该另一旧锁定范围执行数据修剪。
8.如权利要求7所述的方法,其特征在于,该旧锁定范围与该新锁定范围有部分锁定范围为重叠,以及该另一新锁定范围以及该另一旧锁定范围完全不重叠。
9.一种数据存储装置,其特征在于,包括有:
一非挥发性存储器,用来存储信息,其中该非挥发性存储器包括至少一非挥发性存储器组件;以及
一控制器,耦接至该非挥发性存储器,用来控制该数据存储装置的运作,其中该控制器包括:
一处理电路,用来依据来自一主机的多个主机指令控制该控制器,以容许该主机通过该控制器存取该非挥发性存储器,其中:
该控制器从该主机接收一安全指令,其中该安全指令是关于将一旧锁定范围变更为一新锁定范围;
该控制器依据该安全指令取得该新锁定范围的一起始逻辑区块地址以及一长度值,其中该新锁定范围的一结束逻辑区块地址为该新锁定范围的该起始逻辑区块地址与该长度值的总和;
该控制器判断该新锁定范围的该起始逻辑区块地址是否小于该旧锁定范围的一结束逻辑区块地址,且判断该新锁定范围的该结束逻辑区块地址是否大于该旧锁定范围的一起始逻辑区块地址;以及
因应该新锁定范围的该起始逻辑区块地址小于该旧锁定范围的该结束逻辑区块地址以及该新锁定范围的该结束逻辑区块地址大于该旧锁定范围的一起始逻辑区块地址,该控制器对该新锁定范围以及该旧锁定范围未重叠的部分执行数据修剪。
10.如权利要求9所述的数据存储装置,其特征在于,该控制器从该数据存储装置的外部接收另一安全指令,其中该另一安全指令是关于将另一旧锁定范围变更为另一新锁定范围;该控制器依据该另一安全指令取得该另一新锁定范围的一起始逻辑区块地址以及一长度值,其中该另一新锁定范围的一结束逻辑区块地址为该另一新锁定范围的该起始逻辑区块地址与该长度值的总和;该控制器判断该另一新锁定范围的该起始逻辑区块地址是否小于该另一旧锁定范围的一结束逻辑区块地址;因应该另一新锁定范围的该起始逻辑区块地址小于该另一旧锁定范围的该结束逻辑区块地址,该控制器判断该另一新锁定范围的该结束逻辑区块地址是否大于该另一旧锁定范围的一起始逻辑区块地址;以及因应该另一新锁定范围的该结束逻辑区块地址不大于该另一旧锁定范围的一起始逻辑区块地址,该控制器分别对该另一新锁定范围以及该另一旧锁定范围执行数据修剪。
11.如权利要求10所述的数据存储装置,其特征在于,该控制器从该数据存储装置的外部接收又一安全指令,其中该又一安全指令是关于将又一旧锁定范围变更为又一新锁定范围;该控制器依据该又一安全指令取得该又一新锁定范围的一起始逻辑区块地址以及一长度值,其中该又一新锁定范围的一结束逻辑区块地址为该又一新锁定范围的该起始逻辑区块地址与该长度值的总和;该控制器判断该又一新锁定范围的该起始逻辑区块地址是否小于该又一旧锁定范围的一结束逻辑区块地址;以及因应该又一新锁定范围的该起始逻辑区块地址不小于该又一旧锁定范围的该结束逻辑区块地址,该控制器分别对该又一新锁定范围以及该又一旧锁定范围执行数据修剪。
12.如权利要求11所述的数据存储装置,其特征在于,该旧锁定范围与该新锁定范围有部分锁定范围为重叠,该另一新锁定范围以及该另一旧锁定范围完全不重叠,以及该又一新锁定范围以及该又一旧锁定范围完全不重叠。
13.如权利要求10所述的数据存储装置,其特征在于,该旧锁定范围与该新锁定范围有部分锁定范围为重叠,以及该另一新锁定范围以及该另一旧锁定范围完全不重叠。
14.如权利要求9所述的数据存储装置,其特征在于,该旧锁定范围与该新锁定范围有部分锁定范围为重叠。
15.如权利要求9所述的数据存储装置,其特征在于,该控制器从该数据存储装置的外接收另一安全指令,其中该另一安全指令是关于将另一旧锁定范围变更为另一新锁定范围;该控制器依据该另一安全指令取得该另一新锁定范围的一起始逻辑区块地址以及一长度值,其中该另一新锁定范围的一结束逻辑区块地址为该另一新锁定范围的该起始逻辑区块地址与该长度值的总和;该控制器判断该另一新锁定范围的该起始逻辑区块地址是否小于该另一旧锁定范围的一结束逻辑区块地址;以及因应该另一新锁定范围的该起始逻辑区块地址不小于该另一旧锁定范围的该结束逻辑区块地址,该控制器分别对该另一新锁定范围以及该另一旧锁定范围执行数据修剪。
16.如权利要求15所述的数据存储装置,其特征在于,该旧锁定范围与该新锁定范围有部分锁定范围为重叠,以及该另一新锁定范围以及该另一旧锁定范围完全不重叠。
17.一种数据存储装置的控制器,该数据存储装置包括该控制器与一非挥发性存储器,该非挥发性存储器包括至少一非挥发性存储器组件,该控制器的特征在于,包括有:
一处理电路,用来依据来自一主机的多个主机指令控制该控制器,以容许该主机通过该控制器存取该非挥发性存储器,其中:
该控制器从该主机接收一安全指令,其中该安全指令是关于将一旧锁定范围变更为一新锁定范围;
该控制器依据该安全指令取得该新锁定范围的一起始逻辑区块地址以及一长度值,其中该新锁定范围的一结束逻辑区块地址为该新锁定范围的该起始逻辑区块地址与该长度值的总和;该控制器判断该新锁定范围的该起始逻辑区块地址是否小于该旧锁定范围的一结束逻辑区块地址,且判断该新锁定范围的该结束逻辑区块地址是否大于该旧锁定范围的一起始逻辑区块地址;以及
因应该新锁定范围的该起始逻辑区块地址小于该旧锁定范围的该结束逻辑区块地址以及该新锁定范围的该结束逻辑区块地址大于该旧锁定范围的一起始逻辑区块地址,该控制器对该新锁定范围以及该旧锁定范围未重叠的部分执行数据修剪。
18.如权利要求17所述的控制器,其特征在于,该控制器从该数据存储装置的外部接收另一安全指令,其中该另一安全指令是关于将另一旧锁定范围变更为另一新锁定范围;该控制器依据该另一安全指令取得该另一新锁定范围的一起始逻辑区块地址以及一长度值,其中该另一新锁定范围的一结束逻辑区块地址为该另一新锁定范围的该起始逻辑区块地址与该长度值的总和;该控制器判断该另一新锁定范围的该起始逻辑区块地址是否小于该另一旧锁定范围的一结束逻辑区块地址;因应该另一新锁定范围的该起始逻辑区块地址小于该另一旧锁定范围的该结束逻辑区块地址,该控制器判断该另一新锁定范围的该结束逻辑区块地址是否大于该另一旧锁定范围的一起始逻辑区块地址;以及因应该另一新锁定范围的该结束逻辑区块地址不大于该另一旧锁定范围的一起始逻辑区块地址,该控制器分别对该另一新锁定范围以及该另一旧锁定范围执行数据修剪。
19.如权利要求18所述的控制器,其特征在于,该控制器从该数据存储装置的外部接收又一安全指令,其中该又一安全指令是关于将又一旧锁定范围变更为又一新锁定范围;该控制器依据该又一安全指令取得该又一新锁定范围的一起始逻辑区块地址以及一长度值,其中该又一新锁定范围的一结束逻辑区块地址为该又一新锁定范围的该起始逻辑区块地址与该长度值的总和;该控制器判断该又一新锁定范围的该起始逻辑区块地址是否小于该又一旧锁定范围的一结束逻辑区块地址;以及因应该又一新锁定范围的该起始逻辑区块地址不小于该又一旧锁定范围的该结束逻辑区块地址,该控制器分别对该又一新锁定范围以及该又一旧锁定范围执行数据修剪。
20.如权利要求19所述的控制器,其特征在于,该旧锁定范围与该新锁定范围有部分锁定范围为重叠,该另一新锁定范围以及该另一旧锁定范围完全不重叠,以及该又一新锁定范围以及该又一旧锁定范围完全不重叠。
CN201910756356.0A 2018-09-17 2019-08-16 适应性锁定范围管理的方法、数据存储装置及其控制器 Active CN110908597B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862731993P 2018-09-17 2018-09-17
US62/731,993 2018-09-17
TW108109171A TWI684865B (zh) 2018-09-17 2019-03-18 用來進行適應性鎖定範圍管理之方法以及資料儲存裝置及其控制器
TW108109171 2019-03-18

Publications (2)

Publication Number Publication Date
CN110908597A CN110908597A (zh) 2020-03-24
CN110908597B true CN110908597B (zh) 2023-03-31

Family

ID=69774198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910756356.0A Active CN110908597B (zh) 2018-09-17 2019-08-16 适应性锁定范围管理的方法、数据存储装置及其控制器

Country Status (2)

Country Link
US (2) US10884954B2 (zh)
CN (1) CN110908597B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11113409B2 (en) * 2018-10-26 2021-09-07 Pure Storage, Inc. Efficient rekey in a transparent decrypting storage array

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101187862A (zh) * 2006-11-13 2008-05-28 英特尔公司 用于硬件锁定取消的临界区检测和预测机制
US8949512B2 (en) * 2012-02-17 2015-02-03 Apple Inc. Trim token journaling
TW201527973A (zh) * 2014-01-09 2015-07-16 Phison Electronics Corp 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
CN108228473A (zh) * 2016-12-22 2018-06-29 西部数据技术公司 通过动态地传送存储器范围分配的负载平衡
US10025534B1 (en) * 2017-12-20 2018-07-17 Seagate Technology Llc Shingled magnetic recording trim operation

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141728A (en) 1997-09-29 2000-10-31 Quantum Corporation Embedded cache manager
EP1130516A1 (en) 2000-03-01 2001-09-05 Hewlett-Packard Company, A Delaware Corporation Address mapping in solid state storage device
US7800932B2 (en) 2005-09-28 2010-09-21 Sandisk 3D Llc Memory cell comprising switchable semiconductor memory element with trimmable resistance
JP2004334434A (ja) * 2003-05-06 2004-11-25 Hitachi Ltd 双方向コピー制御機能を有する記憶装置システム
JP2004364293A (ja) * 2003-05-29 2004-12-24 Lycium Networks (Bvi) Ltd 適応型速度管理、適応型ポインタ管理及び周波数ロックされた適応型ポインタ管理のための方法及びシステム
KR100706242B1 (ko) 2005-02-07 2007-04-11 삼성전자주식회사 메모리 시스템 및 그것의 런 단위 어드레스 매핑 테이블 구성 방법
JP2006285600A (ja) 2005-03-31 2006-10-19 Tokyo Electron Device Ltd 記憶装置、メモリ管理装置、メモリ管理方法及びプログラム
US7587558B1 (en) * 2005-11-01 2009-09-08 Netapp, Inc. System and method for managing hard lock state information in a distributed storage system environment
US7450414B2 (en) 2006-07-31 2008-11-11 Sandisk 3D Llc Method for using a mixed-use memory array
US20080025069A1 (en) 2006-07-31 2008-01-31 Scheuerlein Roy E Mixed-use memory array with different data states
US8386537B2 (en) * 2009-12-15 2013-02-26 Intel Corporation Method for trimming data on non-volatile flash media
US8850114B2 (en) 2010-09-07 2014-09-30 Daniel L Rosenband Storage array controller for flash-based storage devices
US8521948B2 (en) 2011-01-03 2013-08-27 Apple Inc. Handling dynamic and static data for a system having non-volatile memory
US20130173931A1 (en) * 2011-12-30 2013-07-04 Yonatan Tzafrir Host Device and Method for Partitioning Attributes in a Storage Device
US9323667B2 (en) 2012-04-12 2016-04-26 Violin Memory Inc. System and method for managing trim operations in a flash memory system using mapping tables and block status tables
US8918651B2 (en) * 2012-05-14 2014-12-23 International Business Machines Corporation Cryptographic erasure of selected encrypted data
US9448919B1 (en) 2012-11-13 2016-09-20 Western Digital Technologies, Inc. Data storage device accessing garbage collected memory segments
US9021321B2 (en) * 2012-12-10 2015-04-28 International Business Machines Corporation Testing disk drives shared by multiple processors in a supercomputer complex
JP2014203405A (ja) 2013-04-09 2014-10-27 富士通株式会社 情報処理装置、メモリ制御装置、データ転送制御方法及びデータ転送制御プログラム
WO2015134941A1 (en) 2014-03-06 2015-09-11 Graphite Systems, Inc. Multiprocessor system with independent direct access to bulk solid state memory resources
US9524107B2 (en) * 2014-07-30 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Host-based device drivers for enhancing operations in redundant array of independent disks systems
US9703699B2 (en) 2014-09-17 2017-07-11 Kabushiki Kaisha Toshiba Hybrid-HDD policy for what host-R/W data goes into NAND
US9632927B2 (en) 2014-09-25 2017-04-25 International Business Machines Corporation Reducing write amplification in solid-state drives by separating allocation of relocate writes from user writes
US10261725B2 (en) 2015-04-10 2019-04-16 Toshiba Memory Corporation Storage system capable of invalidating data stored in a storage device thereof
CN106557802B (zh) * 2015-09-30 2019-08-30 东芝存储器株式会社 存储装置以及信息处理系统
US10229049B2 (en) 2015-12-17 2019-03-12 Toshiba Memory Corporation Storage system that performs host-initiated garbage collection
US10185658B2 (en) 2016-02-23 2019-01-22 Sandisk Technologies Llc Efficient implementation of optimized host-based garbage collection strategies using xcopy and multiple logical stripes
US10114743B2 (en) 2016-04-06 2018-10-30 Sandisk Technologies Inc. Memory erase management
TWI622923B (zh) 2016-05-04 2018-05-01 群聯電子股份有限公司 整理指令處理方法、記憶體控制電路單元與記憶體儲存裝置
US10474362B2 (en) 2016-10-14 2019-11-12 Smart Modular Technologies, Inc. Flash-based block storage system with trimmed space management and method of operation thereof
TWI619018B (zh) 2016-11-10 2018-03-21 慧榮科技股份有限公司 可用於資料儲存裝置之垃圾蒐集方法
US10740251B2 (en) 2017-01-20 2020-08-11 Seagate Technology Llc Hybrid drive translation layer
KR102066062B1 (ko) * 2017-01-23 2020-01-15 마이크론 테크놀로지, 인크. 부분적으로 기록된 블록 처리
TWI653533B (zh) 2017-03-07 2019-03-11 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
TWI634424B (zh) * 2017-05-08 2018-09-01 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
CN107632942A (zh) 2017-08-29 2018-01-26 记忆科技(深圳)有限公司 一种固态硬盘实现lba级别trim命令的方法
CN107481762B (zh) 2017-08-29 2020-07-28 苏州浪潮智能科技有限公司 一种固态硬盘的trim处理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101187862A (zh) * 2006-11-13 2008-05-28 英特尔公司 用于硬件锁定取消的临界区检测和预测机制
US8949512B2 (en) * 2012-02-17 2015-02-03 Apple Inc. Trim token journaling
TW201527973A (zh) * 2014-01-09 2015-07-16 Phison Electronics Corp 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
CN108228473A (zh) * 2016-12-22 2018-06-29 西部数据技术公司 通过动态地传送存储器范围分配的负载平衡
US10025534B1 (en) * 2017-12-20 2018-07-17 Seagate Technology Llc Shingled magnetic recording trim operation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吴纯青,李钢.实时应用中的内存锁定技术研究.国防科技大学学报.2000,(01),全文. *

Also Published As

Publication number Publication date
US10884954B2 (en) 2021-01-05
US11360912B2 (en) 2022-06-14
US20200089627A1 (en) 2020-03-19
CN110908597A (zh) 2020-03-24
US20210103529A1 (en) 2021-04-08

Similar Documents

Publication Publication Date Title
TWI673606B (zh) 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置
US20200364159A1 (en) Storage system and method for performing and authenticating write-protection thereof
US11030093B2 (en) High efficiency garbage collection method, associated data storage device and controller thereof
US9785784B2 (en) Security management unit, host controller interface including same, method operating host controller interface, and devices including host controller interface
US10331457B2 (en) Byte-addressable non-volatile read-write main memory partitioned into regions including metadata region
TWI667590B (zh) 資料儲存裝置以及韌體加密及更新方法
US8886963B2 (en) Secure relocation of encrypted files
KR20110121897A (ko) 사용자 장치 및 그것의 프로그램 페일 처리 방법
JP2020095723A (ja) 階層セキュリティを備えたフラッシュ変換層
US11868624B2 (en) Computing system and operating method thereof
CN110908597B (zh) 适应性锁定范围管理的方法、数据存储装置及其控制器
TWI684865B (zh) 用來進行適應性鎖定範圍管理之方法以及資料儲存裝置及其控制器
CN113360303A (zh) 进行数据存储管理以提升数据可靠度的方法以及相关设备
US11822489B2 (en) Data integrity protection for relocating data in a memory system
KR20220091955A (ko) 메모리 시스템 폐기 방법 및 그 메모리 시스템
US11704054B1 (en) Method and apparatus for performing access management of memory device with aid of buffer usage reduction control
WO2023084645A1 (ja) メモリコントローラおよびフラッシュメモリシステム
KR20230064538A (ko) 메모리 컨트롤러 및 스토리지 장치

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant