CN116048380A - 藉助于预定命令来进行存储器装置的数据存取控制的方法及设备 - Google Patents

藉助于预定命令来进行存储器装置的数据存取控制的方法及设备 Download PDF

Info

Publication number
CN116048380A
CN116048380A CN202211279269.9A CN202211279269A CN116048380A CN 116048380 A CN116048380 A CN 116048380A CN 202211279269 A CN202211279269 A CN 202211279269A CN 116048380 A CN116048380 A CN 116048380A
Authority
CN
China
Prior art keywords
command
migration
data
address
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211279269.9A
Other languages
English (en)
Inventor
杨子逸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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
Application filed by Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN116048380A publication Critical patent/CN116048380A/zh
Pending legal-status Critical Current

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/0614Improving the reliability of storage systems
    • 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/061Improving I/O performance
    • 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/0638Organizing or formatting or addressing of data
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Communication Control (AREA)

Abstract

本发明提供藉助于预定命令来进行存储器装置的数据存取控制的方法及相关设备。该方法可包含:利用该存储器控制器藉由该存储器控制器内的一传输接口电路从主机装置接收第一单一命令;以及响应于第一单一命令符合预定命令的预定格式,利用存储器控制器依据第一单一命令进行一系列操作,其中第一单一命令代表第一迁移命令,用于将第一数据从第一来源逻辑地址迁移到第一目的地逻辑地址。该系列操作可包含:在第一来源逻辑地址读取第一数据;在第一目的地逻辑地址写入第一数据;以及控制存储器装置使在第一来源逻辑地址的第一数据变为无效数据。

Description

