CN113885778A - 数据处理方法及对应的数据储存装置 - Google Patents

数据处理方法及对应的数据储存装置 Download PDF

Info

Publication number
CN113885778A
CN113885778A CN202110115642.6A CN202110115642A CN113885778A CN 113885778 A CN113885778 A CN 113885778A CN 202110115642 A CN202110115642 A CN 202110115642A CN 113885778 A CN113885778 A CN 113885778A
Authority
CN
China
Prior art keywords
sub
data
memory
region
hpb
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.)
Granted
Application number
CN202110115642.6A
Other languages
English (en)
Other versions
CN113885778B (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 TW110100222A external-priority patent/TWI766526B/zh
Application filed by Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN113885778A publication Critical patent/CN113885778A/zh
Application granted granted Critical
Publication of CN113885778B publication Critical patent/CN113885778B/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/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/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
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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
    • 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
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0653Monitoring storage devices or 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/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/0656Data buffering 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • 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/0683Plurality of storage devices
    • 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/7201Logical to physical mapping or translation of blocks or pages
    • 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
    • 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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks

Abstract

本发明涉及数据处理方法及对应的数据储存装置。该数据储存装置包括一存储器装置与一存储器控制器。存储器控制器响应于由一主机装置发出的一指令更新一活化次数表格的内容,根据活化次数表格的内容选择至少一个子区域,并且执行一数据重排程序用以将被选择的至少一个子区域的数据搬移至存储器装置中具有连续实体地址的第一记忆空间。活化次数表格包括多个栏位,各栏位用以记录相关联的一子区域所对应的一活化次数,并且存储器控制器藉由增加指令中标识出的一或多个要被活化的子区域所对应的一或多个活化次数更新活化次数表格的内容。

Description

数据处理方法及对应的数据储存装置
技术领域
本发明有关于一种可有效改善存储器装置的存取效能的数据处理方法及对应的数据储存装置。
背景技术
随着数据储存装置的科技在近几年快速地成长,许多数据储存装置,如符合安全数位(Secure Digital,缩写为SD)/多媒体卡(Multi Media Card,缩写为MMC)规格、复合式快闪存储器(Compact flash,缩写为CF)规格、记忆条(Memory Stick,缩写为MS)规格与极数位(Extreme Digital,缩写为XD)规格的记忆卡、固态硬碟、嵌入式多媒体记忆卡(embedded Multi Media Card,缩写为eMMC)以及通用快闪存储器储存(Universal FlashStorage,缩写为UFS)已经广泛地被应用在多种用途上。因此,在这些数据储存装置上,有效率的存取控制也变成一个重要的议题。
为了辅助数据储存装置的存取操作,数据储存装置端可建立并维护一或多个映射表格,用以记录实体地址与逻辑地址间的映射关系。逻辑地址为由连接数据储存装置的一主机装置所使用的地址,主机装置可利用逻辑地址识别不同的记忆空间。实体地址为数据储存装置所使用的地址,数据储存装置可利用实体地址识别不同的记忆空间。存储器控制器根据存储器装置的存取操作管理这些映射表格。
响应于带有欲读取的逻辑地址的一读取指令,存储器控制器必须查找映射表格,以取得储存欲读取的逻辑地址的数据的实体地址。然而,表格的查找或搜寻通常为较耗时的操作。此外,表格大小通常会随着存储器装置的容量增加而增加。因此,在映射表格中查找或搜索所需的时间会随着映射表格的大小增加而大幅增加。
为解决此问题并且改善存储器装置的读取速度,需要一种可有效处理存储器装置所储存的数据并改善存储器装置存取效能的数据处理方法。
发明内容
本发明的一目的在于解决前述问题,并且改善存储器装置的读取速度。
根据本发明的一实施例,一种数据储存装置包括一存储器装置与一存储器控制器。存储器装置包括多个存储器区块,存储器区块对应于多个逻辑单元,各逻辑单元包括多个区域,并且各区域包括多个子区域。存储器控制器耦接至存储器装置,用以存取存储器装置,并且响应于由一主机装置发出的一指令更新一活化次数表格的内容,其中一或多个要被活化的子区域被标识于该指令中。活化次数表格包括多个栏位,各栏位用以记录相关联的一子区域所对应的一活化次数,并且存储器控制器藉由增加指令中标识出的一或多个要被活化的子区域所对应的一或多个活化次数更新活化次数表格的内容。存储器控制器还根据活化次数表格的内容选择至少一个子区域,并且执行一数据重排程序用以将被选择的至少一个子区域的数据搬移至存储器装置中具有连续实体地址的第一记忆空间。
根据本发明的另一实施例,一种数据处理方法,适用于一数据储存装置,其中数据储存装置包括一存储器装置与一存储器控制器,存储器装置包括多个存储器区块,存储器区块对应于多个逻辑单元,各逻辑单元包括多个区域,并且各区域包括多个子区域,存储器控制器耦接至存储器装置,用以存取存储器装置,数据处理方法由存储器控制器所执行并包括:建立一活化次数表格,并且响应于由一主机装置发出的一指令更新活化次数表格的内容,其中活化次数表格包括多个栏位,各栏位用以记录相关联的一子区域所对应的一活化次数,并且其中一或多个要被活化的子区域被标识于该指令中;根据活化次数表格的内容选择至少一个子区域;以及执行一数据重排程序,用以将被选择的至少一个子区域的数据搬移至存储器装置中具有连续实体地址的一第一记忆空间。
附图说明
图1是显示根据本发明的一实施例所述的数据储存装置的方块图范例。
图2是显示逻辑单元与其对应的逻辑区块地址的一个范例。
图3是显示于主机控制模式下可有的操作。
图4是显示于装置控制模式下可有的操作。
图5是显示HPB项目的一个范例格式。
图6是显示HPB项目的另一个范例格式。
图7是显示HPB读取指令的对应操作。
图8是显示根据本发明的第一实施例所述的数据处理方法流程图。
图9是显示根据本发明的第二实施例所述的数据处理方法流程图。
图10是显示根据本发明的第三实施例所述的数据处理方法流程图。
图11是显示根据本发明的一实施例所述的数据重排程序的操作。
【符号说明】
100:数据储存装置
110:存储器控制器
112:微处理器
112C:程序码
112M:只读存储器
114:存储器接口
116:缓冲存储器
118:主机接口
120:存储器装置
130:主机装置
132:编码器
134:解码器
200:逻辑单元
A-1、A-2、A-3、A-4、B-1、B-2、B-3、C-1、C-2、C-3、C-4、C-5、C-6、D-1、D-2、D-3、D-4、D-5、D-6、D-7:操作
DATA IN UPIU:送入数据的通用快闪存储器储存通讯协定资讯单元
HPB_Rgn_0、HPB_Rgn_(N-1):HPB区域
HPB_Sub_Rgn_0、HPB_Sub_Rgn_(L-1):HPB子区域
LBA:逻辑区块地址
具体实施方式
在下文中,描述了许多具体细节以提供对本发明实施例的透彻理解。然而,本领域技术人员仍将理解如何在缺少一个或多个具体细节或依赖于其他方法、元件或材料的情况下实施本发明。在其他情况下,未详细示出或描述公知的结构、材料或操作,以避免模糊本发明的主要概念。
在整个说明书中对“一实施例”或“一范例”的引用意味着结合该实施例或范例所描述的特定特征、结构或特性包括于本发明的多个实施例的至少一个实施例中。因此,贯穿本说明书在各个地方出现的短语“于本发明的一实施例中”、“根据本发明的一实施例”、“于一范例中”或“根据本发明的一范例”不一定都指到相同的实施例或范例。此外,特定特征、结构或特性可以在一个或多个实施例或范例中以任何合适的组合和/或子组合进行结合。
此外,为让本发明的目的、特征和优点能更明显易懂,下文特举出本发明的具体实施例,并配合附图,作详细说明如下。目的在于说明本发明的精神而非用以限定本发明的保护范围,应理解下列实施例可经由软件、硬件、固件、或上述任意组合来实现。
图1是显示根据本发明的一实施例所述的数据储存装置的方块图范例。数据储存装置100可包括一存储器装置120与一存储器控制器110。存储器控制器110用以存取(Access)存储器装置120及控制存储器装置120的运作。存储器装置120可为一非挥发性(non-volatile,缩写为NV)存储器装置(例如,一快闪存储器(flash memory)),并且可包括一或多个记忆元件(例如,一或多个快闪存储器晶粒、一或多个快闪存储器晶片、或其他类似元件)。
数据储存装置100可耦接至一主机装置130。主机装置130可至少包括一处理器、一电源电路、以及至少一随机存取存储器(Random Access Memory,缩写为RAM),例如至少一动态随机存取存储器(Dynamic RAM,缩写为DRAM)、至少一静态随机存取存储器(StaticRAM,缩写为SRAM)等(以上未示于图1)。处理器与随机存取存储器可透过一总线彼此相互连接,并且可耦接至电源电路以取得电源。处理器可控制主机装置130的运作。电源电路可将电源供应至处理器、随机存取存储器以及数据储存装置100,例如输出一或多个驱动电压至数据储存装置100。数据储存装置100可自主机装置130取得所述驱动电压作为数据储存装置100的电源,并且为主机装置130提供储存空间。
根据本发明的一实施例,存储器控制器110可包括一微处理器112、一只读存储器(Read Only Memory,缩写为ROM)112M、一存储器接口114、一缓冲存储器116、与一主机接口118。只读存储器112M用以储存程序码112C。而微处理器112则用来执行程序码112C以控制对存储器装置120的存取。程序码112C可包括一或多个程序模组,例如启动载入(bootloader)程序码。当数据储存装置100自主机装置130取得电源时,微处理器112可藉由执行程序码112C执行数据储存装置100的一初始化程序。于初始化程序中,微处理器112可自存储器装置120载入一组系统内编程(In-System Programming,缩写为ISP)程序码(未示于图1)。微处理器112可执行该组系统内编程程序码,使得数据储存装置100可具备各种功能。根据本发明的一实施例,该组系统内编程程序码可包括,但不限于:一或多个与存储器存取(例如,读取、写入与抹除)相关的程序模组,例如一读取操作模组、一查找表格模组、一损耗均衡(wear leveling)模组、一读取刷新(read refresh)模组、一读取回收(read reclaim)模组、一垃圾回收模组、一非预期断电恢复(Sudden Power Off Recovery,缩写为SPOR)模组、以及一不可更正错误更正码(Uncorrectable Error Correction Code,缩写为UECC)模组,其分别被提供用以执行对应的读取、查找表格、损耗均衡、读取刷新、读取回收、垃圾回收、非预期断电恢复以及对侦测到的UECC错误进行错误处理等操作。
存储器接口114包含了一编码器132以及一解码器134,其中编码器132用来对需被写入存储器装置120的数据进行编码,例如执行错误更正码(ECC)编码,而解码器134用来对从存储器装置120所读出的数据进行解码。
于典型状况下,存储器装置120包含了多个记忆元件,例如多个快闪存储器晶粒或多个快闪存储器晶片,各记忆元件可包含多个个存储器区块(Block)。存储器控制器110对存储器装置120进行抹除数据运作是以区块为单位来进行。另外,一存储器区块可记录(包含)特定数量的数据页(Page),例如,实体数据页,其中存储器控制器110对存储器装置120进行写入数据的运作是以数据页为单位来进行写入。
实作上,存储器控制器110可利用其本身内部的元件来进行诸多控制运作,例如:利用存储器接口114来控制存储器装置120的存取运作(尤其是对至少一存储器区块或至少一数据页的存取运作)、利用缓冲存储器116进行所需的缓冲处理、以及利用主机接口118来与主机装置130沟通。
在一实施例中,存储器控制器110透过主机接口118并使用一标准通讯协定与主机装置130沟通。举例而言,上述的标准通讯协定包含(但不限于):通用序列总线(UniversalSerial Bus,缩写为USB)标准、SD接口标准、超高速一代(Ultra High Speed-I,缩写为UHS-I)接口标准、超高速二代(Ultra High Speed-II,缩写为UHS-II)接口标准、CF接口标准、MMC接口标准、eMMC接口标准、UFS接口标准、高技术组态(Advanced TechnologyAttachment,缩写为ATA)标准、序列高技术组态(Serial ATA,缩写为SATA)标准、快捷外设互联标准(Peripheral Component Interconnect Express,缩写为PCI-E)标准、并列先进附件(Parallel Advanced Technology Attachment,缩写为PATA)标准等。
在一实施例中,缓冲存储器116是以随机存取存储器来实施。例如,缓冲存储器116可以是静态随机存取存储器,但本发明亦不限于此。于其他实施例中,缓冲存储器116可以是动态随机存取存储器。
在一实施例中,数据储存装置100可以是可携式存储器装置(例如:符合SD/MMC、CF、MS、XD标准的记忆卡),且主机装置130为一可与数据储存装置连接的电子装置,例如手机、笔记型电脑、桌上型电脑…等等。而在另一实施例中,数据储存装置100可以是固态硬碟或符合UFS或eMMC规格的嵌入式储存装置,并且可被设置在一电子装置中,例如设置在手机、笔记型电脑、桌上型电脑之中,而此时主机装置130可以是该电子装置的一处理器。
主机装置130可对数据储存装置100发出指令,例如,读取指令或写入指令,用以存取存储器装置120所储存的数据,或者主机装置130可对数据储存装置100发出指令以进一步控制、管理数据储存装置100。
存储器装置120可储存一全域逻辑至实体(Logical to Physical,缩写为L2P)(或称主机至快闪存储器(Host to Flash,缩写为H2F))映射表格,供存储器控制器110存取存储器装置120的数据时使用。全域L2P映射表格可位于存储器装置120的一既定区域,例如一系统区域,但本发明并不限于此。全域L2P映射表格可被分为多个区域L2P映射表格,区域L2P映射表格可被储存于相同或不同的记忆元件内。例如,一记忆元件可储存一个区域L2P映射表格。于需要时,存储器控制器110可将全域L2P映射表格的至少一部分(例如,一部分或全部)载入缓冲存储器116或其他存储器内。例如,存储器控制器110可载入一区域L2P映射表格作为一暂时的L2P映射表格,用以根据此区域L2P映射表格存取存储器装置120的数据,但本发明并不限于此。
为了改善读取效能,近期已发布了主机性能增强器(Host Performance Booster,缩写为HPB)系列标准。HPB利用主机装置端的一个存储器装置(例如,主机装置130的DRAM)暂存于UFS装置端(例如,依循UFS规格实施的数据储存装置100)所维护的映射资讯。所述映射资讯可自前述的全域或区域L2P映射表格中取得。借助此映射资讯,主机装置130可发出带有主机装置130所欲读取的逻辑地址(例如,逻辑区块地址(logical block addresses,缩写为LBAs)所对应的实体地址的相关资讯(例如,实体区块地址(physical blockaddresses,缩写为PBAs)的特定读取指令(以下称为HPB读取(HPB READ)指令)以读取数据,其中所述实体地址的相关资讯可被承载于一或多个HPB项目(HPB entry)中。如此一来,存储器控制器110可节省自存储器装置120读取及载入全域或区域L2P映射表格所花费的时间,以及节省于载入的L2P映射表格中搜寻出主机装置130所欲读取的逻辑地址所对应的实体地址所花费的时间。藉此,读取效能可被改善。
一般而言,存储器装置120可被划分为多个分区,各分区可被视为一个逻辑单元,且各逻辑单元可对应于多个逻辑区块地址。图2是显示逻辑单元200与其对应的逻辑区块地址的一个范例。如HPB规格所定义,各逻辑单元所对应的逻辑区块地址(例如,逻辑区块地址LBA0~LBA Z,其中Z为正整数)可被划分为多个个HPB区域(例如,HPB区域HPB_Rgn_0~HPB_Rgn_(N-1),其中N为大于1的一正整数),并且各HPB区域可进一步被划分为多个HPB子区域(例如,HPB子区域HPB_Sub_Rgn_0~HPB_Sub_Rgn_(L-1),其中L为一正整数)。一个HPB子区域的大小可小于或等于一个HPB区域的大小。为简化说明,以下将HPB子区域简称为子区域,以及将HPB区域简称为区域。
于本发明的实施例中,有两种取得HPB项目的模式,包括主机控制模式与装置控制模式。
图3为一示意图,用以显示于主机控制模式下可有的操作。于主机控制模式下,主机系统(例如,主机装置130)可确认要被活化(activate)的新的子区域(操作A-1),并发出一HPB读取缓冲(HPB READ BUFFER)指令(操作A-2),以请求要被活化的子区域所对应的HPB项目。响应于HPB读取缓冲指令的接收,UFS装置(例如,存储器控制器110)可自存储器装置120读取L2P映射表格的至少一部分(例如,读取全域L2P映射表格或区域L2P映射表格),该部分是对应于选定要被活化的子区域,并且根据L2P映射表格所记录的映射资讯提供HPB项目(操作A-3)。UFS装置接着可透过送入数据(DATA IN)的通用快闪存储器储存通讯协定资讯单元(UFS Protocol Information Unit,缩写为UPIU)封包将HPB项目传送至主机系统(操作A-4)。主机系统可于系统存储器内配置一HPB区域(亦可称为HPB快取区),用以储存HPB项目(操作A-5)。
主机系统亦可确认要被去活化(deactivate)的区域(操作B-1),并发出一HPB写入缓冲(HPB WRITE BUFFER)指令,以请求将一区域去活化(操作B-2)。UFS装置可响应于HPB写入缓冲指令的接收将对应的区域去活化(操作B-3)。
此外,当UFS装置判断需要更新任何子区域所对应的HPB项目时,例如,当UFS装置修改了一已活化的子区域所对应的L2P映射资讯(操作C-1),UFS装置可传送一回应UPIU封包至主机系统,以建议主机系统更新子区域所对应的HPB项目(操作C-2)。响应于回应UPIU封包的接收,主机系统可发出一HPB读取缓冲指令(操作C-3),并将之传送给UFS装置以请求已活化的子区域所对应的更新过的HPB项目(操作C-4)。响应于HPB读取缓冲指令的接收,UFS装置可读取L2P映射表格中的对应于已活化的子区域的部分,并且根据L2P映射表格所记录的映射资讯提供HPB项目(操作C-5)。同样地,UFS装置接着可透过送入数据的通用快闪存储器储存通讯协定资讯单元(DATA IN UPIU)封包将HPB项目传送至主机系统(操作C-6)。主机系统可根据接收到的资讯更新HPB快取区内所储存的HPB项目(操作C-7)。
图4为一示意图,用以显示于装置控制模式下可有的操作。于装置控制模式下,UFS装置可确认要被活化的新的子区域及/或要被去活化的区域(操作D-1),并传送一回应UPIU封包至主机系统,以建议主机系统活化选定的新的子区域或去活化选定的区域(操作D-2)。对于将选定的区域去活化,主机系统可舍弃不再活化的区域所对应的HPB项目(操作D-3)。对于活化的新的子区域,主机系统可发出一HPB读取缓冲指令,并将之传送给UFS装置以请求要被活化的子区域所对应的HPB项目(操作D-4)。类似地,响应于HPB读取缓冲指令的接收,UFS装置可自存储器装置120读取L2P映射表格的至少一部分(例如,读取全域L2P映射表格或区域L2P映射表格),该部分是对应于选定要被活化的子区域,并且根据L2P映射表格所记录的映射资讯提供HPB项目(操作D-5)。UFS装置接着可透过送入数据的通用快闪存储器储存通讯协定资讯单元(DATA IN UPIU)封包将HPB项目传送至主机系统(操作D-6)。主机系统可于系统存储器内配置一HPB区域(亦可称为HPB快取区),用以储存HPB项目(操作D-7)。
图5是显示HPB项目的一个范例格式。于本发明的一实施例中,一个HPB项目的大小为8位元组(Byte)。于此范例格式中,4位元组用以记载自L2P映射表格(例如,全域或区域L2P映射表格,或者由存储器控制器110载入缓冲存储器116的暂时的L2P映射表格)取得的映射资讯(例如,实体地址),而其余4位元组用以记载另一实体地址,此实体地址是快闪存储器内实际用以储存前述全域或区域L2P映射表格的地址。更具体的说,于图5所示的范例格式中,第一个4位元组大小的PBA与第二个4位元组大小的PBA被合并形成一个HPB项目,其中第一个PBA为储存于表格1(亦称为T1表格)的实体区块地址,此实体区块地址为一逻辑区块地址所映射的实体区块地址,而第二个PBA为储存于表格2(亦称为T2表格)的实体区块地址,此实体区块地址则为T1表格的实体区块地址。于此,T1表格可以是存储器装置120内所储存的全域或区域L2P映射表格,T2表格可以一个系统表格,用以记录各管理表格(例如,全域或区域L2P映射表格)实际被储存于存储器装置120的实体地址。
由于当一管理表格(例如,全域或区域L2P映射表格)的内容(例如,映射资讯)需被更新时,存储器控制器110可配置另一个存储器空间储存此管理表格更新后的内容,因此,当由一逻辑区块地址所映射的实体区块地址改变时,不仅T1表格的内容需要修改,T1表格的更新内容也会被储存于存储器装置120的另一个新的储存空间。因此,系统表格内所记录的T1表格所对应的实体地址也会随之改变。如此一来,HPB项目内所记载的T2表格的内容便能用于验证由此HPB项目所对应的一逻辑区块地址所映射的实体区块地址所储存数据是否仍为有效数据。当HPB项目所记载的T2表格内容与存储器控制器110所维护的最新的T1表格的实体地址相符时,代表储存于此HPB项目所记载的实体区块地址(T1表格内容)的数据仍为有效数据。反之,代表储存于此HPB项目所记载的实体区块地址的数据已为无效数据。需注意的是,前述一实体区块地址所储存的数据是否仍为有效数据的验证可由数据储存装置端的存储器控制器110执行。
以下HPB项目表格1为第一个HPB项目表格范例,其中“…”的标记是表示为了简洁起见而省略一些表格内容。HPB项目表格1中标示的T2表格内容与T1表格内容(例如,十六进制的值)可分别代表自前述T2表格与T1表格取得的内容。T1表格内容栏位中所例示的实体地址{0x0000A000,0x0000A001,…}可做为由与HPB项目{0,1…}相关联的一序列的逻辑地址所映射的实体地址的实例,而反复出现于T2表格内容栏位所记录的一序列实体地址{0x00004030,0x00004030,…}中的实体地址0x00004030则做为T1表格的实体地址的实例,而于此T1表格可以是一区域L2P映射表格。
HPB项目表格1
HPB项目 T2表格内容 T1表格内容
0 0x00004030 0x0000A000
1 0x00004030 0x0000A001
2 0x00004030 0x0000A002
3 0x00004030 0x0000A003
4 0x00004030 0x0000A004
5 0x00004030 0x0000A005
6 0x00004030 0x0000B009
7 0x00004030 0x0000A007
8 0x00004030 0x0000A008
9 0x00004030 0x0000A009
10 0x00004030 0x0000A00A
11 0x00004030 0x0000B00A
12 0x00004030 0x0000A00C
图6是显示HPB项目的另一个范例格式。于此范例格式中,28位元用于承载自L2P映射表格(例如,全域或区域L2P映射表格,或者由存储器控制器110载入缓冲存储器116的暂时的L2P映射表格)取得的映射资讯,24位元用于承载全域或区域L2P映射表格实际被储存于快闪存储器内哪个的实体地址的资讯,而剩余的12位元则用于承载相关联的LBA的连续性资讯。更具体的说,于图6所示的范例格式中,第一个PBA、第二个PBA与一LBA的连续性资讯可被合并形成一个HPB项目,其中第一个PBA为储存于T1表格的实体区块地址,此实体区块地址为前述LBA所映射的实体区块地址,第二个PBA为储存于T2表格的实体区块地址,此实体区块地址则为T1表格的实体区块地址。于本发明的实施例中,连续性资讯可由能指示出连续长度的一个数值或者一个连续位元表格来表示。
以下HPB项目表格2为第二个HPB项目表格范例,其中“…”的标记是表示为了简洁起见而省略一些表格内容。T1表格内容栏位中所例示的实体地址{0x000A000,0x000A001,…,0x000A005,0x000B009,0x000A007,…,0x000A00A,0x000B00A,0x000A00C,…}可做为由与HPB项目{0,1…}相关联的一序列的逻辑地址所映射的实体地址的实例,反复出现于T2表格内容栏位所记录的一序列实体地址{0x00004030,0x00004030,…}中的实体地址0x00004030则做为T1表格的实体地址的实例,而于此T1表格可以是一区域L2P映射表格。
HPB项目表格2
HPB项目 连续长度 T2表格内容 T1表格内容
0 0x5 0x004030 0x000A000
1 0x4 0x004030 0x000A001
2 0x3 0x004030 0x000A002
3 0x2 0x004030 0x000A003
4 0x1 0x004030 0x000A004
5 0x0 0x004030 0x000A005
6 0x0 0x004030 0x000B009
7 0x3 0x004030 0x000A007
8 0x2 0x004030 0x000A008
9 0x1 0x004030 0x000A009
10 0x0 0x004030 0x000A00A
11 0x0 0x004030 0x000B00A
12 0x004030 0x000A00C
此外,存储器控制器110可分别计算并产生(例如,记录及/或更新)在HPB项目表格所相关联的多个实体地址中,接续在一个HPB项目所对应的实体地址之后的连续实体地址数量,并以此作为前述连续长度。举例而言,对于HPB项目0,存储器控制器110可计算并产生(例如,记录及/或更新)在实体地址{0x000A000,0x000A001,…,0x000A005,0x000B009,0x000A007,…,0x000A00A,0x000B00A,0x000A00C,…}中,接续在实体地址0x000A000之后的连续实体地址(例如,实体地址{0x000A001,…,0x000A005})的数量,作为HPB项目0所对应的连续长度(例如,于此范例为0x5)。对于HPB项目1,存储器控制器110可计算并产生(例如,记录及/或更新)在实体地址{0x000A000,0x000A001,…,0x000A005,0x000B009,0x000A007,…,0x000A00A,0x000B00A,0x000A00C,…}中,接续在实体地址0x000A001之后的连续实体地址{0x000A002,…,0x000A005}的数量,作为HPB项目1所对应的连续长度(例如,于此范例为0x4)。其余项目则以此类推。
以下HPB项目表格3为第三个HPB项目表格范例,其中“…”的标记是表示为了简洁起见而省略一些表格内容。T1表格内容栏位中所例示的实体地址{0x000A000,0x000A001,…,0x000A005,0x000B009,0x000A007,…,0x000A00A,0x000B00A,0x000A00C,…}可做为由与HPB项目{0,1…}相关联的一序列的逻辑地址所映射的实体地址的实例,反复出现于T2表格内容栏位所记录的一序列实体地址{0x00004030,0x00004030,…}中的实体地址0x00004030则做为T1表格的实体地址的实例,而于此T1表格可以是一区域L2P映射表格。
HPB项目表格3
Figure BDA0002920542060000111
Figure BDA0002920542060000121
此外,存储器控制器110可分别确认在HPB项目表格所相关联的多个实体地址中,接续在一个HPB项目所对应的实体地址之后的多个实体地址的连续性,以产生可指示出后续多个实体地址的连续性的连续位元表格。举例而言,对于HPB项目0,存储器控制器110可分别确认在实体地址{0x000A000,0x000A001,…,0x000A005,0x000B009,0x000A007,…,0x000A00A,0x000B00A,0x000A00C,0x000A00D,0x000A00E,0x000A00F,…}中,接续在实体地址0x000A000之后的12个实体地址(例如,实体地址{0x000A001,…,0x000A005,0x000B009,0x000A007,…,0x000A00A,0x000B00A,0x000A00C})的连续性,以产生连续位元表格0xBDF,其可指示出后续12个实体地址{0x000A001,…,0x000A005,0x000B009,0x000A007,…,0x000A00A,0x000B00A,0x000A00C}的连续性,连续位元表格以位元展开表示则可为,例如,从最低有效位元(Least Significant Bit,缩写LSB)开始到最高有效位元(Most Significant Bit,缩写MSB)的101111011111,其中的第0-11个位元(例如,从LSB开始的12个位元)可分别指示出后续的12个实体地址{0x000A001,…,0x000A005,0x000B009,0x000A007,…,0x000A00A,0x000B00A,0x000A00C}的连续性。对于HPB项目1,存储器控制器110可分别确认在实体地址{0x000A000,0x000A001,…,0x000A005,0x000B009,0x000A007,…,0x000A00A,0x000B00A,0x000A00C,0x000A00D,0x000A00E,0x000A00F,…}中,接续在实体地址0x000A001之后的12个实体地址{0x000A002,…,0x000A005,0x000B009,0x000A007,…,0x000A00A,0x000B00A,0x000A00C,0x000A00D}的连续性,以产生连续位元表格0xDEF,其可指示出后续12个实体地址{0x000A002,…,0x000A005,0x000B009,0x000A007,…,0x000A00A,0x000B00A,0x000A00C,0x000A00D}的连续性,连续位元表格以位元展开表示则可为,例如,从LSB开始到MSB的110111101111,其中的第0-11个位元(例如,从LSB开始的12个位元)可分别指示出后续的12个实体地址{0x000A002,…,0x000A005,0x000B009,0x000A007,…,0x000A00A,0x000B00A,0x000A00C,0x000A00D}的连续性。其余项目则以此类推。
借助HPB项目所提供的资讯,主机装置130可发出前述HPB读取指令,此HPB读取指令可承载主机装置130试图读取的起始逻辑地址、传输长度(TRANSFER LENGTH)、以及HPB项目所记载的内容等相关资讯,用以读取数据。图7为一示意图,用以显示HPB读取指令的对应操作。主机系统可自HPB快取区取得所需的HPB项目资讯,并且传送一HPB读取指令给UFS装置(操作E-1),此HPB读取指令带有一逻辑区块地址LBA(例如,起始LBA)、此LBA所对应的HPB项目内容以及传输长度,并透过HPB读取指令UPIU封包传送(操作E-2)。于一特定实施例中,传输长度可被限定为1,但本发明并不限于此。于本发明的其他实施例中,传输长度可被设定为任意正整数。例如,于HPB 2.0标准中,传输长度可被设定为大于1的正整数。于接收到HPB读取指令时,UFS装置可解码此对应于主机系统试图读取的一个选定的LBA的HPB项目,以取得此选定的LBA所对应的实体地址或PBA的相关资讯,并且根据此实体地址或PBA的相关资讯存取存储器装置,以取得主机系统试图读取的数据(操作E-3)。UFS装置可于操作E-3中判断接收到的HPB项目是否仍为有效。例如,透过前述判断HPB项目所记载的T2表格内容与存储器控制器110所维护的最新的T1表格的实体地址是否相符判断HPB项目是否仍为有效。若HPB项目的内容为有效的,UFS装置可取得主机装置130试图读取的数据(即,图中所示的“逻辑区块数据”),并传送一或多个送入数据的通用快闪存储器储存通讯协定资讯单元(DATA IN UPIU)封包至主机系统,以传送此数据(操作E-4)给主机系统,并且于数据传输完成后传送回应UPIU封包(操作E-5)至主机系统,其中所述“逻辑区块数据”是指主机装置130所选定欲读取的逻辑地址LBA所对应的数据。另一方面,若判断接收到的HPB项目为无效的,则UFS装置可略过操作E-4,直接执行操作E-5,藉由传送一回应UPIU封包至主机系统,以建议主机系统更新对应的HPB项目。
需注意的是,于本发明的一些实施例中,UFS装置端可主动地建议主机系统更新HPB项目,例如,于前述操作C-2或操作D-2中UFS装置端藉由传送一回应UPIU封包主动地建议主机系统更新HPB项目或建议主机系统活化新的子区域。而于本发明的另一些实施例中,UFS装置端也可不主动地建议主机系统更新HPB项目。于该些实施例中,UFS装置端可改为在判断HPB项目为无效的之后,再藉由传送一回应UPIU封包至主机系统,以建议主机系统更新对应的HPB项目。例如,UFS装置于接收到HPB读取指令后,若于前述操作E-3中判断HPB项目为无效的,透过回应UPIU封包建议主机系统更新对应的HPB项目。
由于传输长度可被设定为大于1的正整数,即,主机装置130可试图利用HPB项目的资讯快速读取的一个以上LBA的数据,因此,如何改善连续逻辑地址的数据实际被储存于存储器装置120的连续性成为一个值得关注的议题。
于本发明的实施例中,存储器控制器110可记录及/或分析主机装置130的存取行为、根据记录的主机装置130的存取行为选择一或多个要进行数据重整或数据重排的子区域,并且主动地执行一数据重整或数据重排程序,用以将被选择的该至少一个子区域的数据搬移至存储器装置120中具有连续实体地址的一记忆空间(例如,一存储器区块)。
根据本发明的第一实施例,存储器控制器110可建立一活化次数表格(例如,子区域活化次数表格),并且响应于由主机装置130发出的指令维护或更新活化次数表格的内容。活化次数表格可包括多个栏位,各栏位用以记录相关联的一子区域(例如,前述的HPB子区域)所对应的一活化次数。因此,活化次数表格所包含的栏位总数可等于记忆装置120所包含的HPB子区域总数。如上所述,存储器装置120可被划分为多个分区,各分区可被视为一个逻辑单元,且各逻辑单元可对应于多个逻辑区块地址。各逻辑单元所对应的逻辑区块地址可被划分为多个个HPB区域,并且各HPB区域可进一步被划分为多个HPB子区域。因此,于本发明的实施例中,各逻辑单元可包括多个区域,并且各区域包括多个子区域。
于本发明的第一实施例中,一子区域所对应的活化次数是用以记录该子区域被主机装置130活化的次数。例如,活化次数可为一计数值,用以计算对应的子区域请求被活化的次数。根据本发明的一实施例,存储器控制器110可响应于由主机装置130发出的HPB读取缓冲(HPB READ BUFFER)指令更新活化次数表格的内容。如上所述,主机系统(例如,主机装置130)可确认要被活化的新的子区域,并发出一HPB读取缓冲指令,以请求要被活化的子区域所对应的HPB项目。因此,一或多个要被活化的子区域会被主机装置130标识于HPB读取缓冲指令,或其相关资讯会被承载于HPB读取缓冲指令中。响应于HPB读取缓冲指令的接收,存储器控制器110可藉由增加HPB读取缓冲指令中标识出的一或多个要被活化的子区域所对应的一或多个活化次数更新活化次数表格的内容(例如,为每次的活化加1)。
根据本发明的一实施例,存储器控制器110还可将活化次数表格中记录的活化次数排序,并且根据排序过的活化次数选择一或多个要进行数据重排的子区域。例如,存储器控制器110可选择一或多个活化次数高于一既定值的子区域作为要进行数据重排的子区域。于一实施例中,存储器控制器110可依序根据排序过的活化次数选择出目前活化次数最多的子区域,并且对所选的子区域执行对应的数据重排程序,接着将已被数据重排过的子区域所对应的活化次数自排序过的活化次数中移除。于需要时,前述的选择与数据重排程序可反复地对不同子区域执行。
图8是显示根据本发明的第一实施例所述的数据处理方法流程图。本发明的数据处理方法适用于一数据储存装置,可由存储器控制器110执行并包括以下步骤:
S802:建立一活化次数表格,并且响应于由一主机装置发出的一指令更新活化次数表格的内容。于本发明的实施例中,主机装置会在指令中指出一或多个要被活化的子区域。
S804:根据活化次数表格的内容选择至少一个子区域。
S806:执行一数据重排程序,用以将被选择的至少一个子区域的数据搬移(或者重新写入)至存储器装置中具有连续实体地址的一记忆空间。
需注意的是,第一实施例所述的数据处理方法可被应用于主机控制模式或装置控制模式。
根据本发明的第二实施例,存储器装置110可建立一读取次数表格(例如,子区域读取次数表格),并且响应于由主机装置130发出的读取指令维护或更新读取次数表格的内容,所述读取指令带有至少一个选定的逻辑地址。读取次数表格可包括多个栏位,各栏位用以记录相关联的一子区域(例如,前述的HPB子区域)所对应的一读取次数。因此,读取次数表格所包含的栏位总数可等于记忆装置120所包含的HPB子区域总数。如上所述,存储器装置120可被划分为多个分区,各分区可被视为一个逻辑单元,且各逻辑单元可对应于多个逻辑区块地址。各逻辑单元所对应的逻辑区块地址可被划分为多个个HPB区域,并且各HPB区域可进一步被划分为多个HPB子区域。因此,于本发明的实施例中,各逻辑单元可包括多个区域,并且各区域包括多个子区域。
于本发明的第二实施例中,一子区域所对应的读取次数是用以记录该子区域被主机装置130读取的次数。例如,读取次数可为一计数值,用以计算主机装置130发出指令读取对应的子区域所包含的逻辑地址的数据的次数。根据本发明的一实施例,存储器控制器110可响应于由主机装置130发出的一般读取指令更新读取次数表格的内容。响应于带有一起始逻辑区块地址与一欲读取的数据长度(以下称为读取长度)的一读取指令的接收,存储器控制器110可藉由增加选定的逻辑地址(例如,起始逻辑区块地址及根据起始逻辑区块地址与读取长度推算出来后续的逻辑区块地址)所属之一或多个子区域所对应之一或多个读取次数更新读取次数表格的内容(例如,为每次的读取加1)。根据本发明的另一实施例,存储器控制器110可响应于由主机装置130所发出带有读取长度大于一既定读取长度临界值以选定一个以上要读取的逻辑地址的读取指令更新读取次数表格的内容。例如,存储器控制器110可藉由增加选定的逻辑地址(例如,起始逻辑区块地址及根据起始逻辑区块地址与读取长度推算出来后续的逻辑区块地址)所属之一或多个子区域所对应之一或多个读取次数更新读取次数表格的内容(例如,为每次的读取加1)。
根据本发明的一实施例,存储器控制器110还将读取次数表格中记录的读取次数排序,并且根据排序过的读取次数选择一或多个要进行数据重排的子区域。例如,存储器控制器110可选择一或多个读取次数高于一既定值的子区域作为要进行数据重排的子区域。于一实施例中,存储器控制器110可依序根据排序过的读取次数选择出目前读取次数最多的子区域,并且对所选的子区域执行对应的数据重排程序,接着将已被数据重排过的子区域所对应的读取次数自排序过的读取次数中移除。于需要时,前述的选择与数据重排程序可反复地对不同子区域执行。
根据本发明的另一实施例,存储器控制器110可根据读取次数表格所记录的读取次数计算一平均读取次数,并且根据平均读取次数选择至少一个子区域。例如,存储器控制器110可选择一或多个读取次数高于平均读取次数的子区域作为要进行数据重排的子区域。
图9是显示根据本发明的第二实施例所述的数据处理方法流程图。本发明的数据处理方法适用于一数据储存装置,可由存储器控制器110执行并包括以下步骤:
步骤S902:建立一读取次数表格,并且响应于由一主机装置发出的一读取指令更新读取次数表格的内容。于本发明的实施例中,读取指令带有至少一个选定的逻辑地址。
步骤S904:根据读取次数表格的内容选择至少一个子区域。
步骤S906:执行一数据重排程序,用以将属于被选择的至少一个子区域的逻辑地址的数据(即,被选择的至少一个子区域的数据)搬移(或者重新写入)至存储器装置中具有连续实体地址的记忆空间。
需注意的是,第二实施例所述的数据处理方法可被应用于主机控制模式或装置控制模式。
根据本发明的第三实施例,存储器装置110可建立另一读取次数表格(例如,子区域HPB读取次数表格)(为了与本发明的第二实施例所述的读取次数表格有所区隔,以下称的为HPB读取次数表格),并且响应于由主机装置130发出的带有大于1的传输长度的HPB读取指令维护或更新HPB读取次数表格的内容,其中主机装置130藉由带有大于1的传输长度的HPB读取指令选定一个以上要被读取的逻辑地址。HPB读取次数表格可包括多个栏位,各栏位用以记录相关联的一子区域(例如,前述的HPB子区域)所对应的一HPB读取次数。因此,HPB读取次数表格所包含的栏位总数可等于记忆装置120所包含的HPB子区域总数。
于本发明的第三实施例中,一子区域所对应的HPB读取次数是用以记录该子区域被主机装置130透过发出HPB读取指令读取的次数。例如,HPB读取次数可为一计数值,用以计算主机装置130发出HPB读取指令读取对应的子区域所包含的逻辑地址的数据的次数。根据本发明的一实施例,存储器控制器110可响应于由主机装置130发出的带有传输长度大于1的HPB读取指令更新HPB读取次数表格的内容。响应于带有一起始逻辑区块地址与大于1的传输长度的一HPB读取指令的接收,存储器控制器110可藉由增加被选定的逻辑地址(例如,起始逻辑区块地址及根据起始逻辑区块地址与传输长度推算出来后续的逻辑区块地址)所属之一或多个子区域所对应之一或多个HPB读取次数更新HPB读取次数表格的内容(例如,为每次的HPB读取加1)。
根据本发明的一实施例,存储器控制器110还可将HPB读取次数表格中记录的HPB读取次数排序,并且根据排序过的HPB读取次数选择一或多个要进行数据重排的子区域。例如,存储器控制器110可选择一或多个HPB读取次数高于一既定值的子区域作为要进行数据重排的子区域。于一实施例中,存储器控制器110可依序根据排序过的HPB读取次数选择出目前HPB读取次数最多的子区域,并且对所选的子区域执行对应的数据重排程序,接着将已被数据重排过的子区域所对应的HPB读取次数自排序过的HPB读取次数中移除。于需要时,前述的选择与数据重排程序可反复地对不同子区域执行。
根据本发明的另一实施例,存储器控制器110可根据HPB读取次数表格所记录的HPB读取次数计算一平均HPB读取次数,并且根据平均HPB读取次数选择至少一个子区域。例如,存储器控制器110可选择一或多个HPB读取次数高于平均HPB读取次数的子区域作为要进行数据重排的子区域。
图10是显示根据本发明的第三实施例所述的数据处理方法流程图。本发明的数据处理方法适用于一数据储存装置,可由存储器控制器110执行并包括以下步骤:
步骤S1002:建立一读取次数表格(例如,HPB读取次数表格),并且响应于由一主机装置发出的一读取指令(例如,HPB读取指令)更新读取次数表格的内容,其中读取指令带有大于1的一传输长度,以选定一个以上要被读取的逻辑地址。
步骤S1004:根据读取次数表格的内容选择至少一个子区域。
步骤S1006:执行一数据重排程序,用以将属于被选择的至少一个子区域的这些逻辑地址的数据(即,被选择的至少一个子区域的数据)搬移(或者重新写入)至存储器装置中具有连续实体地址的记忆空间。
需注意的是,第三实施例所述的数据处理方法可被应用于主机控制模式或装置控制模式。
此外,于本发明的一些实施例中,数据重排程序(例如,于前述第一、第二与第三实施例之任一者中所述的数据重排程序)可为一垃圾回收程序,或者可被合并于一垃圾回收程序中,而前述的要进行数据重排的子区域的选择可于一垃圾回收程序被触发时连带被触发。更具体的说,当任一可触发数据回收程序的条件达成时(例如,当闲置存储器区块(spare memory block)的总数量低于一既定闲置存储器区块临界值时),除了选择存有需被搬移(或者,重新写入)至目的存储器区块的有效数据的来源存储器区块外,存储器控制器110可进一步选择一或多个要进行数据重排的子区域,并且执行对应的数据重排程序,用以将被选择的子区域的数据搬移(或者重新写入)至存储器装置中具有连续实体地址的记忆空间。
于本发明的其他实施例中,数据重排程序也可被合并于其他数据搬移程序中,例如,用以将一或多个抹除次数高于一既定抹除次数临界值的存储器区块的数据搬移至抹除次数相对少的存储器区块的一损耗均衡(wear leveling)程序、用以将具有ECC错误位元数量高于一既定错误位元数量的数据搬移至一新的存储器区块的一读取回收(readreclaim)程序、用以将具有读取次数高于一既定读取次数临界值的数据搬移至一新的存储器区块的一读取刷新(read refresh)程序、或其他。此外,要进行数据重排的子区域的选择也可于数据搬移程序被触发时连带被触发。
于本发明的又另一些实施例中,数据重排程序也可于数据储存装置100闲置时(例如,当数据储存装置100于一既定期间内均未自主机装置130接收到任何指令时,数据储存装置100可进入闲置模式)被执行。
根据本发明的一实施例,在如前述第一、第二与第三实施例中将活化次数表格/读取次数表格/HPB读取次数表格中记录的活化次数/读取次数/HPB读取次数排序,并且根据排序过的活化次数/读取次数/HPB读取次数选择至少一个子区域后,存储器控制器110可进一步判断属于被选择的至少一个子区域的多个逻辑地址的数据是否并未被储存于连续实体地址。存储器控制器110可藉由根据属于被选择的至少一个子区域的多个逻辑地址查找L2P映射表格的内容以判断属于被选择的至少一个子区域的多个逻辑地址的数据是否被储存于连续实体地址。当属于被选择的至少一个子区域的逻辑地址的数据并未被储存于连续实体地址时,存储器控制器110将这些逻辑地址的数据搬移(或者,重新写入)至具有连续实体地址的记忆空间。当被选择的至少一个子区域的数据已被储存于连续实体地址时,存储器控制器110则可省略数据搬移的操作。具有连续实体地址的记忆空间可以是一存储器区块(例如,一目的存储器区块),或者一存储器区块中具有连续实体地址的一部分储存单元。
图11是显示根据本发明的一实施例所述的数据重排程序(例如,于前述第一、第二与第三实施例之任一者中所述的数据重排程序)的操作。存储器控制器110可根据逻辑地址的数值或索引值的内容推算出此逻辑地址属于哪个子区域以及哪个区域。图2已显示出一个逻辑地址(例如,逻辑区块地址LBA)与HPB区域/HPB子区域之间的关系的范例。此技术领域中具有通常知识者当可理解如何根据一逻辑地址推算出此逻辑地址属于哪个子区域以及哪个区域,故于此不再赘述。
于图11所示的范例中,假设一个HPB区域的大小为32百万位元组(MB),一个HPB子区域的大小为4百万位元组,并且一个逻辑区块地址的大小为4千位元祖(KB),则一个HPB子区域可包括1000个逻辑区块地址。因此,具有索引值(或数值)0~999的逻辑区块地址LBA 0~LBA 999属于索引值为0的HPB区域HPB_Rgn_0以及索引值为0的HPB子区域HPB_Sub_Rgn_0。
当存储器控制器110如上述实施例根据活化次数表格/读取次数表格/HPB读取次数表格的内容判断HPB子区域HPB_Sub_Rgn_0需要进行数据重排,并且选择出HPB子区域HPB_Sub_Rgn_0时,存储器控制器110可如图11所示将逻辑区块地址LBA 0~LBA 999的数据自实体地址{0x000A000,0x000A001,0x000A002,0x000B003,0x000A004,0x000A005,0x000B009,…}搬移至具有连续实体地址{0x0000C000,0x0000C001,0x0000C002,0x0000C003,0x0000C004,0x0000C005,0x0000C006,…}的一个新的记忆空间。
需注意的是,于本发明的一些实施例中,存储器控制器110也可对包含被选择的一或多个子区域的一或多个区域执行数据重排程序(例如,于前述第一、第二与第三实施例之任一者中所述的数据重排程序),用以将属于包含被选择的一或多个子区域的一或多个区域的所有逻辑地址的数据都搬移至存储器装置120中具有连续实体地址的记忆空间。此技术领域中具有通常知识者当可根据如图11所示的范例推导出将一整个区域的数据搬移至具有连续实体地址的记忆空间的数据重排操作,故于此不再赘述。
根据本发明的一实施例,存储器控制器110也可于一映射表格中为数据重排程序(例如,于前述第一、第二与第三实施例之任一者中所述的数据重排程序)中作为目的记忆空间使用的记忆空间对应地记录多个逻辑地址。例如,前述具有连续实体地址且于数据重排程序作为目的记忆空间使用的记忆空间可被包含于一存储器区块(于以下段落称之为目的存储器区块)。存储器控制器110可于目的存储器区块所对应的一映射表格中对应地记录多个逻辑地址。此映射表格可为一实体至逻辑(Physical to Logical,缩写为P2L)(或称快闪存储器至主机(Flash to Host,缩写为F2H))映射表格。不同于前述储存于存储器装置120的全域或区域L2P映射表格,对应于目的存储器区块的P2L映射表格可被储存于缓冲存储器116内,作为一临时的映射表格。
于本发明的一实施例中,P2L映射表格可包括多个栏位,P2L映射表格的一栏位对应于目的存储器区块的一个实体地址,用以记录此实体地址的映射资讯,其中四个实体地址可对应于一实体数据页。例如,一实体地址可用以储存4KB的数据,而一实体数据页的大小可为16KB。目的存储器区块的P2L映射表格内所记录的一个实体地址的映射资讯为储存于目的存储器区块的该实体地址的数据是指向哪个逻辑地址的实体至逻辑映射资讯。
此外,储存于存储器装置120的全域或区域L2P映射表格(以下一并称为L2P映射表格)可包括多个栏位,L2P映射表格的一栏位用以记录一逻辑地址的映射资讯。其中一逻辑地址可对应于一逻辑数据页。L2P映射表格内所记录的一逻辑地址或一逻辑数据页的映射资讯为存储器装置的哪个实体地址储存有此逻辑地址或逻辑数据页的数据的逻辑至实体映射资讯。
于本发明的实施例中,存储器控制器110还可响应于将被选择的一或多个子区域的数据搬移至目的存储器区块的操作更新目的存储器区块所对应的P2L映射表格的内容并且记录目的存储器区块的多个实体地址的实体至逻辑映射资讯。此外,于本发明的实施例中,于执行数据重排程序(例如,于前述第一、第二与第三实施例之任一者中所述的数据重排程序)后,存储器控制器110可进一步于更新目的存储器区块所对应的P2L映射表格的内容后,直接根据此更新过的内容更新L2P映射表格的内容。需注意的是,于执行数据重排程序后,即使目的存储器区块尚未被写满,存储器控制器110仍可直接根据更新过的目的存储器区块所对应的P2L映射表格的内容更新L2P映射表格的内容。即,于目的存储器区块尚未被写满之前,只要存储器控制器110执行过数据重排程序,即可根据目的存储器区块所对应的P2L映射表格的最新的内容更新L2P映射表格的内容。
此外,于本发明的实施例中,存储器控制器110还可建立一子区域连续性表格,并且于执行数据重排程序(例如,于前述第一、第二与第三实施例之任一者中所述的数据重排程序)后更新子区域连续性表格的内容。子区域连续性表格可包括多个栏位,各栏位与一子区域相关联,用以记录相关联的子区域的数据是否被储存于连续实体地址。例如,子区域连续性表格的各栏位可储存一位元。当一子区域的数据经由前述数据重排程序中被搬移至具有连续实体地址的记忆空间时,存储器控制器110可将与此子区域相关联的位元值设定为1。反之,与此子区域相关联的位元值可被设定为0(其可以是一预设值)。
借助子区域连续性表格所记录的资讯,于自主机装置130接收到HPB读取指令时,特别是当HPB读取指令所带的传输长度(TRANSFER LENGTH)大于1时,存储器控制器110可藉由检视子区域连续性表格中与HPB读取指令中所带的逻辑地址(例如,起始逻辑地址)所属的子区域相关联的位元值判断HPB读取指令中所带的逻辑地址是否属于数据被储存于连续实体地址的子区域(例如,判断子区域连续性表格中与起始逻辑地址所属的子区域相关联的位元值是否被设定为1)。若是,只要此起始逻辑地址之后的一或多个后续逻辑地址也属于数据被储存于连续实体地址的子区域,则存储器控制器110可直接根据编码于起始逻辑地址所对应的HPB项目中的实体地址推导出储存此起始逻辑地址之后的一或多个后续逻辑地址的数据的一或多个实体地址。如此一来,当藉由子区域连续性表格的内容判断出起始逻辑地址的数据与一或多个后续逻辑地址的数据被储存于连续的实体地址时,存储器控制器110可直接决定略过查找或搜寻L2P映射表格所记录的映射资讯以找出储存后续一或多个欲读取的逻辑地址的数据的一或多个实体地址的操作。因存储器控制器110仅需参考子区域连续性表格的内容便可推导出所需的实体地址,并判断是否可略过查找或搜寻L2P映射表格的操作,藉此可使存取操作的速度大幅提升。
需注意的是,由于数据的更新将导致子区域的数据被储存于不连续的实体地址,因此,当一个子区域所包含的任一逻辑地址的数据被更新且被储存于其他实体地址时,子区域连续性表格中所记录的与此子区域相关联的位元值将由1修改为0。
此外,需注意的是,于本发明的又一些实施例中,存储器控制器110可建立且同时维护一个以上的前述活化次数表格、读取次数表格与HPB读取次数表格,并且可根据记录于前述活化次数表格、读取次数表格与HPB读取次数表格的内容的任意组合选择一或多个要进行数据重排的子区域。例如,存储器控制器110可将前述表格中所记录各子区域所对应的活化次数、读取次数与HPB读取次数加总或取其平均值并加以排序后,根据排序过的加总或平均结果选择一或多个要进行数据重排的子区域。
当储存于存储器装置120的数据的连续性可藉由根据前述活化次数表格、读取次数表格及/或HPB读取次数表格所记录的资讯执行数据重排程序而被加强时,存取操作的速度可大幅地被提升,且存取效能也可大幅地被改善。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (15)

1.一种数据储存装置,包括:
一存储器装置,包括多个存储器区块,这些存储器区块对应于多个逻辑单元,各逻辑单元包括多个区域,并且各区域包括多个子区域;以及
一存储器控制器,耦接至该存储器装置,用以存取该存储器装置,并且响应于由一主机装置发出的一指令更新一活化次数表格的内容,其中一或多个要被活化的子区域被标识于该指令中;
其中该活化次数表格包括多个栏位,各栏位用以记录相关联的一子区域所对应的一活化次数,并且该存储器控制器藉由增加该指令中标识出的该一或多个要被活化的子区域所对应的一或多个活化次数更新该活化次数表格的内容,并且
其中该存储器控制器还根据该活化次数表格的内容选择至少一个子区域,并且执行一数据重排程序用以将被选择的该至少一个子区域的数据搬移至该存储器装置中具有连续实体地址的一第一记忆空间。
2.如权利要求1所述的数据储存装置,其特征在于,该存储器控制器还将该活化次数表格中记录的这些活化次数排序,并且根据排序过的这些活化次数选择该至少一个子区域。
3.如权利要求1所述的数据储存装置,其特征在于,该存储器控制器更判断属于被选择的该至少一个子区域的多个逻辑地址的数据是否被储存于连续实体地址,以及当属于被选择的该至少一个子区域的这些逻辑地址的数据并未被储存于连续实体地址时,该存储器控制器还将这些逻辑地址的数据搬移至具有连续实体地址的该第一记忆空间。
4.如权利要求1所述的数据储存装置,其特征在于,由该主机装置发出的该指令为一主机性能增强器(Host Performance Booster,缩写为HPB)读取缓冲指令。
5.如权利要求1所述的数据储存装置,其特征在于,该存储器控制器还于该数据重排程序中将包含被选择的该至少一个子区域的一区域的数据搬移至该存储器装置中具有连续实体地址的一第二记忆空间。
6.如权利要求1所述的数据储存装置,其特征在于,该第一记忆空间为一第一存储器区块,该存储器控制器还响应于将被选择的该至少一个子区域的数据搬移至该第一记忆空间的操作更新一第一映射表格的内容,该第一映射表格用以记录该第一存储器区块的多个实体地址的实体至逻辑映射资讯,并且该存储器控制器还于执行该数据重排程序后直接根据该第一映射表格的内容更新一第二映射表格的内容,其中该第二映射表格用以记录该存储器装置的多个逻辑地址的逻辑至实体映射资讯。
7.如权利要求1所述的数据储存装置,其特征在于,该存储器控制器还建立一子区域连续性表格,并且于执行该数据重排程序后更新该子区域连续性表格的内容,其中该子区域连续性表格包括多个栏位,各栏位与一子区域相关联,用以记录相关联的该子区域的数据是否被储存于连续实体地址。
8.一种数据处理方法,适用于一数据储存装置,其中该数据储存装置包括一存储器装置与一存储器控制器,该存储器装置包括多个存储器区块,这些存储器区块对应于多个逻辑单元,各逻辑单元包括多个区域,并且各区域包括多个子区域,该存储器控制器耦接至该存储器装置,用以存取该存储器装置,该数据处理方法由该存储器控制器所执行并包括:
建立一活化次数表格,并且响应于由一主机装置发出的一指令更新该活化次数表格的内容,其中该活化次数表格包括多个栏位,各栏位用以记录相关联的一子区域所对应的一活化次数,并且其中一或多个要被活化的子区域被标识于该指令中;
根据该活化次数表格的内容选择至少一个子区域;以及
执行一数据重排程序,用以将被选择的该至少一个子区域的数据搬移至该存储器装置中具有连续实体地址的一第一记忆空间。
9.如权利要求8所述的数据处理方法,其特征在于,该活化次数表格的内容是藉由增加该指令中标识出的该一或多个要被活化的子区域所对应的一或多个活化次数而被更新。
10.如权利要求8所述的数据处理方法,其特征在于,根据该活化次数表格的内容选择该至少一个子区域的步骤还包括:
将该活化次数表格中记录的这些活化次数排序;以及
根据排序过的这些活化次数选择该至少一个子区域。
11.如权利要求8所述的数据处理方法,其特征在于,执行该数据重排程序用以将被选择的该至少一个子区域的数据搬移至该存储器装置中具有连续实体地址的该第一记忆空间的步骤还包括:
判断属于被选择的该至少一个子区域的多个逻辑地址的数据是否被储存于连续实体地址;以及
当属于被选择的该至少一个子区域的这些逻辑地址的数据并未被储存于连续实体地址时,将这些逻辑地址的数据搬移至具有连续实体地址的该第一记忆空间。
12.如权利要求8所述的数据处理方法,其特征在于,由该主机装置发出的该指令为一主机性能增强器(Host Performance Booster,缩写为HPB)读取缓冲指令。
13.如权利要求8所述的数据处理方法,其特征在于,执行该数据重排程序的步骤还包括:
将包含被选择的该至少一个子区域的一区域的数据搬移至该存储器装置中具有连续实体地址的一第二记忆空间。
14.如权利要求8所述的数据处理方法,其特征在于,该第一记忆空间为一第一存储器区块,该数据处理方法还包括:
响应于将被选择的该至少一个子区域的数据搬移至该第一记忆空间的操作更新一第一映射表格的内容,其中该第一映射表格用以记录该第一存储器区块的多个实体地址的实体至逻辑映射资讯;以及
于执行该数据重排程序后直接根据该第一映射表格的内容更新一第二映射表格的内容,其中该第二映射表格用以记录该存储器装置的多个逻辑地址的逻辑至实体映射资讯。
15.如权利要求8所述的数据处理方法,其特征在于,还包括:
建立一子区域连续性表格,其中该子区域连续性表格包括多个栏位,各栏位与一子区域相关联,用以记录相关联的该子区域的数据是否被储存于连续实体地址;以及
于执行该数据重排程序后更新该子区域连续性表格的内容。
CN202110115642.6A 2020-07-02 2021-01-28 数据处理方法及对应的数据储存装置 Active CN113885778B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063047887P 2020-07-02 2020-07-02
US63/047,887 2020-07-02
TW110100222A TWI766526B (zh) 2020-07-02 2021-01-05 資料處理方法及對應之資料儲存裝置
TW110100222 2021-01-05

Publications (2)

Publication Number Publication Date
CN113885778A true CN113885778A (zh) 2022-01-04
CN113885778B CN113885778B (zh) 2024-03-08

Family

ID=79012989

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110115642.6A Active CN113885778B (zh) 2020-07-02 2021-01-28 数据处理方法及对应的数据储存装置

Country Status (2)

Country Link
US (1) US11748032B2 (zh)
CN (1) CN113885778B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113961140A (zh) 2020-07-02 2022-01-21 慧荣科技股份有限公司 数据处理方法及对应的数据储存装置
CN113885779B (zh) * 2020-07-02 2024-03-12 慧荣科技股份有限公司 数据处理方法及对应的数据储存装置
US20230359361A1 (en) * 2022-05-05 2023-11-09 Micron Technology, Inc. Frequency regulation for memory management commands

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001351310A (ja) * 2000-06-12 2001-12-21 Fujitsu Ltd ディスク装置およびそのためのプログラムを記憶したコンピュータ読み取り可能な記録媒体
US20040083348A1 (en) * 2002-10-28 2004-04-29 Sandisk Corporation Method and apparatus for performing block caching in a non-volatile memory system
US20110082963A1 (en) * 2009-10-01 2011-04-07 Micron Technology, Inc. Power interrupt management
US20120203951A1 (en) * 2010-01-27 2012-08-09 Fusion-Io, Inc. Apparatus, system, and method for determining a configuration parameter for solid-state storage media
TW201306035A (zh) * 2011-05-03 2013-02-01 Sandisk Technologies Inc 非揮發性記憶體及具有控制錯誤率之高效率晶片上區塊複製方法
US20140101369A1 (en) * 2012-10-05 2014-04-10 Western Digital Technologies, Inc. Methods, devices and systems for physical-to-logical mapping in solid state drives
US20140223246A1 (en) * 2013-02-06 2014-08-07 Kyungryun Kim Memory, memory controller, memory system, method of memory, memory controller and memory system
CN104102585A (zh) * 2013-04-03 2014-10-15 群联电子股份有限公司 映射信息记录方法、存储器控制器与存储器储存装置
TW201447914A (zh) * 2013-02-28 2014-12-16 Micron Technology Inc 在三維記憶體中之子區塊停用
US20170255565A1 (en) * 2016-03-02 2017-09-07 Intel Corporation Method and apparatus for providing a contiguously addressable memory region by remapping an address space

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100130007A (ko) 2009-06-02 2010-12-10 삼성전자주식회사 데이터 저장 장치
TWI585778B (zh) 2013-11-05 2017-06-01 威盛電子股份有限公司 非揮發性記憶體裝置的操作方法
US20150301964A1 (en) 2014-02-18 2015-10-22 Alistair Mark Brinicombe Methods and systems of multi-memory, control and data plane architecture
KR20150135980A (ko) 2014-05-26 2015-12-04 삼성전자주식회사 디스플레이 제어 방법 및 전자 장치
JPWO2016175028A1 (ja) 2015-04-28 2018-02-22 日本電気株式会社 情報処理システム、記憶制御装置、記憶制御方法および記憶制御プログラム
US10248494B2 (en) 2015-10-29 2019-04-02 Commvault Systems, Inc. Monitoring, diagnosing, and repairing a management database in a data storage management system
US20170372448A1 (en) 2016-06-28 2017-12-28 Ingo Wald Reducing Memory Access Latencies During Ray Traversal
TWI627531B (zh) 2016-11-28 2018-06-21 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
US10452552B2 (en) 2017-04-17 2019-10-22 Intel Corporation Memory-based dependency tracking and cache pre-fetch hardware for multi-resolution shading
US10534718B2 (en) 2017-07-31 2020-01-14 Micron Technology, Inc. Variable-size table for address translation
CN109671458A (zh) 2017-10-17 2019-04-23 联发科技股份有限公司 管理闪存模块的方法及相关的闪存控制器
TWI661303B (zh) 2017-11-13 2019-06-01 慧榮科技股份有限公司 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
US11016696B2 (en) 2018-09-14 2021-05-25 Commvault Systems, Inc. Redundant distributed data storage system
US11169747B2 (en) 2018-10-30 2021-11-09 Micron Technology, Inc. Relocating data to low latency memory
US20200167091A1 (en) 2018-11-27 2020-05-28 Commvault Systems, Inc. Using interoperability between components of a data storage management system and appliances for data storage and deduplication to generate secondary and tertiary copies
KR20200139433A (ko) 2019-06-04 2020-12-14 에스케이하이닉스 주식회사 컨트롤러의 동작 방법 및 메모리 시스템
US11137914B2 (en) 2019-05-07 2021-10-05 Western Digital Technologies, Inc. Non-volatile storage system with hybrid command
KR20210039163A (ko) 2019-10-01 2021-04-09 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
KR102653235B1 (ko) * 2019-10-16 2024-04-01 에스케이하이닉스 주식회사 메모리 블록을 효율적으로 관리할 수 있는 메모리 시스템 및 메모리 시스템의 동작방법
US11169744B2 (en) 2020-03-31 2021-11-09 Western Digital Technologies, Inc. Boosting reads of chunks of data
US11036625B1 (en) 2020-04-24 2021-06-15 Micron Technology, Inc. Host-resident translation layer write command associated with logical block to physical address of a memory device
US11580017B2 (en) 2020-04-27 2023-02-14 Silicon Motion, Inc. Method and apparatus and computer program product for preparing logical-to-physical mapping information for host side
KR20210157537A (ko) 2020-06-22 2021-12-29 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
CN113961140A (zh) 2020-07-02 2022-01-21 慧荣科技股份有限公司 数据处理方法及对应的数据储存装置
US11429545B2 (en) 2020-07-16 2022-08-30 Silicon Motion, Inc. Method and apparatus for data reads in host performance acceleration mode

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001351310A (ja) * 2000-06-12 2001-12-21 Fujitsu Ltd ディスク装置およびそのためのプログラムを記憶したコンピュータ読み取り可能な記録媒体
US20040083348A1 (en) * 2002-10-28 2004-04-29 Sandisk Corporation Method and apparatus for performing block caching in a non-volatile memory system
US20110082963A1 (en) * 2009-10-01 2011-04-07 Micron Technology, Inc. Power interrupt management
US20120203951A1 (en) * 2010-01-27 2012-08-09 Fusion-Io, Inc. Apparatus, system, and method for determining a configuration parameter for solid-state storage media
TW201306035A (zh) * 2011-05-03 2013-02-01 Sandisk Technologies Inc 非揮發性記憶體及具有控制錯誤率之高效率晶片上區塊複製方法
US20140101369A1 (en) * 2012-10-05 2014-04-10 Western Digital Technologies, Inc. Methods, devices and systems for physical-to-logical mapping in solid state drives
US20140223246A1 (en) * 2013-02-06 2014-08-07 Kyungryun Kim Memory, memory controller, memory system, method of memory, memory controller and memory system
TW201447914A (zh) * 2013-02-28 2014-12-16 Micron Technology Inc 在三維記憶體中之子區塊停用
CN104102585A (zh) * 2013-04-03 2014-10-15 群联电子股份有限公司 映射信息记录方法、存储器控制器与存储器储存装置
US20170255565A1 (en) * 2016-03-02 2017-09-07 Intel Corporation Method and apparatus for providing a contiguously addressable memory region by remapping an address space

Also Published As

Publication number Publication date
US20220004341A1 (en) 2022-01-06
CN113885778B (zh) 2024-03-08
US11748032B2 (en) 2023-09-05

Similar Documents

Publication Publication Date Title
CN113885778B (zh) 数据处理方法及对应的数据储存装置
CN113961140A (zh) 数据处理方法及对应的数据储存装置
US11614885B2 (en) Data processing method for improving access performance of memory device and data storage device utilizing the same
US10339045B2 (en) Valid data management method and storage controller
CN113885779B (zh) 数据处理方法及对应的数据储存装置
CN111966281B (zh) 数据储存装置与数据处理方法
TWI766527B (zh) 資料處理方法及對應之資料儲存裝置
US11636042B2 (en) Data processing method for improving access performance of memory device and data storage device utilizing the same
CN112099731B (zh) 数据储存装置与数据处理方法
TWI808011B (zh) 資料處理方法及對應之資料儲存裝置
TWI808010B (zh) 資料處理方法及對應之資料儲存裝置
TWI829363B (zh) 資料處理方法及對應之資料儲存裝置
TWI758944B (zh) 資料處理方法及對應之資料儲存裝置
TWI814590B (zh) 資料處理方法及對應之資料儲存裝置
TW202414217A (zh) 資料處理方法及對應之資料儲存裝置
TW202414221A (zh) 資料處理方法及對應之資料儲存裝置
TWI766431B (zh) 資料處理方法及對應之資料儲存裝置
CN111966606B (zh) 数据储存装置与数据处理方法
TW202414222A (zh) 資料處理方法及對應之資料儲存裝置
TW202414223A (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
GR01 Patent grant
GR01 Patent grant