藉助于预定命令来进行存储器装置的数据存取控制的方法及设备
技术领域
本发明是有关于存储器控制,尤指一种藉助于一预定命令(例如:一迁移(migrate)命令)来进行一存储器装置的数据存取控制的方法以及相关设备(apparatus)诸如该存储器装置、一电子装置、该存储器装置的一存储器控制器、以及一主机(host)装置。
背景技术
存储器装置可包含用以储存数据的快闪存储器,并且存取快闪存储器的管理相当复杂,举例来说,存储器装置可以为一记忆卡、一固态硬碟(solid state drive,SSD)或者一嵌入式储存装置(例如符合通用快闪储存(universal flash storage,简称UFS)规范的嵌入式储存装置)。当一制造商尝试根据既有的规范实现存储器装置的某些特征时,可能会出现某些问题。尤其,存储器装置可能会响应于主机端请求(host-side request)而花费过多的时间来进行存储器装置的某些内部操作,从而导致整体效能降低。相关技术尝试解决这个问题,然而,可能会引入了更多问题(例如某些副作用),因此,需要一种新颖的方法以及相关架构以在不引入任何副作用的情况下或藉由不太可能引入副作用的方式解决这些问题。
发明内容
因此,本发明的多个目的的其中之一在于提供一种藉助于一预定命令(例如:一迁移(migrate)命令)来进行一存储器装置的数据存取控制的方法以及相关设备诸如该存储器装置、一电子装置、该存储器装置的一存储器控制器、以及一主机装置,以解决上述问题。
本发明的至少一实施例提供了一种藉助于一预定命令来进行一存储器装置的数据存取控制的方法,其中该方法可应用于该存储器装置的一存储器控制器。该存储器装置可包含该存储器控制器以及一非挥发性(non-volatile,NV)存储器,并且该非挥发性存储器可包含至少一非挥发性存储器元件(例如一或多个非挥发性存储器元件)。该方法可包含:利用该存储器控制器藉由该存储器控制器内的一传输接口电路从一主机装置接收一第一单一命令;以及响应于该第一单一命令符合该预定命令的一预定格式,利用该存储器控制器依据该第一单一命令进行一系列操作,其中该第一单一命令代表一第一迁移(migrate)命令,用于将第一数据从一第一来源逻辑地址迁移到一第一目的地逻辑地址,以及该系列操作包含:藉由在一第一来源实体地址读取该第一数据以在该第一来源逻辑地址读取该第一数据,其中该第一来源实体地址与该第一来源逻辑地址相关联;藉由在一第一目的地实体地址写入该第一数据以在该第一目的地逻辑地址写入该第一数据,其中该第一目的地实体地址与该第一目的地逻辑地址相关联;以及控制该存储器装置使在该第一来源逻辑地址的该第一数据变为无效数据(invalid data)。
除了上述方法外,本发明另提供了一种存储器装置的存储器控制器,其中该存储器装置可包含该存储器控制器以及一非挥发性存储器。该非挥发性存储器可包含至少一非挥发性存储器元件(例如一或多个非挥发性存储器元件)。另外,该存储器控制器包含一处理电路,其是用以根据来自一主机装置的多个主机命令来控制该存储器控制器,以容许该主机装置藉由该存储器控制器来存取该非挥发性存储器,其中该处理电路是用以藉助于一预定命令来进行该存储器装置的数据存取控制。该存储器控制器另包含一传输接口电路,并且该传输接口电路是用以与该主机装置进行通信。举例来说,该存储器控制器藉由该存储器控制器内的该传输接口电路从该主机装置接收一第一单一命令;以及响应于该第一单一命令符合该预定命令的一预定格式,该存储器控制器依据该第一单一命令进行一系列操作,其中该第一单一命令代表一第一迁移命令,用于将第一数据从一第一来源逻辑地址迁移到一第一目的地逻辑地址。此外,该系列操作可包含:藉由在一第一来源实体地址读取该第一数据以在该第一来源逻辑地址读取该第一数据,其中该第一来源实体地址与该第一来源逻辑地址相关联;藉由在一第一目的地实体地址写入该第一数据以在该第一目的地逻辑地址写入该第一数据,其中该第一目的地实体地址与该第一目的地逻辑地址相关联;以及控制该存储器装置使在该第一来源逻辑地址的该第一数据变为无效数据。
除了上述方法外,本发明另提供包含上述存储器控制器的该存储器装置,其中该存储器装置包含该非挥发性存储器以及该存储器控制器。该非挥发性存储器是用以储存资讯。该存储器控制器是耦接至该非挥发性存储器,并且用以控制该存储器装置的操作。
除了上述方法外,本发明另提供了一种相关电子装置。该电子装置可包含上述存储器装置,并且可另包含:该主机装置,其耦接至该存储器装置。该主机装置可包含:至少一处理器,其用以控制该主机装置的操作;以及一电源供应电路,其耦接至该至少一处理器,并且用以提供电源给该至少一处理器以及该存储器装置,此外,该存储器装置可提供储存空间给该主机装置。
本发明的至少一实施例提供了一种藉助于一预定命令来进行一存储器装置的数据存取控制的方法,其中该方法可应用于耦接至该存储器装置的一主机装置。该存储器装置可包含一存储器控制器以及一非挥发性存储器,并且该非挥发性存储器可包含至少一非挥发性存储器元件(例如一或多个非挥发性存储器元件)。该方法可包含:藉由该主机装置内的一传输接口电路从该主机装置发送一第一单一命令至该存储器控制器,该第一单一命令符合该预定命令的一预定格式,以触发该存储器控制器依据该第一单一命令进行一系列操作,其中该第一单一命令代表一第一迁移命令,用于将第一数据从一第一来源逻辑地址迁移到一第一目的地逻辑地址。另外,该系列操作可包含:藉由在一第一来源实体地址读取该第一数据以在该第一来源逻辑地址读取该第一数据,其中该第一来源实体地址与该第一来源逻辑地址相关联;藉由在一第一目的地实体地址写入该第一数据以在该第一目的地逻辑地址写入该第一数据,其中该第一目的地实体地址与该第一目的地逻辑地址相关联;以及控制该存储器装置使在该第一来源逻辑地址的该第一数据变为无效数据。
除了上述方法外,本发明另提供根据该方法来操作的该主机装置。
根据某些实施例,该设备可包含该电子装置的至少一部分(例如一部分或全部),举例来说,该设备可包含该存储器装置中的该存储器控制器,又例如,该设备可包含该存储器装置,再举一例,该设备可包含该主机装置,在某些例子中,该设备可包含该电子装置。
根据某些实施例,该存储器装置中的该存储器控制器可依据该方法来控制该存储器装置的操作,并且该存储器装置可被设置于该电子装置中。另外,该存储器装置可以为该主机装置储存数据。该存储器装置可响应于来自该主机装置的一主机命令读取所储存的数据,并且将读取自该非挥发性存储器的数据提供给该主机装置。
本发明的方法以及相关设备可保证该存储器装置可在不同情况中适当地操作,尤其,可避免响应于主机端请求而花费过多的时间来进行存储器装置的某些内部操作。此外,本发明的方法和设备可在不引入任何副作用的情况下或藉由不太可能引入副作用的方式来解决相关技术的问题。
附图说明
图1为依据本发明一实施例的一电子装置的示意图。
图2绘示与一NAND型快闪存储器相关的一数据移动控制方案。
图3绘示与一三维交叉点(three-dimensional cross point,3D XPoint)存储器相关的一数据移动控制方案。
图4绘示与一读取命令(CMD)相关联的某些操作。
图5绘示与一写入命令相关联的某些操作。
图6绘示与一解除分配(deallocate)命令相关联的某些操作。
图7依据本发明一实施例绘示藉助于一预定命令诸如一迁移命令来进行一存储器装置的数据存取控制的方法的一第一数据迁移控制方案。
图8依据本发明一实施例绘示藉助于该预定命令诸如该迁移命令来进行该存储器装置的数据存取控制的方法的一第二数据迁移控制方案。
图9依据本发明一实施例绘示藉助于该预定命令诸如该迁移命令来进行该存储器装置的数据存取控制的方法的一第三数据迁移控制方案。
图10依据本发明一实施例绘示与相对于单一范围执行的该预定命令(例如:该迁移命令)相关联的某些操作。
图11依据本发明一实施例绘示与相对于多个范围执行的该预定命令(例如:该迁移命令)相关联的某些操作。
图12依据本发明一实施例绘示与在一特殊情况下执行的该预定命令(例如:该迁移命令)相关联的某些操作。
图13依据本发明一实施例绘示该方法的一工作流程。
【符号说明】
10:电子装置
50:主机装置
50B:缓冲器
50C:完成伫列(CQ)
50S:提交伫列(SQ)
52:处理器
54:电源供应电路
58:传输接口电路
100:存储器装置
110:存储器控制器
112:微处理器
112C:程序码
112M:只读存储器
114:控制逻辑电路
116:随机存取存储器
116T:暂时逻辑至实体(L2P)地址映射表
118:传输接口电路
120:非挥发性(NV)存储器
120T:全域逻辑至实体(L2P)地址映射表
122-1~122-NE:非挥发性(NV)存储器元件
200,300,400:固态硬碟(SSD)
210,310:控制器
216T:逻辑至实体(L2P)地址映射表
220:NAND型快闪存储器
320:三维交叉点(3D X点)存储器
DATAA,DATAB,DATAC,DATAD:数据
RW,RX,RY,RZ:逻辑区块地址(LBA)范围
S11,S21,S22,S22A,S22B,S22C:步骤
具体实施方式
图1为依据本发明一实施例的一电子装置10的示意图,其中电子装置10可包含一主机装置50以及一存储器装置100。主机装置50可包含至少一处理器(例如一或多个处理器),其可被统称为处理器52,且包含一电源供应电路54以及一传输接口电路58,其中处理器52以及传输接口电路58可藉由总线来彼此耦接,并且可耦接于电源供应电路54以取得电源。处理器52可用以控制主机装置50的操作,以及电源供应电路54可用以提供电源给处理器52、传输接口电路58以及存储器装置100,并且将一或多个驱动电压输出至存储器装置100,其中存储器装置100可提供储存空间给主机装置50,并且可自主机装置50取得该一或多个驱动电压以作为存储器装置100的电源。主机装置50的例子可包含(但不限于):多功能手机、平板电脑、可穿戴装置以及个人电脑,例如桌上型电脑以及笔记型电脑。存储器装置100的例子可包含(但不限于):可携式存储器装置(例如符合SD/MMC、CF、MS或XD规范的记忆卡、固态硬碟(solid state drive,简称SSD)以及各种类型的嵌入式存储器装置(例如符合通用快闪储存(universal flash storage,UFS)规范或嵌入式多媒体卡(embedded multi-media card,eMMC)规范的嵌入式存储器装置)。根据本实施例,存储器装置100可包含一控制器,诸如存储器控制器110,并且可另包含一非挥发性(non-volatile,NV)存储器120(在图1中标示为“NV存储器”以求简明),其中该控制器用以存取非挥发性存储器120,以及非挥发性存储器120用以储存资讯。非挥发性存储器120可包含至少一非挥发性存储器元件(例如一或多个非挥发性存储器元件),诸如多个非挥发性存储器元件122-1、122-2、…、以及122-NE(在图1中分别标示为“NV存储器元件”以求简明),其中“NE”可以代表大于1的正整数,举例来说,非挥发性存储器120可以是快闪存储器,并且多个非挥发性存储器元件122-1、122-2、…、以及122-NE可以分别是多个快闪存储器晶片或多个快闪存储器裸晶(die),但本发明不限于此。
如图1所示,存储器控制器110可包含一处理电路诸如一微处理器112、一储存单元诸如一只读存储器(read only memory,ROM)112M、一控制逻辑电路114、一随机存取存储器(random access memory,RAM)116(例如:其可以藉由静态随机存取存储器来实现)以及一传输接口电路118,其中上列元件之至少一部分(例如一部分或全部)可藉由总线彼此耦接。随机存取存储器116可用以提供内部储存空间给存储器控制器110(例如:可暂时地储存资讯),但本发明不限于此。另外,本实施例的只读存储器112M用以储存程序码112C,并且微处理器112用以执行程序码112C以控制非挥发性存储器120的存取。请注意,程序码112C也可被储存于随机存取存储器116或任一类型的存储器。此外,控制逻辑电路114可用以控制非挥发性存储器120。控制逻辑电路114可包含一错误校正码(error correction code,ECC)电路(未显示于图1),其可进行错误校正码编码以及错误校正码解码以保护数据,及/或进行错误校正。传输接口电路118可符合各种通信规范(例如序列先进技术附件(SerialAdvanced Technology Attachment,SATA)规范、通用序列总线(Universal Serial Bus,USB)规范、快捷周边元件互连(Peripheral Component Interconnect Express,PCIe)规范、快捷非挥发性存储器(Non-Volatile Memory Express,NVMe;亦可称为“快捷NVM”)规范、嵌入式多媒体卡规范以及通用快闪储存规范)当中的一或多个通信规范,并且可根据该一或多个通信规范来为存储器装置100与主机装置50(例如传输接口电路58)进行通信。相似地,传输接口电路58可符合该一或多个通信规范,并且可根据该一或多个通信规范来为主机装置50与存储器装置100(例如传输接口电路118)进行通信。
在本实施例中,主机装置50可将对应于逻辑地址的多个主机命令传送至存储器控制器110,以间接地存取存储器装置100中的非挥发性存储器120。存储器控制器110接收多个主机命令以及逻辑地址,分别将多个主机命令转换为存储器操作命令(其可称为操作命令以求简明),以及更进一步地用操作命令控制非挥发性存储器120以对非挥发性存储器120当中特定实体地址的存储器单元或数据页面(data page)进行读取或写入/编程(programing),其中实体地址可以与逻辑地址有关联。举例来说,存储器控制器110可产生或更新至少一逻辑至实体(logical-to-physical,简称L2P)地址映射表,以管理实体地址以及逻辑地址之间的关系。非挥发性存储器120可储存一全域L2P地址映射表120T,用以提供存储器控制器110来控制存储器装置100,以存取非挥发性存储器120中的数据,但本发明不限于此。
为了更好地理解,全域L2P地址映射表120T可位于非挥发性存储器元件122-1内的一预定区域中,例如一系统区域,但本发明不限于此,举例来说,全域L2P地址映射表120T可被划分为多个局部L2P地址映射表,并且该多个局部L2P地址映射表可以被储存在非挥发性存储器元件122-1、122-2、…、以及122-NE中的一或多个非挥发性存储器元件,尤其,可以分别被储存在非挥发性存储器元件122-1、122-2、…、以及122-NE中。当需要时,存储器控制器110可将全域L2P地址映射表120T的至少一部分(例如一部分或全部)加载至随机存取存储器116或其它存储器中,举例来说,存储器控制器110可将该多个局部L2P地址映射表中的一局部L2P地址映射表加载至随机存取存储器116中以作为一暂时L2P地址映射表116T,以根据被储存作为暂时L2P地址映射表116T的该局部L2P地址映射表来存取非挥发性存储器120中的数据,但本发明不限于此。
此外,上述的至少一非挥发性存储器元件(例如一或多个非挥发性存储器元件,诸如非挥发性存储器元件122-1、122-2、…、以及122-NE)可包含多个区块(block),其中存储器控制器110在非挥发性存储器120上进行数据抹除操作的最小单位可以是一个区块,以及存储器控制器110在非挥发性存储器120上进行数据写入操作的最小单位可以是一个页面,但本发明不限于此。举例来说,非挥发性存储器元件122-1、122-2、…、以及122-NE内的任一非挥发性存储器元件122-n(其中“n”可以表示区间[1,NE]中的任一整数)可包含多个区块,并且该多个区块中的一区块可包含并记录特定数量的页面,其中存储器控制器110可根据区块地址以及页面地址来存取该多个区块中的某个区块内的某个页面。
图2绘示与一NAND型快闪存储器220相关的一数据移动控制方案,其中SSD200、控制器210、L2P地址映射表216T和NAND型快闪存储器220可分别作为存储器装置100、存储器控制器110、暂时L2P地址映射表116T和非挥发性存储器120的例子。这个数据移动控制方案的操作可包含:
(1)主机装置50可以发送载有(carry)逻辑区块地址(logical block address,简称LBA)#A的一读取命令给控制器210以在LBA#A读取数据(标示为“读取LBA#A”以求简明),其中控制器210可在实体区块地址(physical block address,简称PBA)#X读取该数据以供回传(return)给主机装置50;
(2)主机装置50可以向控制器210发送载有LBA#B的一写入命令,以在LBA#B写入相同的数据(标示为“以相同的数据写入LBA#B”以求简明),其中控制器210可以在PBA#Y写入该数据并且于L2P地址映射表216T中更新LBA#B的L2P映射资讯N(例如:N可以为空值(null)或一有效地址诸如PBA#N)(标示为“更新LBA#B的L2P映射”以求简明);以及
(3)主机装置50可以向控制器210发送载有LBA#A的一解除分配(deallocate)命令以解除分配LBA#A,其中控制器210可以在L2P地址映射表216T中将LBA#A的L2P映射资讯更新为空值;
但本发明不限于此。
图3绘示与一三维交叉点(three-dimensional cross point,3D XPoint)存储器(简称“3D X点存储器”)320相关的一数据移动控制方案,其中SSD 300、控制器310和3D X点存储器320可分别作为存储器装置100、存储器控制器110和非挥发性存储器120的例子。控制器310可藉由一固定的方程序将多个LBA转换(例如:重定向(redirect)或转移(transfer))至多个PBA。这个数据移动控制方案的操作可包含:(1)主机装置50可以将载有LBA#A的该读取命令发送到控制器310以在LBA#A读取数据(标示为“读取LBA#A”以求简明),其中控制器310可以在PBA#X读取该数据以供回传给主机装置50;
(2)主机装置50可将载有LBA#B的该写入命令传送至控制器310,以在LBA#B写入相同的数据(标示为“以相同的数据写入LBA#B”以求简明),其中控制器310可以在PBA#Y写入该数据;以及
(3)主机装置50可以向控制器310发送载有LBA#A的该解除分配命令,以解除分配LBA#A或向LBA#A写入无效数据;
但本发明不限于此。
图4绘示与该读取命令相关联的某些操作,其中SSD 400可代表SSD 200和SSD300中的任何一个。与该读取命令相关联的这些操作可包含:
(1)主机装置50可以将一主机命令(CMD)诸如该读取命令插入到一提交伫列(submission queue,简称SQ)50S中(标示为“插入CMD”以求简明);
(2)主机装置50可以在SSD侧写入一第一门铃,诸如SQ尾门铃(SQ taildoorbell),以供藉由信令(signaling)指出新命令诸如该主机命令(标示为“主机写入门铃以供信令新CMD”以求简明);
(3)SSD 400可以从SQ 50S获取(fetch)该主机命令诸如该读取命令(标示为“SSD获取CMD”以求简明);
(4)SSD 400可以将读取数据,诸如从NAND型快闪存储器220或3D X点存储器320读取的数据,发送到主机侧的缓冲器50B(标示为“发送读取数据到主机缓冲器”以求简明);
(5)SSD 400可以将完成的命令,诸如该主机命令的完成资讯,推送(push)到一完成伫列(completion queue,简称CQ)50C;
(6)SSD 400可以发送一中断(interrupt),以供藉由信令指出该主机命令完成(标示为“SSD发送中断以信令主机CMD完成”以求简明);
(7)主机装置50可以从CQ 50C取得该主机命令的完成资讯(标示为“主机取得完成CMD”以求简明);以及
(8)主机装置50可以在SSD侧写入一第二门铃,诸如CQ头门铃(CQ headdoorbell),以释放完成伫列条目(CQ entry,简称“CQ条目”)(标示为“主机写入门铃以释放CQ条目”以求简明);
但本发明不限于此。
图5绘示与该写入命令相关联的某些操作。与该写入命令相关联的这些操作可包含:
(1)主机装置50可以将一主机命令(CMD)诸如该写入命令插入到SQ 50S中(标示为“插入CMD”以求简明);
(2)主机装置50可以在SSD侧写入该第一门铃,诸如上述SQ尾门铃,以供藉由信令指出新命令诸如该主机命令(标示为“主机写入门铃以供信令新CMD”以求简明);
(3)SSD 400可以从SQ 50S获取该主机命令诸如该写入命令(标示为“SSD获取CMD”以求简明);
(4)SSD 400可以从主机侧的缓冲器50B取得写入数据,诸如要写入NAND型快闪存储器220或3D X点存储器320的数据(标示为“从主机缓冲器取得写入数据”以求简明);
(5)SSD 400可以将完成的命令,诸如该主机命令的完成资讯,推送到CQ 50C;
(6)SSD 400可以发送一中断,以供藉由信令指出该主机命令完成(标示为“SSD发送中断以信令主机CMD完成”以求简明);
(7)主机装置50可以从CQ 50C取得该主机命令的完成资讯(标示为“主机取得完成CMD”以求简明);以及
(8)主机装置50可以在SSD侧写入该第二门铃,诸如上述CQ头门铃,以释放CQ条目(标示为“主机写入门铃以释放CQ条目”以求简明);
但本发明不限于此。
图6绘示与该解除分配命令相关联的某些操作。与该解除分配命令相关联的这些操作可包含:
(1)主机装置50可以将一主机命令(CMD)诸如该解除分配命令插入到SQ 50S中(标示为“插入CMD”以求简明);
(2)主机装置50可以在SSD侧写入该第一门铃,诸如上述SQ尾门铃,以供藉由信令指出新命令诸如该主机命令(标示为“主机写入门铃以供信令新CMD”以求简明);
(3)SSD 400可以从SQ 50S获取主机命令诸如该解除分配命令(标示为“SSD获取CMD”以求简明);
(4)SSD 400可以从主机侧的缓冲器50B取得解除分配范围资讯(deallocaterange information),诸如指出在NAND型快闪存储器220或3D X点存储器320中要解除分配的至少一地址范围(例如:一或多个地址范围),然后根据该解除分配范围资讯处理该解除分配命令(标示为“从主机缓冲器取得解除分配范围资讯,然后处理解除分配”以求简明);
(5)SSD 400可以将完成的命令,诸如该主机命令的完成资讯,推送到CQ 50C;
(6)SSD 400可以发送一中断,以供藉由信令指出该主机命令完成(标示为“SSD发送中断以信令主机CMD完成”以求简明);
(7)主机装置50可以从CQ 50C取得该主机命令的完成资讯(标示为“主机取得完成CMD”以求简明);以及
(8)主机装置50可以在SSD侧写入该第二门铃,诸如上述CQ头门铃,以释放CQ条目(标示为“主机写入门铃以释放CQ条目”以求简明);但本发明不限于此。
图7依据本发明一实施例绘示藉助于一预定命令诸如一迁移命令来进行一存储器装置诸如图1所示的存储器装置100(例如:SSD 200)的数据存取控制的方法的一第一数据迁移控制方案。该第一数据迁移控制方案的操作可包含:
(1)主机装置50可以向控制器210发送载有LBA#A和LBA#B的该迁移命令,以将数据从LBA#A迁移到LBA#B(标示为“将数据从LBA#A迁移到LBA#B”以求简明);以及
(2)控制器210可以藉由在PBA#X读取该数据以在LBA#A读取该数据(标示为“读取LBA#A”以求简明),藉由在PBA#Y写入该数据以在LBA#B写入相同的数据(标示为“写入LBA#B”以求简明),且在L2P地址映射表216T中更新LBA#B的L2P映射资讯N(例如:N可以为空值或一有效地址诸如PBA#N)(标示为“更新LBA#B的L2P映射”以求简明),并且进一步在L2P地址映射表216T中藉由将LBA#A的L2P映射资讯(例如:PBA#X)更改为空值以移除LBA#A的L2P映射资讯(标示为“移除LBA#A的L2P映射”以求简明);
但本发明不限于此。
图8依据本发明一实施例绘示藉助于该预定命令诸如该迁移命令来进行该存储器装置诸如图1所示的存储器装置100(例如:SSD 300)的数据存取控制的方法的一第二数据迁移控制方案。该第二数据迁移控制方案的操作可包含:
(1)主机装置50可以向控制器310发送载有LBA#A和LBA#B的该迁移命令,以将数据从LBA#A迁移到LBA#B(标示为“将数据从LBA#A迁移到LBA#B”以求简明);以及
(2)控制器310可以藉由在PBA#X读取该数据以在LBA#A读取该数据(标示为“读取LBA#A”以求简明),藉由在PBA#Y写入该数据以在LBA#B写入相同的数据(标示为“写入LBA#B”以求简明),并且藉由在PBA#X写入无效数据以在LBA#A写入该无效数据(标示为“在LBA#A写入无效数据”以求简明);
其中,控制器310可以藉由该固定的方程序分别将该多个LBA诸如LBA#A、LBA#B等转换(例如:重定向或转移)至该多个PBA诸如PBA#X、PBA#Y等,但本发明不限于此。
根据某些实施例,建议将该预定命令诸如该迁移命令添加到NVMe协议中。响应于该预定命令诸如该迁移命令,存储器控制器110能够在该存储器装置100中将数据从至少一来源地址诸如一来源LBA(例如:LBA#A)迁移或移动到至少一目的地地址诸如目的地LBA(例如:LBA#B),而不需要在主机装置50和存储器装置100之间进行数据传送(data transfer)。关于将该数据从来源地址移动到目的地地址,使用该预定命令诸如该迁移命令可以减少控制存储器装置100所需的主机命令的数量,并避免主机装置50和存储器装置100之间的数据传送。例如,图7所示的该第一数据迁移控制方案中使用的主机命令的数量,诸如一个,小于图2所示的该数据移动控制方案中使用的主机命令的数量,诸如三个,并且图7所示的架构可以顺利运行,而不需要在主机装置50和存储器装置100(例如:SSD 200)之间进行数据传送。又例如,图8所示的该第二数据迁移控制方案中使用的主机命令的数量,诸如一个,小于图3所示的该数据移动控制方案中使用的主机命令的数量,诸如三个,并且图8所示的架构可以顺利运行,而不需要在主机装置50和存储器装置100(例如:SSD 300)之间进行数据传送。此外,存储器装置100的后端带宽(back-end bandwidth),诸如存储器控制器110和非挥发性存储器120之间的传输带宽,可能远大于存储器装置100的前端带宽(front-endbandwidth),诸如存储器控制器110和主机装置50之间的传输带宽。在这种情况下,藉由存储器控制器110在存储器装置100内将数据从来源地址移动到目的地地址而不触发主机装置50和存储器装置100之间的数据传送可提升整体效能。
根据某些实施例,建议将该预定命令诸如该迁移命令添加到NVMe命令集(NVMecommand set)中。响应于该预定命令诸如该迁移命令,存储器控制器110能够在存储器装置100中将数据从至少一来源地址范围诸如一来源LBA范围迁移或移动到至少一目的地地址范围诸如一目的地LBA范围,而不需要在主机装置50和存储器装置100之间进行数据传送。例如,该来源LBA范围可包含多个来源LBA,诸如LBA#A等,并且该目的地LBA范围可包含多个目的地LBA,诸如LBA#B等。另外,该预定命令诸如该迁移命令可以载有上述至少一来源地址范围诸如该来源LBA范围和上述至少一目的地地址范围诸如该目的地LBA范围。当接收到该预定命令诸如该迁移命令时,存储器控制器110可在存储器装置100中将该数据从上述至少一来源地址范围移动到上述至少一目的地地址范围,而不需要在主机装置50和存储器装置100之间进行数据传送。
图9依据本发明一实施例绘示藉助于该预定命令诸如该迁移命令来进行该存储器装置诸如图1所示的存储器装置100(例如:SSD 200)的数据存取控制的方法的一第三数据迁移控制方案。该第三数据迁移控制方案的操作可包含:
(1)主机装置50可以向控制器210发送载有LBA#A和LBA#B的该迁移命令,以将数据从LBA#A迁移到LBA#B(标示为“将数据从LBA#A迁移到LBA#B”以求简明);以及
(2)当侦测到LBA#A的L2P映射资讯为空值时,这指出在该来源LBA诸如LBA#A不存在有效数据(例如:此情况下,该来源LBA诸如LBA#A可视为空的),控制器210可以藉由在L2P地址映射表216T中将LBA#B的L2P映射资讯N(例如:N可以为空值或一有效地址诸如PBA#N)覆写(overwrite)为空值以移除LBA#B的L2P映射资讯(标示为“移除LBA#B的L2P映射”以求简明);
但本发明不限于此。
图10依据本发明一实施例绘示与相对于单一范围执行的该预定命令(例如:该迁移命令)相关联的某些操作。与该预定命令(例如:该迁移命令)相关联的这些操作可包含:
(1)主机装置50可以将一主机命令(CMD)诸如该迁移命令的插入到SQ 50S中(标示为“插入CMD”以求简明);
(2)主机装置50可以在SSD侧写入该第一门铃,诸如上述SQ尾门铃,以供藉由信令指出新命令诸如该主机命令(标示为“主机写入门铃以供信令新CMD”以求简明);
(3)SSD 400可以从SQ 50S获取该主机命令诸如该迁移命令(标示为“SSD获取CMD”以求简明);
(4)SSD 400可以处理该迁移命令(标示为“处理迁移”以求简明),而不需要存取主机侧的缓冲器50B;
(5)SSD 400可以将完成的命令,诸如该主机命令的完成资讯,推送到CQ 50C;
(6)SSD 400可以发送一中断,以供藉由信令指出该主机命令完成(标示为“SSD发送中断以信令主机CMD完成”以求简明);
(7)主机装置50可以从CQ 50C取得该主机命令的完成资讯(标示为“主机取得完成CMD”以求简明);以及
(8)主机装置50可以在SSD侧写入该第二门铃,诸如上述CQ头门铃,以释放CQ条目(标示为“主机写入门铃以释放CQ条目”以求简明);
但本发明不限于此。
图11依据本发明一实施例绘示与相对于多个范围执行的该预定命令(例如:该迁移命令)相关联的某些操作。与该预定命令(例如:该迁移命令)相关联的这些操作可包含:
(1)主机装置50可以将一主机命令(CMD)诸如该迁移命令的插入到SQ 50S中(标示为“插入CMD”以求简明);
(2)主机装置50可以在SSD侧写入该第一门铃,诸如上述SQ尾门铃,以供藉由信令指出新命令诸如该主机命令(标示为“主机写入门铃以供信令新CMD”以求简明);
(3)SSD 400可以从SQ 50S获取该主机命令诸如该迁移命令(标示为“SSD获取CMD”以求简明);
(4)SSD 400可以从主机侧的缓冲器50B取得迁移范围资讯,诸如指出此迁移的多个来源地址范围的来源地址范围资讯以及指出此迁移的多个目的地地址范围的相关的目的地地址范围资讯,然后根据该迁移范围资讯处理该迁移命令(标示为“从主机缓冲器取得迁移范围资讯,然后处理迁移”以求简明);
(5)SSD 400可以将完成的命令,诸如该主机命令的完成资讯,推送到CQ 50C;
(6)SSD 400可以发送一中断,以供藉由信令指出该主机命令完成(标示为“SSD发送中断以信令主机CMD完成”以求简明);
(7)主机装置50可以从CQ 50C取得该主机命令的完成资讯(标示为“主机取得完成CMD”以求简明);以及
(8)主机装置50可以在SSD侧写入该第二门铃,诸如上述CQ头门铃,以释放CQ条目(标示为“主机写入门铃以释放CQ条目”以求简明);
但本发明不限于此。
图12依据本发明一实施例绘示与在一特殊情况下执行的该预定命令(例如:该迁移命令)相关联的某些操作。当相对于该多个范围执行该预定命令诸如该迁移命令时,SSD400可以取得上述迁移范围资讯,诸如指出此迁移的该多个来源地址范围(例如:LBA范围{RW,RX})的该来源地址范围资讯以及指出此迁移的该多个目的地地址范围(例如:LBA范围{RY,RZ})的相关的目的地地址范围资讯,然后根据该迁移范围资讯处理该迁移命令以将数据{{DATAA,DATAB},{DATAC,DATAD}}分别从该多个来源地址范围诸如LBA范围{RW,RX}迁移到该多个目的地地址范围诸如LBA范围{RY,RZ}。
在迁移的期间,当侦测到LBA范围RW的一第一局部LBA范围的L2P映射资讯以及LBA范围RX的一第二局部LBA范围的L2P映射资讯为空值时(例如:该第一局部LBA范围和该第二局部LBA范围尚未被写入),这指出该第一局部LBA范围和该第二局部LBA范围内不存在有效数据(此情况下,该第一局部LBA范围和该第二局部LBA范围可视为空的),控制器210可以解除分配LBA范围RY的一第一对应的局部LBA范围(例如:在LBA范围RY的多个局部LBA范围当中的对应于该第一局部LBA范围的一局部LBA范围)以及LBA范围RZ的一第二对应的局部LBA范围(例如:在LBA范围RZ的多个局部LBA范围当中的对应于该第二局部LBA范围的一局部LBA范围),尤其,藉由在L2P地址映射表216T中将LBA范围RY的该第一对应的局部LBA范围的第一L2P映射资讯以及LBA范围RZ的该第二对应的局部LBA范围的第二L2P映射资讯分别覆盖为空值以移除LBA范围RY的该第一对应的局部LBA范围的该第一L2P映射资讯以及LBA范围RZ的该第二对应的局部LBA范围的该第二L2P映射资讯,以使LBA范围RY的该第一对应的局部LBA范围以及LBA范围RZ的该第二对应的局部LBA范围为无效(在LBA范围RY和RZ的对应的局部LBA范围中标示为“无效”以求简明)。举例来说,如果在该第一局部LBA范围和该第二局部LBA范围中的任何局部LBA范围中有任何数据,则该任何数据应被视为无效。再举一例,如果在该第一对应的局部LBA范围和该第二对应的局部LBA范围中的任何局部LBA范围中有任何数据,则该任何数据应被视为无效。此外,在完成将数据{{DATAA,DATAB},{DATAC,DATAD}}从该多个来源地址范围诸如LBA范围{RW,RX}分别迁移到该多个目的地地址范围诸如LBA范围{RY,RZ}后,控制器210可以解除分配LBA范围RW和RX,尤其,解除分配原始储存数据{{DATAA,DATAB},{DATAC,DATAD}}的这些局部LBA范围,以使其内的数据{{DATAA,DATAB},{DATAC,DATAD}}分别变为无效(在LBA范围RW和RX的对应的局部LBA范围中标示为“无效”以求简明)。为了简明起见,于本实施例中类似的内容在此不重复赘述。
根据某些实施例,LBA范围RW及其第一局部LBA范围可分别视为多个LBA范围和该多个LBA范围的其中之一。类似地,LBA范围RX及其第二局部LBA范围可分别视为多个LBA范围和该多个LBA范围的其中之一。此外,LBA范围RY及其第一对应的局部LBA范围可分别视为多个LBA范围和该多个LBA范围的其中之一。类似地,LBA范围RZ及其第二对应的局部LBA范围可分别视为多个LBA范围和该多个LBA范围其中之一。
根据某些实施例,用于单一范围的该迁移命令可用表1、表2、表3和表4来定义(例如:十六进制(hexadecimal,hex)数字可写成带有一前导的“0x”或一尾随的“h”,并且二进制(binary)数字可写成带有一尾随的“b”),如下所示:
表1
Figure BDA0003897415100000171
表2
Figure BDA0003897415100000172
表3
Figure BDA0003897415100000173
表4
Figure BDA0003897415100000174
针对可用来作为一个新的NVM命令(NVM Command)的该迁移命令“迁移”(例如:表1中所示的“迁移”),例如:
(1)表1展示用于这个NVM命令的操作码(operation code,Opcode),其中,其三个栏位(亦即位元07、位元06:02以及位元01:00)可以分别载有0b(或1b)、00111b(或任何保留的功能码(function code))和00b,且对于这三个栏位分别载有0b、00111b和00b的情况,它们的组合{0b,00111b,00b}(亦即00011100b)可以写为组合的操作码1Ch(亦即0x1C);
(2)表2展示该迁移命令“迁移”的命令双字(Command Double Word,CommandDword)10至11;
(3)表3展示该迁移命令“迁移”的命令双字12至13;以及
(4)表4展示该迁移命令“迁移”的命令双字14。
针对命令完成,当上述命令(亦即,用于该单一范围的上述迁移命令,诸如由表1至表4定义的该迁移命令“迁移”)是以成功或失败作为结果来完成时,存储器控制器110应发布(post)一个完成伫列(CQ)条目到相关联的输入/输出(input/output,I/O)CQ,诸如指出命令状态的CQ 50C,举例来说,根据表5。
表5
Figure BDA0003897415100000181
表5展示命令特定状态值(command specific status value)的例子,其中上列表5中提到的某些术语,诸如保护资讯栏位(PRINFO)、ILBRT栏位等,以及这些术语的含义,在相关技术中是众所周知的,因此为简明起见在此不再详细解释。
根据某些实施例,用于多个范围的该迁移命令可用表6、表7和表8藉助于表9来定义(例如:十六进制(hex)数字可写成带有一前导的“0x”或一尾随的“h”,并且二进制数字可写成带有一尾随的“b”),如下所示:
表6
Figure BDA0003897415100000182
Figure BDA0003897415100000191
表7
位元 说明
127:00 数据指标器(Data Pointer,DPTR):这个栏位指定用于命令的数据。
表8
Figure BDA0003897415100000192
表9
Figure BDA0003897415100000193
Figure BDA0003897415100000201
针对可用来作为一个新的NVM命令的该迁移命令“迁移”(例如:表6中所示的“迁移”),例如:
(1)表6展示用于这个NVM命令的操作码,其中,其三个栏位(亦即位元07、位元06:02以及位元01:00)可以分别载有0b(或1b)、00110b(或任何保留的功能码)和01b,且对于这三个栏位分别载有0b、00110b和01b的情况,它们的组合{0b,00110b,01b}(亦即00011001b)可以写成组合的操作码19h(亦即0x19);
(2)表7展示该迁移命令“迁移”的数据指标器命令双字6至9,其中数据指标器(DPTR)指定缓冲器50B内的上述迁移范围资讯(例如:表9的表格内容);
(3)表8展示该迁移命令“迁移”的命令双字10;以及
(4)表9展示该迁移命令“迁移”的范围定义(Range Definition),其中上述迁移范围资讯可以如表9所示实现;
其中上列表7中提到的术语“数据指标器(DPTR)”以及这个术语的含义在相关技术中是众所周知的,因此为简明起见在此不再详细解释。针对命令完成,当上述命令(亦即,用于该多个范围的上述迁移命令,诸如由表6至表8定义的该迁移命令“迁移”)是以成功或失败作为结果来完成时,存储器控制器110应发布(post)一个完成伫列(CQ)条目到相关联的输入/输出(I/O)CQ,诸如指出命令状态的CQ 50C,举例来说,根据表10。
表10
Figure BDA0003897415100000202
Figure BDA0003897415100000211
表10展示命令特定状态值的例子,其中上列表10中提到的某些术语,诸如保护资讯栏位(PRINFO)、ILBRT栏位等,以及这些术语的含义,在相关技术中是众所周知的,因此为简明起见在此不再详细解释。
图13依据本发明一实施例绘示该方法的一工作流程,其中该方法可应用于主机装置50和存储器装置100(例如:SSD 200、300和400)。举例来说,存储器装置100可代表图7所示的SSD 200,且存储器控制器110和非挥发性存储器120可分别代表图7所示的控制器210和NAND型快闪存储器220。再举一例,存储器装置100可代表图8中所示的SSD 300,并且存储器控制器110和非挥发性存储器120可分别代表图8所示的控制器310和3D X点存储器320。
在步骤S11中,主机装置50可藉由主机装置50内的传输接口电路58从主机装置50发送一第一单一命令,诸如符合该预定命令(例如:该迁移命令)的一预定格式的该第一单一命令,至存储器控制器110(例如:图7和图8中的任一图所示的“1.将数据从LBA#A迁移到LBA#B”),以触发装置侧(例如:SSD侧)的存储器控制器110依据该第一单一命令进行一系列操作,其中该第一单一命令可代表一第一迁移命令(例如:该迁移命令),用于将第一数据从一第一来源逻辑地址(例如:图7和图8的其中一者当中所示的LBA#A)迁移到一第一目的地逻辑地址(例如:图7和图8的其中一者当中所示的LBA#B)。
在步骤S21中,存储器装置100可利用存储器控制器110藉由存储器控制器110内的传输接口电路118从主机装置50接收该第一单一命令(例如:图7和图8中的任一图所示的“1.将数据从LBA#A迁移到LBA#B”),其中该第一单一命令可代表该第一迁移命令(例如:该迁移命令),用于将该第一数据从该第一来源逻辑地址(例如:图7和图8的其中一者中所示的LBA#A)迁移到该第一目的地逻辑地址(例如:图7和图8的其中一者中所示的LBA#B)。
在步骤S22中,响应于符合该预定命令(例如:该迁移命令)的该预定格式的该第一单一命令,存储器装置100可利用存储器控制器110根据该第一单一命令执行该系列操作。举例来说,步骤S22可包含某些子步骤诸如步骤S22A、S22B和S22C,而这一系列操作包含步骤S22A、S22B和S22C的操作。
在步骤S22A中,存储器装置100可利用存储器控制器110藉由在一第一来源实体地址(例如:图7和图8的其中一者中所示的PBA#X)读取该第一数据以在该第一来源逻辑地址读取该第一数据(例如:图7和图8的其中一者中所示的“2.读取LBA#A”),其中该第一来源实体地址与该第一来源逻辑地址相关联。
在步骤S22B中,存储器装置100可利用存储器控制器110藉由在一第一目的地实体地址(例如:图7和图8的其中一者中所示的PBA#Y)写入该第一数据以在该第一目的地逻辑地址写入该第一数据(例如:图7和图8的其中一者中所示的“3.写入LBA#B”),其中该第一目的地实体地址与该第一目的地逻辑地址相关联。
在步骤S22C中,存储器装置100可利用存储器控制器110控制存储器装置100使在该第一来源逻辑地址的该第一数据变为无效数据(例如:图7和图8的其中一者中所示的其他操作)。举例来说,非挥发性存储器120可代表快闪存储器诸如图7所示的NAND型快闪存储器220。在这个情况下,控制存储器装置100使在该第一来源逻辑地址的该第一数据变为该无效数据的操作还可以包含:
(1)在一第一L2P地址映射表诸如L2P地址映射表216T中,更新该第一目的地逻辑地址的L2P映射资讯,诸如LBA#B的L2P映射资讯N(例如:图7所示的“4.更新LBA#B的L2P映射”);以及
(2)在该第一L2P地址映射表诸如L2P地址映射表216T中,藉由将该第一来源逻辑地址的L2P映射资讯从该第一来源实体地址(例如:PBA#X)改变为空值(null)以移除该第一来源逻辑地址(例如:LBA#A)的L2P映射资讯(例如:图7所示的“5.移除LBA#A的L2P映射”);
但本发明不限于此。再举一例,非挥发性存储器120可代表3D X点存储器,诸如图8中所示的3D X点存储器320。在这个情况下,控制存储器装置100使在该第一来源逻辑地址的该第一数据变为该无效数据的操作还可以包含:
(1)藉由在该第一来源实体地址(例如:PBA#X)写入该无效数据以在该第一来源逻辑地址(例如:LBA#A)写入该无效数据。
响应于该第一迁移命令,存储器控制器110能够在该存储器装置100中将该第一数据从包含该第一来源逻辑地址(例如:LBA#A)的至少一来源逻辑地址(例如:一或多个来源逻辑地址)迁移或移动到包含该第一目的地逻辑地址(例如:LBA#B)的至少一目的地逻辑地址(例如:一个或个目的地逻辑地址),而不需要在主机装置50和存储器装置100之间进行该第一数据的数据传送。为了简明起见,于本实施例中类似的内容在此不重复赘述。
为了更好地理解,该方法可用图13所示之工作流程来说明,但本发明不限于此。依据某些实施例,一个或多个步骤可于图13所示之工作流程中增加、删除或修改。举例来说,在主机侧的另一步骤中,主机装置50可藉由主机装置50内的传输接口电路58从主机装置50发送一第二单一命令,诸如符合该预定命令(例如:该迁移命令)的该预定格式的该第二单一命令,至存储器控制器110(例如:图9所示的“1.将数据从LBA#A迁移到LBA#B”),以触发装置侧(例如:SSD侧)的存储器控制器110依据该第二单一命令进行至少一后续操作(例如:一或多个后续操作),其中该第二单一命令可代表一第二迁移命令(例如:该迁移命令),用于从一第二来源逻辑地址(例如:图9所示的LBA#A)迁移到一第二目的地逻辑地址(例如:图9所示的LBA#B)。此外,在装置侧的另一步骤中,存储器装置100可利用存储器控制器110藉由存储器控制器110内的传输接口电路118从主机装置50接收该第二单一命令(例如:图9所示的“1.将数据从LBA#A迁移到LBA#B”),其中该第二单一命令可代表该第二迁移命令(例如:该迁移命令),用于从该第二来源逻辑地址(例如:图9所示的LBA#A)迁移到该第二目的地逻辑地址(例如:图9所示的LBA#B)。在装置侧的一后续步骤中,响应于符合该预定命令(例如:该迁移命令)的该预定格式的该第二单一命令,存储器装置100可以利用存储器控制器110根据该第二单一命令来进行上述至少一后续操作(例如:该一或多个后续操作)。尤其,上述至少一后续操作可包含:
(1)响应于在该第一L2P地址映射表诸如L2P地址映射表216T当中,该第二来源逻辑地址的L2P映射资讯,诸如图9所示的LBA#A的L2P映射资讯(在PBA栏位中标示为“空值”),为空值,控制存储器装置100使在该第二目的地逻辑地址的任何数据为无效数据(例如:图9所示的“2.移除LBA#B的L2P映射”);
但本发明不限于此。为了简明起见,于这些实施例中类似的内容在此不重复赘述。
根据某些实施例,第一迁移命令是可应用于(applicable to)单一范围迁移诸如图10所示实施例的迁移,其中该预定命令(例如:该迁移命令)的该预定格式可代表如表1至表4所定义的该迁移命令“迁移”的格式。针对该单一范围迁移,与该第一迁移命令相关联的多个操作可包含:
(1)主机装置50可以插入该第一迁移命令至主机装置50内的SQ 50S中(例如:图10所示的“1.插入CMD”);
(2)主机装置50可以在存储器装置100中写入该第一门铃(例如:上述SQ尾门铃),以供藉由信令指出以该第一迁移命令作为一新命令(例如:图10所示的“2.主机写入门铃以供信令新CMD”);
(3)存储器装置100可以从主机装置50内的SQ 50S获取该第一迁移命令(例如:图10所示的“3.SSD获取CMD”);
(4)存储器装置100可以处理该第一迁移命令,而不需要存取主机装置50内的缓冲器50B(例如:图10所示的“4.处理迁移”);
(5)存储器装置100可以将该第一迁移命令的完成资讯推送到主机装置50内的CQ50C(例如:图10所示的“5.SSD将完成的CMD推送到CQ”);
(6)存储器装置100可以发送一中断,以供藉由信令指出该第一迁移命令完成(例如:图10所示的“6.SSD发送中断以信令主机CMD完成”);
(7)主机装置50可以从主机装置50内的CQ 50C取得该第一迁移命令的完成资讯(例如:图10所示的“7.主机取得完成CMD”);以及
(8)主机装置50可以在存储器装置100中写入该第二门铃(例如:上述CQ头门铃)以释放CQ中与该第一迁移命令相对应的CQ条目(例如:图10所示的“8.主机写入门铃以释放CQ条目”)。
为了简明起见,于这些实施例中类似的内容在此不重复赘述。
根据某些实施例,第一迁移命令是可应用于多范围(multi-range)迁移诸如图11所示实施例的迁移,其中该预定命令(例如:该迁移命令)的该预定格式可代表如表6至表8所定义的该迁移命令“迁移”的格式。针对该多范围迁移,与该第一迁移命令相关联的多个操作可包含:
(1)主机装置50可以插入该第一迁移命令至主机装置50内的SQ 50S中(例如:图11所示的“1.插入CMD”);
(2)主机装置50可以在存储器装置100中写入该第一门铃(例如:上述SQ尾门铃),以供藉由信令指出以该第一迁移命令作为一新命令(例如:图11所示的“2.主机写入门铃以供信令新CMD”);
(3)存储器装置100可以从主机装置50内的SQ 50S获取该第一迁移命令(例如:图11所示的“3.SSD获取CMD”);
(4)存储器装置100可从主机装置50内的缓冲器50B取得迁移范围资讯(例如:前述的迁移范围资讯诸如表9的表格内容),然后处理该第一迁移命令(例如:如图11所示的“4.从主机缓冲器取得迁移范围资讯,然后处理迁移”),其中该迁移范围资讯可包含指出该多范围迁移的该多个来源地址范围的来源地址范围资讯以及指出该多范围迁移的该多个目的地地址范围的相关的目的地地址范围资讯,以及该第一来源逻辑地址和该第一目的地逻辑地址(例如:LBA#A和LBA#B,如图7和图8的其中一者所示)可分别代表该多个来源地址范围中的任一来源地址范围的一来源逻辑地址和该多个目的地地址范围中的任一目的地地址范围的一目的地逻辑地址;
(5)存储器装置100可以将该第一迁移命令的完成资讯推送到主机装置50内的CQ50C(例如:图11所示的“5.SSD将完成的CMD推送到CQ”);
(6)存储器装置100可以发送一中断,以供藉由信令指出该第一迁移命令完成(例如:图11所示的“6.SSD发送中断以信令主机CMD完成”);
(7)主机装置50可以从主机装置50内的CQ 50C取得该第一迁移命令的完成资讯(例如:图11所示的“7.主机取得完成CMD”);以及
(8)主机装置50可以在存储器装置100中写入该第二门铃(例如:上述CQ头门铃)以释放CQ中与该第一迁移命令相对应的CQ条目(例如:图11所示的“8.主机写入门铃以释放CQ条目”)。
为了简明起见,于这些实施例中类似的内容在此不重复赘述。
根据某些实施例,该多个来源地址范围可包含分别从表9中所示的范围0、1、…和127的各自的来源LBA开始且分别具有范围0、1、…和127的各自的长度(其以LBA为单位来量测)的这些来源地址范围的至少一部分(例如:一部分或全部),并且该多个目的地地址范围可包含分别从表9中所示的范围0、1、…和127的各自的目的地LBA开始且分别具有范围0、1、…和127的各自的长度(其以LBA为单位来量测)的这些目的地地址范围的至少一部分(例如:一部分或全部)。在这个情况下,该第一来源逻辑地址和该第一目的地逻辑地址(例如:LBA#A和LBA#B,如图7和图8的其中一者所示)可分别代表表9中所示的范围0、1、…和127的其中一者的来源LBA和目的地LBA。为了简明起见,于这些实施例中类似的内容在此不重复赘述。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做之均等变化与修饰,皆应属本发明的涵盖范围。

Claims (18)

1.一种藉助于一预定命令来进行一存储器装置的数据存取控制的方法,该方法是应用于该存储器装置的一存储器控制器,该存储器装置包含该存储器控制器以及一非挥发性存储器,该非挥发性存储器包含至少一非挥发性存储器元件,该方法包含:
利用该存储器控制器藉由该存储器控制器内的一传输接口电路从一主机装置接收一第一单一命令;以及
响应于该第一单一命令符合该预定命令的一预定格式,利用该存储器控制器依据该第一单一命令进行一系列操作,其中该第一单一命令代表一第一迁移(migrate)命令,用于将第一数据从一第一来源逻辑地址迁移到一第一目的地逻辑地址,以及该系列操作包含:
藉由在一第一来源实体地址读取该第一数据以在该第一来源逻辑地址读取该第一数据,其中该第一来源实体地址与该第一来源逻辑地址相关联;
藉由在一第一目的地实体地址写入该第一数据以在该第一目的地逻辑地址写入该第一数据,其中该第一目的地实体地址与该第一目的地逻辑地址相关联;以及
控制该存储器装置使在该第一来源逻辑地址的该第一数据变为无效数据(invaliddata)。
2.如权利要求1所述的方法,其特征在于,该非挥发性存储器代表一快闪存储器;以及控制该存储器装置使在该第一来源逻辑地址的该第一数据变为该无效数据另包含:
于一第一逻辑至实体(logical-to-physical,L2P)地址映射表中更新该第一目的地逻辑地址的逻辑至实体映射资讯;以及
于该第一逻辑至实体地址映射表中藉由将该第一来源逻辑地址的逻辑至实体映射资讯从该第一来源实体地址改变为空值(null)以移除该第一来源逻辑地址的该逻辑至实体映射资讯。
3.如权利要求1所述的方法,其特征在于,该非挥发性存储器代表一三维交叉点(three-dimensional cross point,3D XPoint)存储器;以及控制该存储器装置使在该第一来源逻辑地址的该第一数据变为该无效数据另包含:
藉由在该第一来源实体地址写入该无效数据以在该第一来源逻辑地址写入该无效数据。
4.如权利要求1所述的方法,其特征在于,另包含:
利用该存储器控制器藉由该存储器控制器内的该传输接口电路从该主机装置接收一第二单一命令;以及
响应于该第一第二命令符合该预定命令的该预定格式,利用该存储器控制器依据该第二单一命令进行至少一后续操作,其中该第二单一命令代表一第二迁移命令,用于从一第二来源逻辑地址迁移到一第二目的地逻辑地址,以及该至少一后续操作包含:
响应于在一第一逻辑至实体(logical-to-physical,L2P)地址映射表当中,该第二来源逻辑地址的逻辑至实体映射资讯为空值(null),控制该存储器装置使在该第二目的地逻辑地址的任何数据为无效数据。
5.如权利要求1所述的方法,其特征在于,该第一迁移命令是可应用于(applicableto)单一范围迁移;以及针对该单一范围迁移,与该第一迁移命令相关联的多个操作包含:
该主机装置插入该第一迁移命令至该主机装置内的一提交伫列(submission queue,SQ)中;
该主机装置在该存储器装置中写入一第一门铃(doorbell),以供藉由信令(signaling)指出以该第一迁移命令作为一新命令;
该存储器装置从该主机装置内的该提交伫列获取(fetch)该第一迁移命令;
该存储器装置处理该第一迁移命令,而不需要存取该主机装置内的一缓冲器;
该存储器装置将该第一迁移命令的完成资讯推送(push)到该主机装置内的一完成伫列(completion queue,CQ);
该存储器装置发送一中断(interrupt),以供藉由信令指出该第一迁移命令完成;
该主机装置从该主机装置内的该完成伫列取得该第一迁移命令的该完成资讯;以及
该主机装置在该存储器装置中写入一第二门铃以释放该完成伫列中与该第一迁移命令相对应的一完成伫列条目(CQ entry)。
6.如权利要求1所述的方法,其特征在于,该第一迁移命令是可应用于(applicableto)多范围(multi-range)迁移;以及针对该多范围迁移,与该第一迁移命令相关联的多个操作包含:
该主机装置插入该第一迁移命令至该主机装置内的一提交伫列(submission queue,SQ)中;
该主机装置在该存储器装置中写入一第一门铃(doorbell),以供藉由信令(signaling)指出以该第一迁移命令作为一新命令;
该存储器装置从该主机装置内的该提交伫列获取(fetch)该第一迁移命令;
该存储器装置从该主机装置内的一缓冲器取得迁移范围资讯,然后处理该第一迁移命令,其中该迁移范围资讯包含指出该多范围迁移的多个来源地址范围的来源地址范围资讯以及指出该多范围迁移的多个目的地地址范围的目的地地址范围资讯,以及该第一来源逻辑地址和该第一目的地逻辑地址分别代表该多个来源地址范围中的任一来源地址范围的一来源逻辑地址以及该多个目的地地址范围中的任一目的地地址范围的一目的地逻辑地址;
该存储器装置将该第一迁移命令的完成资讯推送(push)到该主机装置内的一完成伫列(completion queue,CQ);
该存储器装置发送一中断(interrupt),以供藉由信令指出该第一迁移命令完成;
该主机装置从该主机装置内的该完成伫列取得该第一迁移命令的该完成资讯;以及
该主机装置在该存储器装置中写入一第二门铃以释放该完成伫列中与该第一迁移命令相对应的一完成伫列条目(CQ entry)。
7.如权利要求1所述的方法,其特征在于,响应于该第一单一命令,该存储器控制器能在该存储器装置中将该第一数据从包含该第一来源逻辑地址的至少一来源逻辑地址迁移到包含该第一目的地逻辑地址的至少一目的地逻辑地址,而不需要于该主机装置和该存储器装置之间进行该第一数据的数据传送(data transfer)。
8.一种存储器装置的存储器控制器,该存储器装置包含该存储器控制器以及一非挥发性存储器,该非挥发性存储器包含至少一非挥发性存储器元件,该存储器控制器包含:
一处理电路,用以根据来自一主机装置的多个主机命令来控制该存储器控制器,以容许该主机装置藉由该存储器控制器来存取该非挥发性存储器,其中该处理电路是用以藉助于一预定命令来进行该存储器装置的数据存取控制;以及
一传输接口电路,用以与该主机装置进行通信;
其中:
该存储器控制器藉由该存储器控制器内的该传输接口电路从该主机装置接收一第一单一命令;以及
响应于该第一单一命令符合该预定命令的一预定格式,该存储器控制器依据该第一单一命令进行一系列操作,其中该第一单一命令代表一第一迁移(migrate)命令,用于将第一数据从一第一来源逻辑地址迁移到一第一目的地逻辑地址,以及该系列操作包含:
藉由在一第一来源实体地址读取该第一数据以在该第一来源逻辑地址读取该第一数据,其中该第一来源实体地址与该第一来源逻辑地址相关联;
藉由在一第一目的地实体地址写入该第一数据以在该第一目的地逻辑地址写入该第一数据,其中该第一目的地实体地址与该第一目的地逻辑地址相关联;以及
控制该存储器装置使在该第一来源逻辑地址的该第一数据变为无效数据(invaliddata)。
9.包含如权利要求8所述的存储器控制器的该存储器装置,其特征在于,该存储器装置包含:
该非挥发性存储器,用以储存资讯;以及
该存储器控制器,耦接至该非挥发性存储器,用以控制该存储器装置的操作。
10.一种电子装置,其包含如权利要求9所述的存储器装置,其特征在于,并且另包含:
该主机装置,耦接至该存储器装置,其中该主机装置包含:
至少一处理器,用以控制该主机装置的操作;以及
一电源供应电路,耦接至该至少一处理器,用以提供电源给该至少一处理器以及该存储器装置;
其中该存储器装置提供储存空间给该主机装置。
11.一种藉助于一预定命令来进行一存储器装置的数据存取控制的方法,该方法是应用于耦接至该存储器装置的一主机装置,该存储器装置包含一存储器控制器以及一非挥发性存储器,该非挥发性存储器包含至少一非挥发性存储器元件,该方法包含:
藉由该主机装置内的一传输接口电路从该主机装置发送一第一单一命令至该存储器控制器,该第一单一命令符合该预定命令的一预定格式,以触发该存储器控制器依据该第一单一命令进行一系列操作,其中该第一单一命令代表一第一迁移(migrate)命令,用于将第一数据从一第一来源逻辑地址迁移到一第一目的地逻辑地址,以及该系列操作包含:
藉由在一第一来源实体地址读取该第一数据以在该第一来源逻辑地址读取该第一数据,其中该第一来源实体地址与该第一来源逻辑地址相关联;
藉由在一第一目的地实体地址写入该第一数据以在该第一目的地逻辑地址写入该第一数据,其中该第一目的地实体地址与该第一目的地逻辑地址相关联;以及
控制该存储器装置使在该第一来源逻辑地址的该第一数据变为无效数据(invaliddata)。
12.如权利要求11所述的方法,其特征在于,该非挥发性存储器代表一快闪存储器;以及控制该存储器装置使在该第一来源逻辑地址的该第一数据变为该无效数据另包含:
于一第一逻辑至实体(logical-to-physical,L2P)地址映射表中更新该第一目的地逻辑地址的逻辑至实体映射资讯;以及
于该第一逻辑至实体地址映射表中藉由将该第一来源逻辑地址的逻辑至实体映射资讯从该第一来源实体地址改变为空值(null)以移除该第一来源逻辑地址的该逻辑至实体映射资讯。
13.如权利要求11所述的方法,其特征在于,该非挥发性存储器代表一三维交叉点(three-dimensional cross point,3D XPoint)存储器;以及控制该存储器装置使在该第一来源逻辑地址的该第一数据变为该无效数据另包含:
藉由在该第一来源实体地址写入该无效数据以在该第一来源逻辑地址写入该无效数据。
14.如权利要求11所述的方法,其特征在于,另包含:
藉由该主机装置内的该传输接口电路从该主机装置发送一第二单一命令至该存储器控制器,该第二单一命令符合该预定命令的该预定格式,以触发该存储器控制器依据该第二单一命令进行至少一后续操作,其中该第二单一命令代表一第二迁移命令,用于从一第二来源逻辑地址迁移到一第二目的地逻辑地址,以及该至少一后续操作包含:
响应于在一第一逻辑至实体(logical-to-physical,L2P)地址映射表当中,该第二来源逻辑地址的逻辑至实体映射资讯为空值(null),控制该存储器装置使在该第二目的地逻辑地址的任何数据为无效数据。
15.如权利要求11所述的方法,其特征在于,该第一迁移命令是可应用于(applicableto)单一范围迁移;以及针对该单一范围迁移,与该第一迁移命令相关联的多个操作包含:
该主机装置插入该第一迁移命令至该主机装置内的一提交伫列(submission queue,SQ)中;
该主机装置在该存储器装置中写入一第一门铃(doorbell),以供藉由信令(signaling)指出以该第一迁移命令作为一新命令;
该存储器装置从该主机装置内的该提交伫列获取(fetch)该第一迁移命令;
该存储器装置处理该第一迁移命令,而不需要存取该主机装置内的一缓冲器;
该存储器装置将该第一迁移命令的完成资讯推送(push)到该主机装置内的一完成伫列(completion queue,CQ);
该存储器装置发送一中断(interrupt),以供藉由信令指出该第一迁移命令完成;
该主机装置从该主机装置内的该完成伫列取得该第一迁移命令的该完成资讯;以及
该主机装置在该存储器装置中写入一第二门铃以释放该完成伫列中与该第一迁移命令相对应的一完成伫列条目(CQ entry)。
16.如权利要求11所述的方法,其特征在于,该第一迁移命令是可应用于(applicableto)多范围(multi-range)迁移;以及针对该多范围迁移,与该第一迁移命令相关联的多个操作包含:
该主机装置插入该第一迁移命令至该主机装置内的一提交伫列(submission queue,SQ)中;
该主机装置在该存储器装置中写入一第一门铃(doorbell),以供藉由信令(signaling)指出以该第一迁移命令作为一新命令;
该存储器装置从该主机装置内的该提交伫列获取(fetch)该第一迁移命令;
该存储器装置从该主机装置内的一缓冲器取得迁移范围资讯,然后处理该第一迁移命令,其中该迁移范围资讯包含指出该多范围迁移的多个来源地址范围的来源地址范围资讯以及指出该多范围迁移的多个目的地地址范围的目的地地址范围资讯,以及该第一来源逻辑地址和该第一目的地逻辑地址分别代表该多个来源地址范围中的任一来源地址范围的一来源逻辑地址以及该多个目的地地址范围中的任一目的地地址范围的一目的地逻辑地址;
该存储器装置将该第一迁移命令的完成资讯推送(push)到该主机装置内的一完成伫列(completion queue,CQ);
该存储器装置发送一中断(interrupt),以供藉由信令指出该第一迁移命令完成;
该主机装置从该主机装置内的该完成伫列取得该第一迁移命令的该完成资讯;以及
该主机装置在该存储器装置中写入一第二门铃以释放该完成伫列中与该第一迁移命令相对应的一完成伫列条目(CQ entry)。
17.如权利要求11所述的方法,其特征在于,响应于该第一单一命令,该存储器控制器能在该存储器装置中将该第一数据从包含该第一来源逻辑地址的至少一来源逻辑地址迁移到包含该第一目的地逻辑地址的至少一目的地逻辑地址,而不需要于该主机装置和该存储器装置之间进行该第一数据的数据传送(data transfer)。
18.根据如权利要求11所述的方法来操作的该主机装置。
CN202211279269.9A 2021-10-28 2022-10-19 藉助于预定命令来进行存储器装置的数据存取控制的方法及设备 Pending CN116048380A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163273121P 2021-10-28 2021-10-28
US63/273,121 2021-10-28
US17/862,428 US20230137938A1 (en) 2021-10-28 2022-07-12 Method and apparatus for performing data access control of memory device with aid of predetermined command
US17/862,428 2022-07-12

Publications (1)

Publication Number Publication Date
CN116048380A true CN116048380A (zh) 2023-05-02

Family

ID=86114428

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211279269.9A Pending CN116048380A (zh) 2021-10-28 2022-10-19 藉助于预定命令来进行存储器装置的数据存取控制的方法及设备

Country Status (3)

Country Link
US (1) US20230137938A1 (zh)
CN (1) CN116048380A (zh)
TW (1) TWI820951B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201903513D0 (en) * 2019-03-14 2019-05-01 Blueshift Memory Ltd Moving data in a memory and command for memory control

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10635316B2 (en) * 2014-03-08 2020-04-28 Diamanti, Inc. Methods and systems for data storage using solid state drives
EP3066572B1 (en) * 2014-12-14 2020-02-19 VIA Alliance Semiconductor Co., Ltd. Cache memory budgeted by chunks based on memory access type
EP3230874B1 (en) * 2014-12-14 2021-04-28 VIA Alliance Semiconductor Co., Ltd. Fully associative cache memory budgeted by memory access type
US10218166B2 (en) * 2015-03-03 2019-02-26 Sandisk Technologies Llc System and method for dynamic monitoring of controller current consumption
CN106326133B (zh) * 2015-06-29 2020-06-16 华为技术有限公司 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法
US10262721B2 (en) * 2016-03-10 2019-04-16 Micron Technology, Inc. Apparatuses and methods for cache invalidate
US10387226B2 (en) * 2017-11-13 2019-08-20 Western Digital Technologies, Inc. Timestamp suppression
US10580512B2 (en) * 2018-02-21 2020-03-03 Western Digital Technologies, Inc. Storage device with debug namespace
TWI679538B (zh) * 2018-03-31 2019-12-11 慧榮科技股份有限公司 資料儲存系統之控制單元以及邏輯至物理映射表更新方法
CN112115067A (zh) * 2019-06-21 2020-12-22 慧荣科技股份有限公司 闪存物理资源集合管理装置及方法及计算机可读取存储介质
KR102650809B1 (ko) * 2019-08-02 2024-03-26 삼성전자주식회사 스토리지 장치 및 그것의 동작 방법

Also Published As

Publication number Publication date
TWI820951B (zh) 2023-11-01
TW202318201A (zh) 2023-05-01
US20230137938A1 (en) 2023-05-04

Similar Documents

Publication Publication Date Title
CN108804023B (zh) 数据存储装置及其操作方法
US10296224B2 (en) Apparatus, system and method for increasing the capacity of a storage device available to store user data
US9582416B2 (en) Data erasing method, memory control circuit unit and memory storage apparatus
US10347349B2 (en) Method and device for fail-safe erase of flash memory
CN110928807B (zh) 用于检查存储器系统中的有效数据的设备和方法
EP2003569A9 (en) Flash memory controller
CN111459844B (zh) 数据储存装置及用于存取逻辑至物理地址映射表的方法
TW200935220A (en) System and method for implementing extensions to intelligently manage resources of a mass storage system
CN107590080B (zh) 映射表更新方法、存储器控制电路单元及存储器存储装置
CN109783008B (zh) 数据存储装置及其操作方法
CN111414312A (zh) 数据存储装置及其操作方法
CN107943710B (zh) 存储器管理方法及使用所述方法的存储控制器
US20220138096A1 (en) Memory system
CN113885808B (zh) 映射信息记录方法以及存储器控制电路单元与存储装置
US10901912B2 (en) Flash translation layer table for unaligned host writes
US9727453B2 (en) Multi-level table deltas
CN116048380A (zh) 藉助于预定命令来进行存储器装置的数据存取控制的方法及设备
CN113687771A (zh) 存储器装置的存取管理方法、控制器以及主机装置
CN113360303A (zh) 进行数据存储管理以提升数据可靠度的方法以及相关设备
CN110908596A (zh) 数据存储装置、其操作方法和包括存储装置的存储系统
US11977783B2 (en) Method and apparatus for performing data access control of memory device with aid of predetermined command
US20210042232A1 (en) Controller, operating method thereof and storage device including the same
US20140325119A1 (en) Writing method, memory controller and memory storage device
CN111290971B (zh) 控制器、具有其的存储器系统及存储器系统的操作方法
CN117453122A (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