CN114077559B - 存储装置的存取管理的方法及设备 - Google Patents

存储装置的存取管理的方法及设备 Download PDF

Info

Publication number
CN114077559B
CN114077559B CN202110909556.2A CN202110909556A CN114077559B CN 114077559 B CN114077559 B CN 114077559B CN 202110909556 A CN202110909556 A CN 202110909556A CN 114077559 B CN114077559 B CN 114077559B
Authority
CN
China
Prior art keywords
memory
address
entries
host
information
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
CN202110909556.2A
Other languages
English (en)
Other versions
CN114077559A (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
Application filed by Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN114077559A publication Critical patent/CN114077559A/zh
Application granted granted Critical
Publication of CN114077559B publication Critical patent/CN114077559B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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/064Management of blocks
    • 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
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供一种用来藉助于装置侧表资讯而在一主机效能增幅器架构中进行一存储装置的存取管理的方法和设备。该方法可包含:发送该存储装置的内部资讯至一主装置,以容许该主装置将该存储装置的该内部资讯储存于该主装置内的一存储器中以作为位于该主装置的主机侧表资讯;产生并且储存至少一地址映射控制表的多个条目至一随机存取存储器中以作为位于该存储装置的装置侧表资讯的至少一部分;依据该至少一地址映射控制表决定与至少两个逻辑地址相关联的至少两个实体地址;以及依据该至少两个实体地址自该非挥发性存储器读取数据。

Description

存储装置的存取管理的方法及设备
技术领域
本发明是关于存储器控制,尤指一种用来藉助于装置侧表资讯而在一主机效能增幅器(Host Performance Booster,HPB)架构中进行一存储装置的存取管理的方法、以及相关设备(apparatus)诸如该存储装置、该存储装置的控制器、包含有该存储装置的电子装置等等。
背景技术
存储装置可包含有用来储存数据的快闪存储器,而存取快闪存储器的管理相当复杂。该存储装置可包含随机存取存储器以用于缓冲、管理等目的,而随机存取存储器通常有储存容量不足的问题。相关技术试图解决上述问题,但反而衍生了更进一步的问题。因此,需要一种新颖的方法和相关架构以在没有副作用或较不会带来副作用的情况下解决这些问题。
发明内容
本发明的一目的在于提供一种用来藉助于装置侧表资讯而在一主机效能增幅器(Host Performance Booster,HPB)架构中进行一存储装置的存取管理的方法,并且提供相关设备(apparatus)诸如该存储装置、该存储装置的控制器、包含有该存储装置的电子装置等等,以解决上述问题。
本发明的另一目的在于提供一种用来藉助于装置侧表资讯而在一主机效能增幅器架构中进行一存储装置的存取管理的方法,并且提供相关设备诸如该存储装置、该存储装置的控制器、包含有该存储装置的电子装置等等,以提升整体效能。
本发明至少一实施例提供一种用来藉助于装置侧表资讯而在一主机效能增幅器架构中进行一存储装置的存取管理的方法,其中该方法是可应用于(applicable to)该存储装置的一存储器控制器。该存储装置可包含该存储器控制器以及一非挥发性存储器,而该非挥发性存储器可包含至少一非挥发性存储器元件(例如一或多个非挥发性存储器)。该方法可包含:发送该存储装置的内部资讯至一主装置,以容许该主装置将该存储装置的该内部资讯储存于该主装置内的一存储器中以作为位于该主装置的主机侧表资讯;产生并且储存至少一地址映射控制表的多个条目至该存储器控制器内的一随机存取存储器中以作为位于该存储装置的该装置侧表资讯的至少一部分,其中该至少一地址映射控制表的该多个条目的任一条目包含用于地址映射的地址资讯,以及所述任一条目内的地址资讯指出一实体地址与一逻辑地址之间的一映射关系,其中该主机侧表资讯包含由该至少一地址映射控制表的该多个条目所分别载有(carry)的地址资讯;因应来自该主装置之与至少两个逻辑地址对应的一读取请求,依据该至少一地址映射控制表决定与该至少两个逻辑地址相关联的至少两个实体地址,其中该读取请求载有该主机侧表资讯的部分资讯;以及依据该至少两个实体地址自该非挥发性存储器读取与该读取请求对应的数据,以将该数据回传至该主装置。
除了上述方法之外,本发明亦提供一种存储装置,而该存储装置包含一非挥发性存储器以及一控制器。该非挥发性存储器是用来储存资讯,其中该非挥发性存储器包含至少一非挥发性存储器元件(例如一或多个非挥发性存储器元件)。该控制器耦接至该非挥发性存储器,并且该控制器是用来控制该存储装置的运作。另外,该控制器包含一处理电路以用来依据来自一主装置的多个主机命令(command) 控制该控制器,以容许该主装置透过该控制器存取该非挥发性存储器。该控制器另包含耦接至该处理电路的一随机存取存储器,其中该随机存取存储器是用来提供内部储存空间给该控制器。例如,该控制器发送该存储装置的内部资讯至该主装置,以容许该主装置将该存储装置的该内部资讯储存于该主装置内的一存储器中以作为位于该主装置的主机侧表资讯;该控制器产生并且储存至少一地址映射控制表的多个条目至该控制器内的该随机存取存储器中以作为位于该存储装置的装置侧表资讯的至少一部分,其中该至少一地址映射控制表的该多个条目的任一条目包含用于地址映射的地址资讯,以及所述任一条目内的地址资讯指出一实体地址与一逻辑地址之间的一映射关系,其中该主机侧表资讯包含由该至少一地址映射控制表的该多个条目所分别载有(carry)的地址资讯;因应来自该主装置之与至少两个逻辑地址对应的一读取请求,该控制器依据该至少一地址映射控制表决定与该至少两个逻辑地址相关联的至少两个实体地址,其中该读取请求载有该主机侧表资讯的部分资讯;以及该控制器依据该至少两个实体地址自该非挥发性存储器读取与该读取请求对应的数据,以将该数据回传至该主装置。
依据某些实施例,本发明亦提供相关的电子装置。该电子装置可包含上述存储装置,并且可另包含上述主装置,而该主装置可耦接至该存储装置。该主装置可包含:至少一处理器,用来控制该主装置的运作;以及一电源供应电路,耦接至该至少一处理器,用来提供电源给该至少一处理器以及该存储装置。另外,该存储装置提供储存空间给该主装置。
除了上述方法之外,本发明亦提供一种存储装置的控制器,其中该存储装置包含该控制器以及一非挥发性存储器。该非挥发性存储器可包含至少一非挥发性存储器元件(例如一或多个非挥发性存储器元件)。另外,该控制器包含一处理电路以用来依据来自一主装置的多个主机命令控制该控制器,以容许该主装置透过该控制器存取该非挥发性存储器。该控制器另包含耦接至该处理电路的一随机存取存储器,其中该随机存取存储器是用来提供内部储存空间给该控制器。例如,该控制器发送该存储装置的内部资讯至该主装置,以容许该主装置将该存储装置的该内部资讯储存于该主装置内的一存储器中以作为位于该主装置的主机侧表资讯;该控制器产生并且储存至少一地址映射控制表的多个条目至该控制器内的该随机存取存储器中以作为位于该存储装置的装置侧表资讯的至少一部分,其中该至少一地址映射控制表的该多个条目的任一条目包含用于地址映射的地址资讯,以及所述任一条目内的地址资讯指出一实体地址与一逻辑地址之间的一映射关系,其中该主机侧表资讯包含由该至少一地址映射控制表的该多个条目所分别载有(carry)的地址资讯;因应来自该主装置之与至少两个逻辑地址对应的一读取请求,该控制器依据该至少一地址映射控制表决定与该至少两个逻辑地址相关联的至少两个实体地址,其中该读取请求载有该主机侧表资讯的部分资讯;以及该控制器依据该至少两个实体地址自该非挥发性存储器读取与该读取请求对应的数据,以将该数据回传至该主装置。
依据某些实施例,该设备可包含该电子装置的至少一部分(例如一部分或全部)。例如,该设备可包含该存储装置中的该存储器控制器。又例如,该设备可包含该存储装置。在某些例子中,该设备可包含该电子装置或该电子装置中的一主装置。另外,该存储装置的该存储器控制器能依据该方法控制该存储装置的运作。例如,该存储装置能因应来自该主装置的一主机命令(command)诸如一写入命令储存数据以供该主装置使用。该存储装置能因应来自该主装置的另一主机命令诸如一读取命令读取被储存的数据,并且提供自该非挥发性存储器读取的数据给该主装置。此外,该非挥发性存储器可包含一或多个非挥发性存储器单元诸如一或多个快闪存储器裸晶、或一或多个快闪存储器晶片。为了提升该存储装置的效能,该主装置可取的该存储装置的某些内部资讯。该主装置可将先前自该存储装置取得的内部资讯直接往回发送给该存储装置,以容许该存储装置使用该内部资讯,其中该存储装置可利用并且共用该主装置的该随机存取存储器。依据某些实施例,该存储装置可用来产生或更新与该存储装置的该内部资讯对应的该装置侧表资讯。例如,该存储装置能自该主装置接收载有该内部资讯的一部分的一封包,并且依据与该内部资讯对应的该装置侧表资讯复原该内部资讯的更多部分,以提升该存储装置的读取效能。
本发明的方法及设备能确保该存储装置能在各种情况下妥善地运作。例如,自该主装置发送的该内部资讯可能不正确,而本发明的方法及设备能检测到这个情况并且避免该存储装置的故障等。另外,该资讯可能被改变,而本发明的方法及设备能检测到此状况并且避免某些安全性问题。此外,本发明的方法及设备能依据与该内部资讯对应的该装置侧表资讯复原该内部资讯的更多部分,以使整体系统适用于 (suitable for)依据一或多个较新的标准(例如理应与通用快闪存储器储存 (Universal Flash Storage,UFS)3.1一并推广的主机效能增幅器2.0)运作并且改善该存储装置的随机读取速率。
附图说明
图1为依据本发明一实施例之一电子装置的示意图。
2图绘示依据本发明一实施例的用来进行一存储器装置诸如1图所示的存储装置的存取管理的方法的控制方案。
图3绘示在图2所示的控制方案中载有一对应的混合表条目的一主机效能增幅器(Host Performance Booster,简称HPB)条目封包的例子。
图4绘示图2所示的控制方案的一HPB条目格式的例子。
图5绘示依据本发明一实施例的针对利用图2所示的控制方案的多个混合表条目的某些运作。
图6绘示依据本发明一实施例的针对透过一数据输入UFS协定资讯单元传递一组混合表条目的某些运作。
图7绘示依据本发明一实施例的针对图1所示的电子装置中的存储装置所提供的储存空间的某些HPB区域以及相关HPB子区域。
图8绘示依据本发明一实施例的一主机控制模式的某些运作。
图9绘示依据本发明一实施例的一装置控制模式的某些运作。
图10绘示依据本发明一实施例的一种用来藉助于装置侧表资讯而在一HPB架构中进行一存储装置诸如图1所示的存储装置的存取管理的方法的控制方案。
图11绘示该装置侧表资讯的例子。
图12绘示依据本发明另一实施例的用来藉助于该装置侧表资讯而在该HPB架构中进行该存储装置的存取管理的方法的控制方案。
图13绘示该装置侧表资讯的另一个例子。
图14绘示该装置侧表资讯的另一个例子。
图15绘示该装置侧表资讯的另一个例子。
图16绘示该装置侧表资讯的另一个例子。
图17绘示该装置侧表资讯的另一个例子。
图18绘示依据本发明一实施例的一种用来藉助于该装置侧表资讯而在该HPB 架构中进行该存储装置的存取管理的方法的工作流程。
【符号说明】
10:电子装置
50:主装置
52:处理器
54:电源供应电路
56:随机存取存储器
56T:混合表
100:存储装置
110:存储器控制器
112:微处理器
112M:只读存储器
112C:程序码
114:控制逻辑电路
116:随机存取存储器
116T:暂时H2F地址映射表
118:传输接口电路
120:非挥发性存储器
122-1~122-N:非挥发性存储器元件
120T:全域H2F地址映射表
HT,HT(0),HT(1):混合表
T1,T1(0),T1P(0),T2:表
HTE,HTE(0),HTE(1):混合表条目
TE1,TE1(0),TE2:表条目
DT(0),DT(1):衍生表
DTE(0),DTE(1):衍生表条目
MSB:最高有效位元
LSB:最低有效位元
A01~A05,B01~B03,C01~C07,C11~C17,D01~D12,D05’,D09’,D12’:步骤
S10~S21:步骤
具体实施方式
图1为依据本发明一实施例的一电子装置10的示意图,其中电子装置10可包含一主装置50以及一存储装置100。主装置50可包含统称为处理器52的至少一处理器 (例如一或多个处理器)、一电源供应电路54、以及可通称为随机存取存储器 (random accessmemory,RAM)56的至少一随机存取存储器(例如一或多个随机存取存储器,诸如动态随机存取存储器(dynamic RAM,DRAM)、静态随机存取存储器(Static RAM,SRAM)等等),其中处理器52以及随机存取存储器56可透过一总线相互耦接,并且可耦接至电源供应电路54以取得电源。处理器52可用来控制主装置50的操作,电源供应电路54可用来提供电源给处理器52、随机存取存储器56以及存储装置100,并且输出一或多个驱动电压至存储器装置100,其中存储装置100 可提供储存空间给主装置50,并且可自主装置50取得该一或多个驱动电压以作为存储装置100的电源。主装置50的例子可包含(但不限于)多功能移动电话、平板电脑、可穿戴式装置、以及个人电脑诸如桌上型电脑及膝上型电脑)。存储装置100 的例子可包含(但不限于)可携式存储装置(例如符合SD/MMC、CF、MS或XD标准的记忆卡)、固态硬碟(solidstate drive,SSD)、以及各种类型的嵌入式存储器装置(例如符合UFS或eMMC标准的嵌入式存储器装置)。依据本实施例,存储装置100 可包含一控制器诸如一存储器控制器110,并且可另包含一非挥发性存储器 (non-volatile memory,NV memory)120,其中该控制器是用来存取非挥发性存储器120,而非挥发性存储器120是用来储存资讯。非挥发性存储器120可包含至少一非挥发性存储器元件(例如一或多个非挥发性存储器元件),诸如多个非挥发性存储器元件122-1、122-2、…、及122-N,其中“N”可表示大于1的正整数。例如,非挥发性存储器120可以是快闪存储器,而多个非挥发性存储器元件122-1、122-2、…、及122-N可分别是多个快闪存储器晶片或多个快闪存储器裸晶,但本发明不限于此。
如图1所示,存储器控制器110可包含一处理电路诸如一微处理器112、一储存单元诸如一只读存储器(read only memory,ROM)112M、一控制逻辑电路114、一随机存取存储器116(例如可用静态随机处理存储器的方式来实施)、以及一传输接口电路118,其中上述组件的至少一部分(例如一部分或全部)可藉由一总线彼此耦接。随机存取存储器116可用来提供内部储存空间给存储器控制器110(例如可暂时储存资讯),但本发明不限于此。另外,本实施例的只读存储器112M是用来储存一程序码112C,而微处理器112是用来执行程序码112C以控制非挥发性存储器120 的存取。请注意,程序码112C也可储存在随机存取存储器116或任何类型的存储器中。此外,控制逻辑电路114可用来控制非挥发性存储器120。控制逻辑电路114可包含一错误更正码(error correction code,ECC)电路(图1中未示出),该错误校正码电路可进行错误更正码编码和错误更正码解码,以保护数据及/或进行错误更正,而传输接口电路118可符合一特定通讯标准诸如序列先进技术附件(Serial AdvancedTechnology Attachment,SATA)标准、通用序列总线(Universal Serial Bus, USB)标准、快捷外设互联(Peripheral Component Interconnect Express,PCIE)标准、嵌入式多媒体卡标准(embedded Multi Media Card,eMMC)、或通用快闪存储器储存(Universal FlashStorage,UFS)标准,并且可依据该特定通讯标准进行通讯。
在本实施例中,主装置50可传送多个主机命令以及多个对应的逻辑地址至存储器控制器110,以间接地存取存储器装置100内的非挥发性存储器120。存储器控制器110接收该多个主机命令以及该多个逻辑地址,并且将该多个主机命令分别转译为存储器操作命令(可简称为操作命令),并且进一步用这些操作命令来控制非挥发性存储器120以对非挥发性存储器120中的特定实体地址的记忆单元或数据页面进行读取或写入/编程,其中这些实体地址对应于这些逻辑地址。例如,存储器控制器110可产生或更新至少一逻辑对实体(logical-to-physical,简称H2F)地址映射表以管理实体地址与逻辑地址之间的映射关系。非挥发性存储器120可储存一全域 (global)H2F地址映射表120T,以供存储器控制器110控制存储器装置100存取在非挥发性存储器120中的数据。
为便于理解,全域H2F地址映射表120T可位于非挥发性存储器元件122-1内的一预定区域中,诸如一系统区域,但本发明不限于此。例如,全域H2F地址映射表120T 可被划分为多个局部(local)H2F地址映射表,而该多个局部H2F地址映射表可被储存在非挥发性存储器元件122-1、122-2、…、和122-N中的一个多个非挥发性存储器元件,尤其可被分别储存在非挥发性存储器元件122-1、122-2、…、和122-N中。当需要时,存储器控制器110可将全域H2F地址映射表120T的至少一部分(例如一部分或全部)加载到随机存取存储器116或其他存储器中。例如,存储器控制器110 可将多个局部H2F地址映射表中的一局部H2F地址映射表加载到随机存取存储器 116中以作为其内的暂时H2F地址映射表116T(在图中标示为“116T”以求简明),以供依据局部H2F地址映射表存取在非挥发性存储器120中的数据,但本发明不限于此。
另外,上述至少一非挥发性存储器元件(例如一或多个非挥发性存储器元件诸如{122-1,122-2,…,122-N})可包含多个区块(block),其中存储器控制器110对非挥发性存储器120进行数据抹除操作的最小单元可以是一个区块,而存储器控制器 110对非挥发性存储器120进行数据写入操作的最小单元可以是一个页面(page),但本发明不限于此。例如,非挥发性存储器元件122-1、122-2、…、及122-N中的任一非挥发性存储器元件122-n(其中“n”可表示区间[1,N]内的任意整数)可包含多个区块,而该多个区块中的一区块可包含并且记录特定数量的页面,其中存储器控制器110可依据一区块地址以及一页面地址来存取该多个区块中的某个区块内的某个页面。又例如,非挥发性存储器元件122-n可包含多个平面(plane),其中一平面可包含一组区块诸如上述多个区块,而存储器控制器110可依据一平面编号 (plane number)在该多个平面中指定某个平面,以存取这个平面的某个区块内的某个页面。随着区块总数的增加,非挥发性存储器120的储存空间可变得更大。针对非挥发性存储器120的制造,可利用许多技术,例如:2D/平面与非门(2D/planar NAND)快闪存储器技术,其可将记忆单元排列成单层;以及3D与非门(3D NAND) 快闪存储器技术,其可将记忆单元排列成多层的垂直堆迭。根据某些实施例,非挥发性存储器120可实施为具有单层排列的记忆单元的2D/平面与非门快闪存储器结构。依据某些实施例,非挥发性存储器120可实施为具有垂直堆迭的多层储存单元的3D与非门快闪存储器结构,在此状况下,非挥发性存储器120的储存空间可变得非常大。
依据某些实施例,存储器控制器110可传送该多个局部H2F地址映射表中的一局部H2F地址映射表以及这个局部H2F地址映射表的对应的保护资讯(例如这个局部H2F地址映射表的实体地址,诸如最新实体地址以指出这个局部H2F地址映射表被储存在非挥发性存储器120中的最新位置)至主装置50,以供(例如在处理器52 的控制之下)被暂时地储存在随机存取存储器56中作为一主机侧表(host-side table) 诸如一混合表(hybrid table)56T(在图中标示为“56T”以求简明),藉此节省随机存取存储器116的储存空间。在此状况下,当存取存储装置100中的数据时,主装置50可将混合表56T的一或多个混合表条目(table entry)发送至存储器控制器110,而存储器控制器110可依据该一或多个混合表条目来存取数据以供主装置50之用,其中该一或多个混合表条目中的任一混合表条目可包含一实体地址及其保护资讯。若该保护资讯指出这个实体地址(尤指整个混合表56T)是不正确的,存储器控制器110可依据该局部H2F地址映射表的最新实体地址将该局部H2F地址映射表自非挥发性存储器120加载至随机存取存储器116中,以作为暂时H2F地址映射表116T,并且依据随机存取存储器116中的暂时H2F地址映射表116T存取数据。例如,存储器控制器110可在随机存取存储器116中维护一最新表地址表(latest-table-address table),而该最新表地址表可包含该多个局部H2F地址映射表的各自的最新表地址。当这个局部H2F地址映射表的实体地址与这个局部H2F地址映射表的最新实体地址不匹配时,存储器控制器110可判断这个实体地址(尤指整个混合表56T)是不正确的。
图2绘示依据本发明一实施例之用来进行一存储器装置(诸如图1所示的存储装置100)的存取管理的方法的控制方案。存储器控制器110可传送多个表的组合诸如包含有两个表T1及T2的混合表HT至主装置50以作为混合表56T(在图中标示为“HT =(T2+T1)”以求简明),其中这两个表T1及T2可分别代表该局部H2F地址映射表以及包含有这个局部H2F地址映射表的对应的保护资讯的一保护资讯表。例如,混合表HT可包含分别与一系列逻辑地址对应的多个混合表条目{HTE},且可用来将该系列逻辑地址分别映射至多个混合表条目{HTE}中所记录的多个相关实体地址。混合表HT的多个混合表条目{HTE}的任一混合表条目HTE(例如其每一混合表条目)可包含表T1的一表条目TE1(例如该多个混合表条目{HTE}所记录的该多个相关实体地址中的一实体地址)以及表T2的一表条目TE2(例如这个局部H2F地址映射表的保护资讯诸如这个局部H2F地址映射表的实体地址,用以检查这个局部H2F地址映射表是否正确或是检查这个实体地址是否正确)。
当自存储装置100读取一或多组数据时,主装置50可将用来将指出一读取请求的至少一封包(例如载有(carry)一读取命令、一起始逻辑地址以及一数据长度的一读取命令封包)发送至存储器控制器110,尤其,可将载有多个混合表条目{HTE} 中的一对应的混合表条目HTE的一主机效能增幅器(Host Performance Booster,简称HPB)条目封包发送至存储器控制器110,其中该对应的混合表条目HTE可包含一表条目TE1诸如与该起始逻辑地址对应的一相关实体地址、以及一表条目TE2诸如这个局部H2F地址映射表的保护资讯(在图中标示为“HTE=(TE2+TE1)”以求简明)。例如,上述至少一封包可包含该HPB条目封包,并且可用一HPB读取命令(HPB READ command)的方式来实施,其中该HPB读取命令可包含一操作码、指出起始逻辑地址的一逻辑区块地址(logical block address,LBA)、指出对应的混合表条目HTE的一 HPB条目、指出数据长度的一转换长度等等。依据表条目TE2诸如这个局部H2F地址映射表的保护资讯,存储器控制器110可判断表T1诸如这个局部H2F地址映射表(例如表条目TE1诸如与起始逻辑地址对应的相关实体地址)是否正确。例如,当表条目TE2中的保护资讯诸如这个局部H2F地址映射表的实体地址与这个局部H2F地址映射表的最新实体地址匹配时,存储器控制器110可判断这个局部H2F地址映射表 (例如这个实体地址)是正确的,并且可根据表条目TE1诸如与该起始逻辑地址对应的相关实体地址来进一步存取非挥发性存储器120中的该一或多组数据以供主装置50之用。
依据某些实施例,表T1及T2可分别代表至少一局部H2F地址映射表(例如该多个局部H2F地址映射表中的一或多个局部H2F地址映射表,诸如上列的一或多个实施例所提及的局部H2F地址映射表)以及包含有上述至少一局部H2F地址映射表的对应的保护资讯的一保护资讯表。
图3绘示在图2所示的控制方案中载有对应的混合表条目HTE的HPB条目封包的例子。由于图3所示的HPB条目封包满足在HPB标准(例如HPB 1.0等等)中所定义的 HPB读取命令的某些需求,因此该HPB条目封包能被用来当作HPB读取命令,其中对应的混合表条目HTE能被用来当作该HTE条目。
图4绘示图2所示的控制方案的一HPB条目格式的例子,其中这个HPB条目格式是适用于符合HPB标准的HPB架构。依据图4所示的HPB条目格式,在混合表HT的多个混合表条目{HTE}的上述任一混合表条目HTE中,表条目TE1可具有4位元组 (byte),而表条目TE2也可具有4位元组。
表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
表1展示混合表HT的例子,其中“…”的符号表示某些表内容被省略以求简明,而表1的HPB条目{0,1,…}可表示多个混合表条目{HTE}。另外,表1的T1及T2内容(例如十六进制数值)可分别表示表T1及T2的内容(例如表T1及T2的各自的表条目{TE1} 及{TE2})。出现在T1内容的实体地址{0x0000A000,0x0000A001,…}可作为与该系列逻辑地址对应的相关实体地址的例子,而在T2内容中的实体地址{0x00004030, 0x00004030,…}中重复出现的实体地址0x00004030可作为该局部H2F地址映射表的实体地址的例子。
图5绘示依据本发明一实施例的针对利用图2所示的控制方案的多个混合表条目{HTE}的某些运作。在一HPB初始化阶段,主装置50可用来取回存储装置100的装置能力、在存储装置100中配置一或多个HPB特征、以及在系统存储器中分配一HPB 区域(例如随机存取存储器56)给该主机侧表诸如混合表56T。在一主机侧快取管理阶段,主装置50可用来基于配置的HPB模式藉由使用HPB标准的HPB读取缓冲命令(HPB READ BUFFER command)以自存储装置100加载多个混合表条目{HTE}。在一HPB读取命令阶段,主装置50可用来发送载有该逻辑区块地址、该对应的混合表条目HTE、该转换长度至存储装置100的HPB读取命令以读取数据。为简明起见,本实施例中与前述实施例类似的说明在此不重复赘述。
图6绘示依据本发明一实施例的针对透过一数据输入UFS协定资讯单元(UFSProtocol Information Unit,简称UPIU)传递一组混合表条目{HTE}(例如多个混合表条目{HTE})的某些运作。
在步骤A01中,主装置50可用来辨认将被激活(activate)的新子区域 (sub-region)。
在步骤A02中,主装置50可用来发送HPB读取缓冲命令以请求该组混合表条目{HTE}(例如多个混合表条目{HTE})以供将被激活的子区域之用。
在步骤A03中,存储装置100可用来依据上述至少一H2F地址映射表(例如该局部H2F地址映射表)产生该组混合表条目{HTE}(例如多个混合表条目{HTE})。
在步骤A04中,存储装置可用来利用该数据输入UPIU传递该组混合表条目{HTE}给主装置50。
在步骤A05中,主装置50可用来将该子区域的该组混合表条目{HTE}储存至系统存储器中(例如随机存取存储器56)。为简明起见,本实施例中与前述实施例类似的说明在此不重复赘述。
图7绘示依据本发明一实施例的针对图1所示的电子装置10中的存储装置100所提供的储存空间(例如非挥发性存储器120的储存空间)的某些HPB区域以及相关 HPB子区域。主装置50可用来利用存储装置100所提供的储存空间以作为至少一逻辑单元诸如至少一分区(partition),并且透过多个逻辑区位地址存取上述至少一逻辑单元的任一逻辑单元(例如任一分区)。用于存取这个逻辑单元的该多个逻辑区块地址的逻辑地址范围可被划分为多个HPB区域诸如HPB区域0、1等等,而该多个 HPB区域的每一HPB区域可被划分为至少一HPB子区域(例如一或多个HPB子区域) 诸如HPB子区域0、1等等。例如,HPB区域0、1等等的每一者可具有L个HPB子区域0、 1…、及(L–1),其中HPB子区域0的HPB子区域0的起始可对应于该逻辑地址范围的起始(例如第一个逻辑区块地址诸如图中标示的“逻辑区块地址0”),而HPB区域0、 1等等的最后一个HPB区域的最后一个HPB子区域的末端可对应于该逻辑地址范围的末端(例如最后一个逻辑区块地址诸如图中标示的“逻辑区块地址MAX”),但本发明不限于此。另外,HPB子区域0、1…、及(L–1)可作为图6所示的实施例中的子区域的例子。
依据某些实施例,HPB区域0、1等等的每一者的大小以及HPB子区域0、1…、及(L–1)的每一者的大小可依据各种需求来决定。例如,HPB区域0、1等等的每一者的大小以及HPB子区域0、1…、及(L–1)的每一者的大小可均为32百万位元组 (megabyte,简称MB)。在某些例子中,HPB区域0、1等等的每一者的大小可为32 MB,而HPB子区域0、1…、及(L–1)的每一者的大小可为4MB、8MB或16MB。
图8绘示依据本发明一实施例的一主机控制模式的某些运作。本实施例的步骤A01~A05的运作可与图6所示的实施例相同。
在步骤B01中,主装置50可用来辨认将被停用(deactivate)的区域(例如HPB 区域0、1等等的其中一者)。
在步骤B02中,主装置50可用来发送HPB写入命令(HPB WRITE BUFFER command)至存储装置100以停用该区域。
在步骤B03中,存储装置100可用来停用该区域,例如藉由无效化(invalidate) 与该区域对应的某些装置侧表资讯。
在步骤C01中,存储装置100可用来更新上述至少一H2F地址映射表(例如某个局部H2F地址映射表),例如,因应在存储器控制器110(例如微处理器112)上执行的垃圾收集(garbage collection,GC)程序的处理结果,但本发明不限于此。
在步骤C02中,存储装置100可用来利用一回应UPIU以建议更新主装置50的系统存储器(例如随机存取存储器56)内的一活跃(active)子区域(例如HPB区域0、 1等等的其中一者的HPB子区域0、1…、及(L–1)的其中一者)的某一组混合表条目 {HTE}(例如多个混合表条目{HTE}),其中这组混合表条目{HTE}可在步骤C03的运作前依据上述至少一H2F地址映射表的一先前版本(例如该局部H2F地址映射表的一先前版本)被产生并且由存储装置100来提供。
在步骤C03中,主装置50可用来因应存储装置100的建议发出HPB读取缓冲命令。
在步骤C04中,主装置50可用来发送HPB读取缓冲命令以请求一组更新后混合表条目{HTE}(例如多个混合表条目{HTE}的最新版本)以供该活跃子区域之用。
在步骤C05中,存储装置100可用来依据最新的H2F地址映射表诸如上述至少一H2F地址映射表的最新版本(例如该局部H2F地址映射表的最新版本)来产生该组更新后混合表条目{HTE}(例如多个混合表条目{HTE}的最新版本)。
在步骤C06中,存储装置100可用来利用该数据输入UPIU来传递该组更新后混合表条目{HTE}至主装置50。
在步骤C07中,主装置50可用来将这个子区域的该组更新后混合表条目{HTE} 储存至该系统存储器(例如随机存取存储器56)中。为简明起见,本实施例中与前述实施例类似的说明在此不重复赘述。
图9绘示依据本发明一实施例的一装置控制模式的某些运作。
在步骤C11中,存储装置100可用来在需要时辨认将被激活的新子区域(例如 HPB区域0、1等等的其中一者的HPB子区域0、1…、及(L–1)的其中一者)及/或将被去活化(inactivate)/停用的区域(例如HPB区域0、1等等的其中一者)。
在步骤C12中,存储装置100可用来利用该回应UPIU来建议激活新子区域及/ 或去活化该区域。
在步骤C13中,主装置50可用来舍弃不再活跃的HPB区域(例如被去活化的区域)的一组无效混合表条目{HTE}。
在步骤C14中,主装置50可用来发送该HPB读取缓冲命令以请求一组混合表条目{HTE}(例如多个混合表条目{HTE})以供将被激活的子区域之用。
在步骤C15中,存储装置100可用来依据上述至少一H2F地址映射表(例如某个局部H2F地址映射表)来产生该组混合表条目{HTE}(例如多个混合表条目{HTE})。
在步骤C16中,存储装置100可用来利用该数据输入UPIU以传递该组混合表条目{HTE}至主装置50。
在步骤C17中,存储装置100可用来将这个子区域的该组混合表条目{HTE}储存至该系统存储器(例如随机存取存储器56)中。为简明起见,本实施例中与先前实施例类似的说明在此不重复赘述。
依据某些实施例,激活运作能以子区域(例如HPB子区域)为单位进行并且管理,而去活化/停用运作能以区域(例如HPB区域)为单位进行并且管理。例如,针对激活运作,该HPB读取缓冲命令可包含多个栏位诸如HPB_Region、 HPB_Sub-region、Allocation_Length等等,以供指出该HPB将被激活、该HPB子区域将被激活、相关分配长度等等。又例如,针对去活化/停用运作,该HPB写入缓冲命令可包含多个栏位诸如HPB_Region等等,以供指出该HPB区域将被去活化/停用等等。
依据某些实施例,存储装置100(例如存储器控制器110)可用来管理随机存取存储器116中的至少一装置侧表(例如一或多个装置侧表),诸如混合表HT、混合表HT的一或多个衍生表(derivative table)、暂时H2F地址映射表116T的一或多个衍生表等等,尤其可依据是否接收到HPB写入缓冲命令来判断是否将上述至少一装置侧表注记为无效(invalid)。
图10绘示依据本发明一实施例的一种用来藉助于装置侧表资讯而在一HPB架构中进行一存储装置诸如图1所示的存储装置100的存取管理的方法的控制方案。例如,电子装置10可在该装置控制模式中运作。
在步骤D01中,存储装置100可用来在需要时辨认将被激活的新子区域(例如 HPB区域0、1等等的其中一者的HPB子区域0、1、…、及(L–1)的其中一者)。
在步骤D02中,存储装置100可用来利用该回应UPIU以建议激活该新子区域。
在步骤D03中,主装置50可用来因应存储装置100的建议以发出该HPB读取缓冲命令。
在步骤D04中,主装置50可用来发送该HPB读取缓冲命令以请求混合表HT的多个混合表条目{HTE}以供将被激活的子区域之用。
在步骤D05中,存储装置100可用来依据上述至少一H2F地址映射表(例如图2 所示的实施例所提及的局部H2F地址映射表)产生多个混合表条目{HTE}(例如多个 HPB条目诸如表1所示),并且保留包含有多个混合表条目{HTE}的混合表HT,诸如包含有该多个HPB条目的一HPB条目表。
在步骤D06中,存储装置100可用来利用该数据输入UPIU以传递多个混合表条目{HTE}至主装置50。
在步骤D07中,主装置50可用来将这个子区域的多个混合表条目{HTE}储存至该系统存储器(例如随机存取存储器56)中。
在步骤D08中,主装置50可用来发送载有逻辑区块地址、对应的混合表条目 HTE、转换长度等等的该HPB读取命令至存储装置100以读取数据。
在步骤D09,存储装置100可用来依据逻辑区块地址、对应的混合表条目HTE、该转换长度、及/或混合表HT自非挥发性存储器120读取数据以供主装置50之用,以回传数据给主装置50。
在步骤D10中,主装置50可用来自存储装置100取得数据以供未来的使用。
在步骤D11中,主装置50可用来发送该HPB写入缓冲命令至存储装置100以停用包含有该子区域的区域。
在步骤D12中,存储装置100可用来舍弃包含有多个混合表条目{HTE}的混合表HT,并且停用该区域。
依据本实施例,存储装置100可利用混合表HT的至少一部分(例如一部分或全部)以作为该装置侧表资讯,并且保留混合表HT直到接收到该HPB写入缓冲命令。为简明起见,本实施例中与前述实施例类似的说明在此不重复赘述。
为便于理解,该方法可用图10所示的运作来说明,但本发明不限于此。依据某些实施例,一或多个步骤可在图10所示的运作中被新增、删除、或修改。例如,于电子装置10运作在该主机控制模式的情况下,图10所示的步骤D01及D02可被删除。又例如,于电子装置10运作在该主机控制模式的情况下,图10所示的步骤D01及D02 可被步骤A01取代。
图11绘示该装置侧表资讯的例子。如上所述,存储装置100可保留该混合表HT 直到接收到该HPB写入缓冲命令。为便于理解,存储装置100于步骤D05中所保留的混合表HT可被称为一装置侧混合表诸如混合表HT(0),而主装置50于步骤D07所储存的混合表HT可被称为一主机侧混合表诸如混合表HT(1)。类似地,存储装置100于步骤D05中所保留的混合表HT的多个混合表条目{HTE}可被称为装置侧混合表条目诸如混合表条目{HTE(0)},而主装置50于步骤D07所储存的混合表HT的多个混合表条目{HTE}可被称为主机侧混合表条目诸如混合表条目{HTE(1)}。
例如,当接收到该HPB读取缓冲命令时,存储装置100可依据上述至少一H2F 地址映射表(例如图2的实施例所提及的局部H2F地址映射表)产生混合表HT(0)诸如该HPB条目表并且发送混合表HT(0)至主装置50,并且可在随机存取存储器116诸如该静态随机存取存储器中维护混合表HT(0)(例如该HPB条目表)以使其依然被注记为有效(valid)表资讯,以将混合表HT(0)保留在随机存取存储器116中。
针对步骤D09的运作,当接收到该HPB读取命令,存储装置100可参考在随机存取存储器116中的混合表HT(0)(例如该HPB条目表),以依据该HPB读取命令所载有的对应的混合表条目HTE(1)(例如对应的混合表条目HTE(1)的表条目TE1及/或表条目TE2)是否与该装置侧表资讯匹配来判断或验证该HPB读取命令所载有的对应的混合表条目HTE(1)(例如该HPB条目)是否正确。由于多个混合表条目{HTE}(例如 {HTE(0)}或{HTE(1)})在混合表HT(例如HT(0)或HT(1))中的排序(ranking)对应于该系列逻辑地址,因此当逻辑区块地址为该系列逻辑地址的其中一者时,主装置50 可依据该逻辑区块地址自该系统存储器(例如随机存取存储器56)中的混合表HT(1) 取得对应的混合表条目HTE(1),而存储装置100可用类似的方式依据该逻辑区块地址自随机存取存储器116中的混合表HT(0)取得该装置侧表资讯诸如一装置侧混合表条目HTE(0),其中装置侧混合表条目HTE(0)为随机存取存储器116中的混合表 HT(0)的多个混合表条目{HTE(0)}的其中一者,并且具有与该系统存储器(例如随机存取存储器56)中的混合表HT(1)的对应的混合表条目HTE(1)相同的排序。
当对应的混合表条目HTE(1)与保留在随机存取存储器116中的混合表HT(0)的这个混合表条目HTE(0)相同时,这表示对应的混合表条目HTE(1)是正确的,存储装置 100可依据对应的混合表条目HTE(1)(例如其表条目TE1)读取数据。存储装置100 可依据对应的混合表条目HTE(1)的表条目TE2是否等于与对应的混合表条目HTE(1) 具有相同排序的对应的混合表条目HTE(0)的表条目TE2,来判断对应的混合表条目 HTE(1)是否正确。若对应的混合表条目HTE(1)的表条目TE2等于这个混合表条目 HTE(0)的表条目TE2,对应的混合表条目HTE(1)是正确的;否则,对应的混合表条目 HTE(1)是不正确的。例如,主装置50可能已变更该HPB读取命令所载有的逻辑区块地址(其可导致变更后的逻辑区块地址与混合表条目HTE(0)诸如该HPB条目不匹配),或者主装置50因为恶意软件(malware)等原因可能已修改对应的混合表条目 HTE(1)的表条目TE1(例如与起始逻辑地址相关联的实体地址,诸如与逻辑区块地址相关联的实体区块地址(physical block address,PBA))。在此状况下,对应的混合表条目HTE(1)是不正确的。当检测到对应的混合表条目HTE(1)不正确时,存储装置100可依据混合表条目HTE(0)(例如其表条目TE1)读取数据。
当该HPB读取命令所载有的转换长度等于一(例如十六进制数值诸如0x01或01h),存储装置100可用来在混合表条目HTE(1)正确的情况下依据混合表条目HTE(1) 的表条目TE1(例如实体区块地址)读取数据,或者不论混合表条目HTE(1)是否正确均依据混合表条目HTE(0)的表条目TE1(例如实体区块地址)读取数据。另外,当HPB读取命令所载有的转换长度大于一时,存储装置100可依据混合表条目HTE (例如依据混合表条目HTE(0);或者若混合表条目HTE(1)是正确的,依据混合表条目HTE(1))的表条目TE1(例如实体区块地址)读取数据的起始部分,并且依据跟在多个混合表条目{HTE(0)}中的混合表条目HTE(0)后面的至少一后续混合表条目的至少一表条目TE1(例如至少一实体区块地址)读取该数据的至少一剩余部分。
为便于理解,假设图11的左半部所示的混合表条目{HTE(1)}的深阴影部分可表示主装置50依据逻辑区块地址选择的混合表条目HTE(1)。在此状况下,图11的右半部所示的混合表条目{HTE(0)}的深阴影部分以及浅阴影部分可分别表示混合表条目 HTE(0)以及存储装置100所选择的上述至少一后续混合表条目,其中混合表条目 {HTE(0)}的阴影部分的总数目可指出该HPB读取命令所载有的转换长度等于四(例如 1+3=4),但本发明不限于此。另外,表1的HPB条目{0,1,…}可作为多个混合表条目{HTE}(例如{HTE(0)}或{HTE(1)})的例子。因此,混合表条目HTE(1)及混合表条目 HTE(0)的每一者可包含表1的混合表条目1(例如表内容{0x00004030,0x0000A001}),其中上述至少一后续混合表条目可分别包含HPB条目{2,3,4}(例如表内容 {{0x00004030,0x0000A002},{0x00004030,0x0000A003},{0x00004030, 0x0000A004}})。为简明起见,本实施例中与前述实施例类似的说明在此不重复赘述。
图12绘示依据本发明另一实施例的用来藉助于该装置侧表资讯而在该HPB架构中进行该存储装置的存取管理的方法的控制方案。例如,电子装置10可在该装置控制模式中运作。另外,本实施例的步骤D01~D04、D06~D08、D10及D11的运作可与图10所示的实施例相同,其中步骤D05’、D09’及D12’可分别取代上列说明的D05、 D09及D12。
在步骤D05’中,存储装置100可用来依据上述至少一H2F地址映射表(例如在图 2所示的实施例中提及的局部H2F地址映射表)产生多个混合表条目{HTE},以供被传递至主装置50,并且将多个混合表条目{HTE}转换为包含有多个混合表条目{HTE} 的混合表HT的至少一衍生表(例如该一或多个衍生表),以供提升读取效能。混合表HT的上述至少一衍生表可作为随机存取存储器116中的上述至少一装置侧表的例子。
在步骤D09’中,存储装置100可用来依据逻辑区块地址、对应的混合表条目HTE、转换长度、及/或混合表HT的上述至少一衍生表自非挥发性存储器120读取数据以供主装置50之用,以回传该数据至主装置50。
在步骤D12’中,存储装置100可用来舍弃上述至少一衍生表,并且停用该区域。
依据本实施例,存储装置100可利用混合表HT的上述至少一衍生表的至少一部分(例如一部分或全部)以作为该装置侧表资讯,并且保留混合表HT的上述至少一衍生表直到接收到该HPB写入缓冲命令。为简明起见,本实施例中与前述实施例类似的说明在此不重复赘述。
为便于理解,该方法可用图13所示的运作来说明,但本发明不限于此。依据某些实施例,一或多个步骤可在图12所示的运作中被新增、删除、或修改。例如,于电子装置10运作在主机控制模式的情况下,图12所示的步骤D01及D02可被删除。又例如,于电子装置10运作在该主机控制模式的情况下,图12所示的步骤D01及D02 可被步骤A01取代。
依据某些实施例,存储装置100可利用混合表HT(例如图11所示的混合表HT(0))的至少一部分(例如一部分或全部)以及混合表HT的上述至少一衍生表的至少一部分(例如一部分或全部)以作为该装置侧表资讯,并且保留混合表HT(例如图 11所示的混合表HT(0))以及混合表HT的上述至少一衍生表直到接收到该HPB写入缓冲命令。
图13绘示该装置侧表资讯的另一个例子。为便于理解,存储装置100于步骤D05’中所保留的至少一衍生表可被称为一衍生表DT(0)。存储装置100可保留混合表HT(0) 及衍生表DT(0)直到接收到该HPB写入缓冲命令。例如,当接收到该HPB读取缓冲命令,存储装置100可依据上述至少一H2F地址映射表(例如图2所示的实施例所提及的局部H2F地址映射表)产生混合表HT(0)诸如该HPB条目表并且发送混合表HT(0) 至主装置50,并且可在随机存取存储器116诸如该静态随机存取存储器中维护混合表HT(0)(例如该HPB条目表)及衍生表DT(0)以使其依然被注记为有效表资讯,以将混合表HT(0)及衍生表DT(0)保留在随机存取存储器116中。
针对步骤D09’的运作,当接收到该HPB读取命令,存储装置100可参考在随机存取存储器116中的混合表HT(0)(例如该HPB条目表),以依据该HPB读取命令所载有的对应的混合表条目HTE(1)(例如对应的混合表条目HTE(1)的表条目TE1及/或表条目TE2)是否与该装置侧表资讯匹配来判断或验证该HPB读取命令所载有的对应的混合表条目HTE(1)(例如该HPB条目)是否正确,其中判断或验证该HPB读取命令所载有的对应的混合表条目HTE(1)(例如该HPB条目)是否正确的实施细节可与图11所示的实施例相同。当该HPB读取命令所载有的转换长度等于一,存储装置100 可用来在混合表条目HTE(1)正确的情况下依据混合表条目HTE(1)的表条目TE1(例如实体区块地址)读取数据,或者不论混合表条目HTE(1)是否正确均依据混合表条目 HTE(0)的表条目TE1(例如实体区块地址)读取数据。另外,当HPB读取命令所载有的转换长度大于一时,存储装置100可依据混合表条目HTE(例如依据混合表条目 HTE(0);或者若混合表条目HTE(1)是正确的,依据混合表条目HTE(1))的表条目TE1 (例如实体区块地址)读取数据的起始部分,并且依据衍生表DT(0)的至少一衍生表条目读取该数据的至少一剩余部分,其中衍生表DT(0)的上述至少一衍生表条目可指出跟在混合表条目{HTE(0)}中的HTE(0)后面的至少一后续混合表条目的至少一表条目TE1(例如至少一实体区块地址)的连续性,其中该连续性可表示上述至少一表条目TE1的至少一连续性状态,诸如相对于多个混合表条目{HTE(0)}中的第一个混合表条目的表条目TE1的连续性的状态。
为便于理解,假设图13的左半部所示的混合表条目{HTE(1)}的深阴影部分可表示主装置50依据逻辑区块地址选择的混合表条目HTE(1)。在此状况下,图13的右半部所示的混合表条目{HTE(0)}的深阴影部分以及浅阴影部分可分别表示存储装置100所选择的混合表条目HTE(0)以及上述至少一后续混合表条目(其至少一表条目 TE1诸如至少一实体区块地址是由衍生表DT(0)的上述至少一衍生表条目指出),其中混合表条目{HTE(0)}的阴影部分的总数目可指出该HPB读取命令所载有的转换长度等于四(例如1+3=4),但本发明不限于此。另外,表1的HPB条目{0,1,…}可作为多个混合表条目{HTE}(例如{HTE(0)}或{HTE(1)})的例子。因此,混合表条目HTE(1) 及混合表条目HTE(0)的每一者可包含表1的混合表条目1(例如表内容{0x00004030, 0x0000A001}),而上述至少一后续混合表条目可分别包含表1的HPB条目{2,3,4}(例如表内容{{0x00004030,0x0000A002},{0x00004030,0x0000A003},{0x00004030, 0x0000A004}})。为简明起见,本实施例中与前述实施例类似的说明在此不重复赘述。
表2
表2展示混合表HT的另一个例子,其中「…」的符号表示某些表内容被省略以求简明,而表2的HPB条目{0,1,…}可表示多个混合表条目{HTE}(例如{HTE(0)}或 {HTE(1)})。另外,表2的T1及T2内容(例如十六进制数值)可分别表示表T1及T2的内容(例如表T1及T2的各自的表条目{TE1}及{TE2})。出现在T1内容的实体地址{0x0000A000,0x0000A001,0x0000A002,0x0000A009,0x0000A004,0x0000A005, 0x0000B00A,0x0000A007,…}可作为与该系列逻辑地址对应的相关实体地址的例子,而在T2内容中的实体地址{0x00004030,0x00004030,…}中重复出现的实体地址 0x00004030可作为该局部H2F地址映射表的实体地址的例子。
表3
衍生表条目 连续性
0 0
1 0
2 0
3 1
4 0
5 0
6 1
7 0
表3展示衍生表DT(0)的例子,其中“…”的符号表示某些表内容被省略以求简明,而表3的衍生表条目{0,1,…}可表示衍生表DT(0)的多个衍生表条目{DTE(0)},其中多个衍生表条目{DTE(0)}分别对应于多个混合表条目{HTE}(例如{HTE(0)}或{HTE(1)}),尤其分别指出相对于表条目{TE1}的起始条目的多个混合表条目{HTE}(例如{HTE(0)}或{HTE(1)})的表条目{TE1}的连续性。例如,出现在表2的T1内容的实体地址{0x0000A000,0x0000A001,0x0000A002,0x0000A009,0x0000A004,0x0000A005, 0x0000B00A,0x0000A007,…}中除了某些不连续处(例如断点)诸如0x0000A009、 0x0000B00A等等以外的部分可被视为一系列连续实体地址,而衍生表DT(0)的多个衍生表条目{DTE(0)}诸如连续性位元{0,0,0,1,0,0,1,0,…}可用来指出相对于第一个实体地址0x0000A000的连续性(例如非断点)诸如0x0000A000、0x0000A001、 0x0000A002、0x0000A004、0x0000A005、0x0000A007等等以及相对于第一个实体地址0x0000A000的非连续性(例如断点)诸如0x0000A009、0x0000B00A等等,但本发明不限于此。依据某些实施例,连续性位元{0,0,0,1,0,0,1,0,…}可取代为其反向版本。依据某些实施例,多个衍生表条目{DTE(0)}的第一个表条目(诸如连续性位元{0,0,0,1,0,0,1,0,…}的第一个连续性位元0)可予以省略。
依据某些实施例,表2的HPB条目{0,1,…}以及表3的衍生表条目{0,1,…}可分别作为多个混合表条目{HTE}(例如{HTE(0)}或{HTE(1)})以及衍生表DT(0)的多个衍生表条目{DTE(0)}的例子。为便于理解,假设图13的左半部所示的混合表条目{HTE(1)} 的深阴影部分可表示主装置50依据逻辑区块地址选择的混合表条目HTE(1)。在此状况下,图13的右半部所示的混合表条目{HTE(0)}的深阴影部分以及浅阴影部分可分别表示存储装置100所选择的混合表条目HTE(0)以及上述至少一后续混合表条目 (其至少一表条目TE1诸如至少一实体区块地址是由衍生表DT(0)的上述至少一衍生表条目指出),其中混合表条目{HTE(0)}的阴影部分的总数目可指出该HPB读取命令所载有的转换长度等于四(例如1+3=4),但本发明不限于此。另外,表2的HPB 条目{0,1,…}可作为多个混合表条目{HTE}(例如{HTE(0)}或{HTE(1)})的例子。因此,混合表条目HTE(1)及混合表条目HTE(0)的每一者可包含表2的混合表条目1(例如表内容{0x00004030,0x0000A001}),而上述至少一后续混合表条目可分别包含表2的 HPB条目{2,3,4}(例如表内容{{0x00004030,0x0000A002},{0x00004030, 0x0000A009},{0x00004030,0x0000A004}}),其中衍生表DT(0)的上述至少一衍生表条目可包含表3的衍生表条目{2,3,4}。
由于衍生表DT(0)的上述至少一衍生表条目诸如表3的衍生表条目{2,3,4}可指出跟在HPB条目1后面的后续HPB条目{2,3,4}的各自的实体地址{0x0000A002, 0x0000A009,0x0000A004}相对于表2的HPB条目{0,1,…}中的HPB条目0的实体地址 0x0000A000的连续性,因此存储装置100可从实体地址0x0000A001开始读取位于实体地址0x0000A001到0x0000A004的连续数据,并且读取位于实体地址0x0000A009 的一片段(segment)的不连续数据(例如断点数据,诸如一断点的有效数据),并且以位于实体地址0x0000A009的该片段的不连续数据取代位于实体地址 0x0000A001到0x0000A004的连续数据中的位于实体地址0x0000A003的无效数据,以产生对应于该读取请求(例如该HPB读取命令)的数据,并且接着回传对应于该读取请求的数据至主装置50。为简明起见,本实施例中与前述实施例类似的说明在此不重复赘述。
依据某些实施例,假设对应于该读取请求(例如该HPB读取命令)的数据为位于0x0000A000至0x0000A002的连续数据。在此状况下,由于位于0x0000A000至 0x0000A002的连续数据全部都是有效数据,因此存储装置100可直接从实体地址 0x0000A000开始读取位于实体地址0x0000A000至0x0000A002的连续数据,以产生对应于该读取请求的数据,而不需要读取任何片段的非连续数据及取代任何任何无效数据。之后,存储装置100可回传对应于该读取请求的数据至主装置50。为简明起见,本实施例中与前述实施例类似的说明在此不重复赘述。
表4
表4展示衍生表DT(0)的另一个例子,其中「…」的符号表示某些表内容被省略以求简明,而表4的衍生表条目{0,1,…}可表示衍生表DT(0)的多个衍生表条目 {DTE(0)}。表4中所示的连续性位元{1,1,1,0,1,1,0,1,…}可作为表3中所示的连续性位元{0,0,0,1,0,0,1,0,…}的反向版本的例子。为简明起见,本实施例中与前述实施例类似的说明在此不重复赘述。
图14绘示该装置侧表资讯的另一个例子。存储装置100可舍弃在混合表条目 HT(0)中的表T2并且保留在混合表条目HT(0)中的表T1,以产生包含有表条目{TE1(0)} 的表T1(0),其中表T1(0)可被视为混合表条目HT(0)的压缩后版本并且可作为毁合表 HT的上述至少一衍生表的例子。存储装置100可依据表T1(0)直接读取数据以产生对应于该读取请求的数据。为简明起见,本实施例中与前述实施例类似的说明在此不重复赘述。
表5
HPB条目 T1内容
0 0x0000A000
1 0x0000A001
2 0x0000A002
3 0x0000A009
4 0x0000A004
5 0x0000A005
6 0x0000B00A
7 0x0000A007
表5展示表T1(0)的一个例子,其中「…」的符号表示某些表内容被省略以求简明,而表5的HPB条目{0,1,…}可表示多个表条目{TE1(0)}。另外,表5的T1内容(例如十六进制数值)可表示表T1(0)的内容(例如表T1(0)的表条目{TE1(0)})。出现在T1 内容的实体地址{0x0000A000,0x0000A001,0x0000A002,0x0000A009,0x0000A004, 0x0000A005,0x0000B00A,0x0000A007,…}可作为与该系列逻辑地址对应的相关实体地址的例子。为简明起见,本实施例中与前述实施例类似的说明在此不重复赘述。
图15绘示该装置侧表资讯的另一个例子。存储装置100可产生包含有上述表条目{TE1(0)}的表T1(0),并且藉由舍弃衍生表DT(0)所指出之与一或多个连续性(例如一或多个非断点)对应的一或多个表条目以及保留衍生表DT(0)所指出之与一或多个非连续性(例如一或多个断点)对应的一或多个表条目来进一步压缩表T1(0),以产生包含有剩余表条目{TE1(0)}的表T1P(0),其中表T1P(0)可视为混合表条目HT(0) 的压缩后版本并且可作为混合表HT的上述至少一衍生表的例子。存储装置100可依据表T1P(0)以及衍生表DT(0)读取数据,以产生对应于该读取请求的数据。为简明起见,本实施例中与前述实施例类似的说明在此不重复赘述。
表6
HPB条目 T1内容
0 0x0000A000
3 0x0000A009
6 0x0000B00A
表6展示表T1P(0)的一个例子,其中“…”的符号表示某些表内容被省略以求简明,而表6的HPB条目{0,3,6,…}可包含与表5的HPB条目{0,1,…}中的非连续性(例如断点)对应的HPB条目{0,3,6,…},诸如HPB条目0的T1内容(例如0x0000A000)与衍生表DT(0)所指出的非连续性对应的HPB条目{3,6,…}的T1内容(例如{0x0000A009, 0x0000B00A,…}),并且可表示在表T1P(0)中的剩余表条目{TE1(0)}。为简明起见,本实施例中与前述实施例类似的说明在此不重复赘述。
图16绘示该装置侧表资讯的另一个例子。存储装置100可产生包含有上述表条目{TE1(0)}的表T1(0)。另外,存储装置100可依据表T1(0)以及衍生表DT(0)读取数据,以产生对应于该读取请求的数据。为简明起见,本实施例中与前述实施例类似的说明在此不重复赘述。
图17绘示该装置侧表资讯的另一个例子。存储装置100可产生包含有上述表条目{TE1(0)}的表T1(0)。另外,存储装置100可依据表T1(0)以及混合表HT(0)的另一衍生表DT(1)读取数据,以产生对应于该读取请求的数据,其中包含有多个衍生表条目{DTE(1)}的衍生表DT(1)取代了包含有多个衍生表条目{DTE(0)}的衍生表DT(0),并且可作为混合表HT的上述至少一衍生表的例子。例如,衍生表DT(1)的多个衍生表条目{DTE(1)}的每一者可包含多于一个位元以载有更多连续性资讯,并且该更多连续性资讯可包含混合表条目{TE1(0)}的多于一个表条目TE1(0)的连续性资讯(例如连续性或非连续性)。为简明起见,本实施例中与前述实施例类似的说明在此不重复赘述。
表7
衍生表条目 连续地址长度
0 0x2
1 0x1
2 0x0
3 0x0
4 0x1
5 0x0
6 0x0
7
表7展示衍生表DT(1)的例子,其中“…”的符号表示某些表内容被省略以求简明,而表7的衍生表条目{0,1,…}可表示衍生表DT(1)的多个衍生表条目{DTE(1)},其中多个衍生表条目{DTE(1)}分别对应于多个混合表条目{HTE}(例如{HTE(0)}或 {HTE(1)}),尤其指出针对多个混合表条目{HTE}(例如{HTE(0)}或{HTE(1)})的表条目 {TE1}(例如实体区块地址)的连续性资讯,诸如分别相对于表条目{TE1(0)}(例如实体区块地址)的连续地址长度。
依据本实施例,由于表T1(0)可视为混合表HT(0)的压缩后版本,因此多个衍生表条目{DTE(1)}的任一衍生表条目DTE(1)可对应于表条目{TE1(0)}的某个表条目TE1(0),并且可表示自起始实体地址开始的一或多个连续实体地址(例如一或多个连续实体区块地址)并且被记录成在表条目{TE1(0)}中自这个表条目TE1(0)开始的一或多个连续表条目。例如,在表5的T1内容中出现的实体地址{0x0000A000, 0x0000A001,0x0000A002,0x0000A009,0x0000A004,0x0000A005,0x0000B00A, 0x0000A007,…}中除了某些不连续处(例如断点)诸如0x0000A009、0x0000B00A等等以外的部分可被视为一系列连续实体地址,而衍生表DT(1)的多个衍生表条目 {DTE(1)}诸如连续地址长度{0x2,0x1,0x0,0x0,0x1,0x0,0,…}可用来分别指出自实体地址{0x0000A000,0x0000A001,0x0000A002,0x0000A009,0x0000A004,0x0000A005, 0x0000B00A,0x0000A007,…}起始的连续地址长度。针对在表5的T1内容中出现的实体地址{0x0000A000,0x0000A001,0x0000A002,0x0000A009,0x0000A004, 0x0000A005,0x0000B00A,0x0000A007,…},由于从实体地址0x0000A000开始有三个连续实体地址{0x0000A000,0x0000A001,0x0000A002},因此存储装置100可记录从实体地址0x0000A000开始的连续地址长度等于0x2,如表7所示;由于从实体地址 0x0000A001开始有两个连续实体地址{0x0000A001,0x0000A002},因此存储装置100可记录从实体地址0x0000A001开始的连续地址长度等于0x1,如表7所示;由于从实体地址0x0000A002开始只有一个连续实体地址{0x0000A002},因此存储装置100可记录从实体地址0x0000A002开始的连续地址长度等于0x0,如表7所示;由于从实体地址0x0000A009开始只有一个连续实体地址{0x0000A009},因此存储装置100可记录从实体地址0x0000A009开始的连续地址长度等于0x0,如表7所示;而其余可依此类推。
由于该连续性资讯诸如该连续地址长度清楚地指出连续性与非连续性,因此存储装置100可先读取连续数据,并且读取一或多个片段的非连续数据(例如断点数据)诸如一或多个断点的有效数据,并且用该一或多个片段的非连续数据取代位于该一或多个断点的无效数据以产生对应于该读取请求的数据(例如该HPB读取命令),并且接着回传对应于该读取请求的数据至主装置50。为简明起见,本实施例中与前述实施例类似的说明在此不重复赘述。
表8
表8展示表T1(0)的例子,其中「…」的符号表示某些表内容被省略以求简明,而表8的HPB条目{0,1,…}可表示多个表条目{TE1(0)}。另外,表8的T1内容(例如十六进制数值)可表示表T1(0)的内容(例如表T1(0)的表条目{TE1(0)})。出现在T1内容的实体地址{0x0000A000,0x0000A001,0x0000A002,0x0000A003,0x0000A004, 0x0000A005,0x0000B009,0x0000A007,…}可作为与该系列逻辑地址对应的相关实体地址的例子。为简明起见,本实施例中与前述实施例类似的说明在此不重复赘述。
表9
表9展示衍生表DT(1)的另一个例子,其中“…”的符号表示某些表内容被省略以求简明,而表9的衍生表条目{0,1,…}可表示衍生表DT(1)的多个衍生表条目 {DTE(1)},其中多个衍生表条目{DTE(1)}分别对应于多个混合表条目{HTE}(例如 {HTE(0)}或{HTE(1)}),尤其指出针对多个混合表条目{HTE}(例如{HTE(0)}或{HTE(1)}) 的表条目{TE1}(例如实体区块地址)的连续性资讯,诸如分别相对于表条目{TE1(0)} (例如实体区块地址)的连续性位元图谱(continuity bit map)。
依据本实施例,由于表T1(0)可视为混合表HT(0)的压缩后版本,因此多个衍生表条目{DTE(1)}的任一衍生表条目DTE(1)可对应于表条目{TE1(0)}的某个表条目 TE1(0),并且可表示跟在起始记录实体地址(例如实体区块地址)后面的多个后续记录实体地址(例如实体区块地址)的一连续性位元图谱并且被记录成在表条目 {TE1(0)}跟在这个表条目TE1(0)后面的多个后续表条目。例如,在表8的T1内容中出现的实体地址{0x0000A000,0x0000A001,0x0000A002,0x0000A003,0x0000A004, 0x0000A005,0x0000B009,0x0000A007,…}中除了某些不连续处(例如断点)诸如 0x0000B009、0x0000B00A等等以外的部分可被视为一系列连续实体地址,而衍生表DT(1)的多个衍生表条目{DTE(1)}诸如连续性位元图谱{0xBDF,0xDEF,0xEF7, 0xF7B…}(例如分别以其二进制数值表示的{101111011111,110111101111, 111011110111,111101111011,…})可用来分别指出跟在起始记录实体地址诸如实体地址{0x0000A000,0x0000A001,0x0000A002,0x0000A003,0x0000A004, 0x0000A005,0x0000B009,0x0000A007,…}后面的多组后续记录实体地址的连续性位元图谱。
另外,上列的连续性位元图谱中的任一连续性位元图谱(例如每一连续性位元图谱)的位元数(位元的数量)可等于该多组后续记录实体地址的任一组后续记录实体地址(例如每一组后续记录实体地址)的地址数(例如实体地址的数量),尤其可等于12,但本发明不限于此。在某些例子中,这个位元数与这个地址数可予以变化。针对出现在表8的T1内容的实体地址{0x0000A000,0x0000A001,0x0000A002, 0x0000A003,0x0000A004,0x0000A005,0x0000B009,0x0000A007,…},由于跟在实体地址0x0000A000后面的十二个后续记录实体地址{0x0000A001,0x0000A002, 0x0000A003,0x0000A004,0x0000A005,0x0000B009,0x0000A007,…}中有十个连续性与两个非连续性,因此存储装置100可将这组实体地址{0x0000A001,0x0000A002, 0x0000A003,0x0000A004,0x0000A005,0x0000B009,0x0000A007,…}的连续性位元图谱记录为0xBDF,如表9所示,其中其二进制数值101111011111从最低有效位元 (Least Significant Bit,LSB)到最高有效位元(MostSignificant Bit,MSB)的各个位元分别指出这组实体地址{0x0000A001,0x0000A002,0x0000A003,0x0000A004, 0x0000A005,0x0000B009,0x0000A007,…}的各自的连续/非连续状态;由于跟在实体地址0x0000A001后面的十二个后续记录实体地址{0x0000A002,0x0000A003, 0x0000A004,0x0000A005,0x0000B009,0x0000A007,…}中有十个连续性与两个非连续性,因此存储装置100可将这组实体地址{0x0000A002,0x0000A003,0x0000A004,0x0000A005,0x0000B009,0x0000A007,…}的连续性位元图谱记录为0xDEF,如表9所示,其中其二进制数值110111101111从最低有效位元到最高有效位元的各个位元分别指出这组实体地址{0x0000A002,0x0000A003,0x0000A004,0x0000A005, 0x0000B009,0x0000A007,…}的各自的连续/非连续状态;而其余可依此类推。
由于该连续性资讯诸如该连续性位元图谱清楚地指出了各个连续性与非连续性,因此存储装置100可先读取连续数据,并且读取一或多个片段的非连续数据(例如断点数据)诸如一或多个断点的有效数据,并且以该一或多个片段的非连续数据取代位于该一或多个断点的无效数据以产生对应于该读取请求(例如该HPB读取命令)的数据,并且接着回传对应于该读取请求的数据至主装置50。为简明请见,本实施例中与前述实施例类似的说明在此不重复赘述。
依据某些实施例,混合表HT可予以变化。例如,在不需要依据混合表HT的多个混合表条目{HTE}的上述任一混合表条目HTE的表条目TE2检查该局部H2F地址映射表是否正确或检查该实体地址是否正确的情况下,在混合表HT中的表T2可用来载有虚设(dummy)数据。又例如,存储装置100(例如存储器控制器110)可事先对混合表HT的多个混合表条目{HTE}分别进行一预定条目处理,例如藉由编码、扰码(scramble)、加密(encrypt)等等,并且提供多个混合表条目{HTE}的处理后结果以作为多个混合表条目{HTE}的替代品给主装置50,并且可对从主装置50接收的某个处理后结果进行该预定条目处理的一反向条目处理,例如藉由解码、解扰码 (descramble)、解密(decrypt)等等,以复原多个混合表条目{HTE}的上述任一混合表条目HTE。为简明起见,本实施例中与前述实施例类似的说明在此不重复赘述。
图18绘示依据本发明一实施例的一种用来藉助于该装置侧表资讯而在该HPB 架构中进行该存储装置的存取管理的方法的工作流程。在该处理电路诸如微处理器 112的控制下,存储器控制器110可依据该方法运作,尤其依据该方法控制存储装置 100的运作。
在步骤S10中,存储器控制器110可产生或更新上述至少一H2F地址映射表(例如该全域H2F地址映射表120T)以管理实体地址与逻辑地址之间的映射关系,以控制非挥发性存储器120的数据存取。例如,存储器控制器110可进行垃圾收集以将有效数据收集至非挥发性存储器中的一或多个空白实体区块(例如抹除后的实体区块),并且对应地更新上述至少一H2F地址映射表(例如该全域H2F地址映射表 120T),但本发明不限于此。
在步骤S11中,存储器控制器110可发送存储装置100的内部资讯(例如混合表 HT(0))至主装置50,以容许主装置50将存储装置100的该内部资讯储存于主装置50 内的一存储器(例如随机存取存储器56)中以作为位于主装置50的主机侧表资讯(例如混合表HT(1))。例如,存储器控制器110可依据上述至少一H2F地址映射表产生该内部资讯(例如混合表HT(0)),尤其将该多个局部H2F地址映射表中的该局部H2F 地址映射表加载至随机存取存储器116中并且将这个局部H2F地址映射表的对应的保护资讯(例如这个局部H2F地址映射表的实体地址,诸如指出这个局部H2F地址映射表在非挥发性存储器120中被储存的最新位置的最新实体位置)加入随机存取存储器116中,以产生该内部资讯诸如混合表HT(0),以供被发送给主装置50作为该主机侧表资讯诸如混合表HT(1)。
在步骤S12中,存储器控制器110可产生并且储存至少一地址映射控制表(例如在上列的一或多个实施例中的一或多个地址映射控制表,诸如混合表HT(0)、表 T1(0)、表T1P(0)等等之中的一或多个表)的多个条目至存储器控制器110内的随机存取存储器116中以作为位于存储装置100的该装置侧表资讯的至少一部分(例如一部分或全部)。例如,上述至少一地址映射控制表的该多个条目的任一条目可包含用于地址映射的地址资讯,以及该任一条目内的地址资讯可指出一实体地址与一逻辑地址之间的一映射关系。为便于理解,上述至少一地址映射控制表的该多个条目可分别包含用于地址映射的地址资讯,并且该多个条目所分别载有的地址资讯可分别指出多个实体地址与多个逻辑地址之间的多个映射关系。
请注意,该主机侧表资讯(例如混合表HT(1))可包含由上述至少一地址映射控制表的该多个条目所分别载有的地址资讯。如上所述,于步骤D05中被保留在存储装置100的混合表HT可被称为该装置侧混合表诸如混合表HT(0),而于步骤D07中被储存在主装置50的混合表HT可被称为该主机侧混合表诸如混合表HT(1)。因此,混合表HT(1)可被视为来自混合表HT(0)。当混合表HT(0)、表T1(0)、表T1P(0)等等之中的该一或多个表的任一表作为上述至少一地址映射控制表的例子时,该主机侧表资讯诸如混合表HT(1)可包含在该任一表的全部条目中的任一条目(例如每一条目) 中找到的地址资讯。
在步骤S13中,存储器控制器110可依据一旗标Flag_DT判断是否产生该至少一地址映射控制表的至少一个次要映射控制表(在图中标示为“Flag_DT==1”以求简明),其中存储器控制器110可事先依据一或多个设定(例如预设设定或使用者设定)将旗标Flag_DT设为逻辑值0及1的其中一者。若判断结果为“是”(例如Flag_DT =1),进入步骤S14;若判断结果为“否”(例如Flag_DT=0),进入步骤S15。
在步骤S14中,在该至少一地址映射控制表的该多个条目被储存至随机存取存储器116以作为位于存储装置100的该装置侧表资讯的第一部分的情况下,存储器控制器110可产生并且储存该至少一地址映射控制表的该至少一个次要映射控制表至随机存取存储器116以作为位于存储装置100的该装置侧表资讯的第二部分,其中该至少一个次要映射控制表是关于该装置侧表资讯的第一部分,并且是被用来当作参考资讯以供读取之用。例如,该至少一个次要映射控制表可包含混合表HT的上述至少一衍生表(例如上列一或多个实施例中的一或多个衍生表,诸如衍生表DT(0)、 DT(1)等等的一或多个表)。
在步骤S15中,存储器控制器110可判断主装置50是否发送了用于指出至少一请求的至少一封包至存储装置100。若判断结果为“是”(例如存储器控制器110从主装置50接收到上述至少一封包),进入步骤S16;若判断结果为“否”(例如存储器控制器110并未从主装置50接收到封包),进入步骤S15,以等待来自主装置50的上述至少一封包。
在步骤S16中,因应主装置50发送了指出上述至少一请求的上述至少一封包,存储器控制器110可判断在上述至少一请求中是否存在大于一个单位大小的数据的读取请求(例如大于一个逻辑地址/逻辑区块地址的数据读取的请求,其中转换长度大于一)。该单位大小可表示与一单一逻辑地址诸如一单一逻辑区块地址对应的一预定大小,但本发明不限于此。若判断结果为“是”(例如该读取请求诸如上述大于一个逻辑地址的数据读取的请求存在,其中转换长度大于一),进入步骤S17 以依据该读取请求运作;若判断结果为“否”(例如该读取请求诸如上述大于一个逻辑地址的数据读取的请求不存在,尤其上述至少一请求可包含一非读 (non-reading)请求诸如一写入请求、或另一类型的读取请求,诸如带有转换长度等于一之仅一个逻辑地址的数据读取的请求),进入步骤S20以依据其他请求运作。例如,至少载有上述至少一封包中的该读取请求的起始逻辑地址与数据长度的一读取命令封包(例如该HPB读取命令,尤指其命令封包)可指出大于一个单位大小的数据的读取请求。在此状况下,上述大于一个单位大小的数据的读取请求存在,进入步骤S17。
在步骤S17中,因应来自主装置50之与至少两个逻辑地址对应的该读取请求(例如该HPB读取命令),存储器控制器可依据上述至少一地址映射控制表及/或上述至少一衍生表决定与该至少两个逻辑地址相关联的至少两个实体地址,其中该读取请求载有该主机侧表资讯的部分资讯,诸如混合表HT(1)的一对应的混合表条目 HT(1)。该读取请求(例如该HPB读取命令)可指出需要包含有该至少两个逻辑地址的至少一地址范围的读取数据,其中该读取请求可表示用于读取包含有该至少两个逻辑地址的该至少一地址范围的数据的请求。
例如,在Flag_DT=0的情况下(其可指出该至少一衍生表在执行步骤S17的期间不存在),存储器控制器110可运作如下:
(1)当步骤S12所提及的至少一地址映射控制表代表图11所示的混合表HT(0),存储器控制器110可在步骤S17中依据该至少一地址映射控制表诸如图11所示的混合表 HT(0)来决定该至少两个实体地址;以及
(2)当步骤S12所提及的至少一地址映射控制表代表图14所示的表T1(0),存储器控制器110可在步骤S17中依据该至少一地址映射控制表诸如图14所示的表T1(0)来决定该至少两个实体地址。
在某些例子中,在Flag_DT=1的情况下(其可指出该至少一衍生表在执行步骤S17的期间存在),存储器控制器110可运作如下:
(1)当步骤S12所提及的至少一地址映射控制表代表图13所示的混合表HT(0),存储器控制器110可依据该至少一地址映射控制表诸如图13所示的混合表HT(0)并且依据该至少一衍生表诸如图13所示的衍生表DT(0)来决定该至少两个实体地址;
(2)当步骤S12所提及的至少一地址映射控制表代表图15所示的表T1P(0),存储器控制器110可依据该至少一地址映射控制表诸如图15所示的表T1P(0)并且依据该至少一衍生表诸如图15所示的衍生表DT(0)来决定该至少两个实体地址;
(3)当步骤S12所提及的至少一地址映射控制表代表图16所示的表T1(0),存储器控制器110可依据该至少一地址映射控制表诸如图16所示的表T1(0)并且依据该至少一衍生表诸如图16所示的衍生表DT(0)来决定该至少两个实体地址;
(4)当步骤S12所提及的至少一地址映射控制表代表图17所示的表T1(0),存储器控制器110可依据该至少一地址映射控制表诸如图17所示的表T1(0)并且依据该至少一衍生表诸如图17所示的衍生表DT(1)来决定该至少两个实体地址。
请注意,该读取请求(例如该HPB读取命令)可载有该多个条目中的仅一个(onlyone)条目(例如与该多个条目中的该至少两个逻辑地址的其中一者对应的条目)。因应来自主装置50的与该至少两个逻辑地址对应的该读取请求(例如该HPB读取命令),存储器控制器110可依据该至少一地址映射控制表并且依据于该多个条目中的该仅一个条目(例如与该多个条目中的该至少两个逻辑地址的其中一者对应的条目)决定与该至少两个逻辑地址相关联的该至少两个实体地址。为便于理解,存储器控制器110可自该读取命令封包(例如该HPB读取命令封包,尤指其命令封包) 取得对应的混合表条目HTE(1),并且藉助于对应的混合表条目HTE(1)决定该至少两个实体地址,但本发明不限于此。例如,当判断自该读取命令封包取得的对应的混合表条目HTE(1)没有用时,存储器控制器110可舍弃对应的混合表条目HTE(1)。
在步骤S18中,存储器控制器110可依据上述至少两个实体地址自非挥发性存储器120读取对应于该读取请求的数据,以回传该数据至主装置50。
在步骤S20中,存储器控制器110可进行与其他请求对应的其他处理。例如,因应主装置50发送指出该至少一请求的该至少一封包,存储器控制器110可判断在该至少一请求中是否存在一写入请求。当该写入请求存在于该至少一请求时,存储器控制器110可对非挥发性存储器进行数据写入(例如数据编程),并且相对应地更新上述至少一H2F地址映射表(例如该全域H2F地址映射表,尤指该多个局部H2F地址映射表中的一或多者),以供指出该数据写入的至少一实体地址与至少一逻辑地址之间的至少一最新映射关系。又例如,因应主装置50发送指出该至少一请求的该至少一封包,存储器控制器110可判断仅一个逻辑地址(例如转换程度等于一)的数据读取的请求是否存在。当该仅一个逻辑地址的数据读取的请求存在时,存储器控制器110可自非挥发性存储器120读取该仅一个逻辑地址的数据,例如藉助于自该读取命令封包取得的对应的混合表条目HTE(1),其中对应的混合表条目HTE(1)可指出用来读取该仅一个逻辑地址的数据的实体地址,之后可进入步骤S13。为简明起见,本实施例中与前述实施例类似的说明在此不重复赘述。
在步骤S21中,存储器控制器110可判断是否跳到一先前步骤诸如步骤S10及S11的任一者。例如,当判断需要更新上述至少一H2F地址映射表时,存储器控制器110 可跳到步骤S10。又例如,当判断需要发送存储装置100的内部资讯至主装置50时(例如该内部资讯诸如混合表HT(0)被改变或更新时),存储器控制器110可跳到步骤 S11。
为便于理解,该方法可用图18所示的工作流程来说明,但本发明不限于此。依据某些实施例,一或多个步骤可在图18所示的工作流程中被新增、删除、或修改。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (10)

1.一种用来藉助于装置侧表资讯而在一主机效能增幅器(Host PerformanceBooster,HPB)架构中进行一存储装置的存取管理的方法,该方法是可应用于(applicableto)该存储装置的一存储器控制器,该存储装置包含该存储器控制器以及一非挥发性存储器,该非挥发性存储器包含至少一非挥发性存储器元件,该方法包含:
发送该存储装置的内部资讯至一主装置,以容许该主装置将该存储装置的该内部资讯储存于该主装置内的一存储器中以作为位于该主装置的主机侧表资讯;
产生并且储存至少一地址映射控制表的多个条目至该存储器控制器内的一随机存取存储器中以作为位于该存储装置的该装置侧表资讯的至少一部分,其中该至少一地址映射控制表的该多个条目的任一条目包含用于地址映射的地址资讯,以及所述任一条目内的地址资讯指出一实体地址与一逻辑地址之间的一映射关系,其中该主机侧表资讯包含由该至少一地址映射控制表的该多个条目所分别载有(carry)的地址资讯;
因应来自该主装置之与至少两个逻辑地址对应的一读取请求,依据该至少一地址映射控制表决定与该至少两个逻辑地址相关联的至少两个实体地址,其中该读取请求载有该主机侧表资讯的部分资讯;以及
依据该至少两个实体地址自该非挥发性存储器读取与该读取请求对应的数据,以将该数据回传至该主装置。
2.如权利要求1所述的方法,其特征在于,该至少一地址映射控制表的该多个条目分别包含用于地址映射的地址资讯,以及分别由该多个条目所载有的地址资讯分别指出多个实体地址与多个逻辑地址之间的多个映射关系。
3.如权利要求1所述的方法,其特征在于,该读取请求载有于该多个条目中与该至少两个逻辑地址的其中一者对应的一条目;以及依据该至少一地址映射控制表决定与该至少两个逻辑地址相关联的该至少两个实体地址另包含:
因应来自该主装置之与该至少两个逻辑地址对应的该读取请求,依据该至少一地址映射控制表并且依据与该至少两个逻辑地址的所述其中一者对应的该条目决定与该至少两个逻辑地址相关联的该至少两个实体地址。
4.如权利要求1所述的方法,其特征在于,该读取请求载有该多个条目中的仅一个(only one)条目。
5.如权利要求4所述的方法,其特征在于,依据该至少一地址映射控制表决定与该至少两个逻辑地址相关联的该至少两个实体地址另包含:
因应来自该主装置之与该至少两个逻辑地址对应的该读取请求,依据该至少一地址映射控制表并且依据于该多个条目中的该仅一个条目决定与该至少两个逻辑地址相关联的该至少两个实体地址。
6.如权利要求1所述的方法,其特征在于,该至少一地址映射控制表的该多个条目是被储存于该随机存取存储器中以作为位于该存储装置的该装置侧表资讯的一第一部分;以及该方法另包含:
产生并且储存至少一个次要(secondary)映射控制表至该随机存取存储器中以作为位于该存储装置的该装置侧表资讯的一第二部分,其中该至少一个次要映射控制表是关于该装置侧表资讯的该第一部分,并且被用来当作参考资讯以供读取之用。
7.如权利要求6所述的方法,其特征在于,依据该至少一地址映射控制表决定与该至少两个逻辑地址相关联的该至少两个实体地址另包含:
因应来自该主装置之与该至少两个逻辑地址对应的该读取请求,依据该至少一地址映射控制表并且依据该至少一个次要映射控制表决定与该至少两个逻辑地址相关联的该至少两个实体地址。
8.一种存储装置,包含:
一非挥发性存储器,用来储存资讯,其中该非挥发性存储器包含至少一非挥发性存储器元件;以及
一控制器,耦接至该非挥发性存储器,用来控制该存储装置的运作,其中该控制器包含:
一处理电路,用来依据来自一主装置的多个主机命令(command)控制该控制器,以容许该主装置透过该控制器存取该非挥发性存储器;以及
一随机存取存储器,耦接至该处理电路,用来提供内部储存空间给该控制器;
其中:
该控制器发送该存储装置的内部资讯至该主装置,以容许该主装置将该存储装置的该内部资讯储存于该主装置内的一存储器中以作为位于该主装置的主机侧表资讯;
该控制器产生并且储存至少一地址映射控制表的多个条目至该控制器内的该随机存取存储器中以作为位于该存储装置的装置侧表资讯的至少一部分,其中该至少一地址映射控制表的该多个条目的任一条目包含用于地址映射的地址资讯,以及所述任一条目内的地址资讯指出一实体地址与一逻辑地址之间的一映射关系,其中该主机侧表资讯包含由该至少一地址映射控制表的该多个条目所分别载有(carry)的地址资讯;
因应来自该主装置之与至少两个逻辑地址对应的一读取请求,该控制器依据该至少一地址映射控制表决定与该至少两个逻辑地址相关联的至少两个实体地址,其中该读取请求载有该主机侧表资讯的部分资讯;以及
该控制器依据该至少两个实体地址自该非挥发性存储器读取与该读取请求对应的数据,以将该数据回传至该主装置。
9.一种包含有权利要求8所述的存储装置的电子装置,且另包含:
该主装置,耦接至该存储装置,其中该主装置包含:
至少一处理器,用来控制该主装置的运作;以及
一电源供应电路,耦接至该至少一处理器,用来提供电源给该至少一处理器以及该存储装置;
其中该存储装置提供储存空间给该主装置。
10.一种存储装置的控制器,该存储装置包含该控制器以及一非挥发性存储器,该非挥发性存储器包含至少一非挥发性存储器元件,该控制器包含:
一处理电路,用来依据来自一主装置的多个主机命令控制该控制器,以容许该主装置透过该控制器存取该非挥发性存储器;以及
一随机存取存储器,耦接至该处理电路,用来提供内部储存空间给该控制器;
其中:
该控制器发送该存储装置的内部资讯至该主装置,以容许该主装置将该存储装置的该内部资讯储存于该主装置内的一存储器中以作为位于该主装置的主机侧表资讯;
该控制器产生并且储存至少一地址映射控制表的多个条目至该控制器内的该随机存取存储器中以作为位于该存储装置的装置侧表资讯的至少一部分,其中该至少一地址映射控制表的该多个条目的任一条目包含用于地址映射的地址资讯,以及所述任一条目内的地址资讯指出一实体地址与一逻辑地址之间的一映射关系,其中该主机侧表资讯包含由该至少一地址映射控制表的该多个条目所分别载有(carry)的地址资讯;
因应来自该主装置之与至少两个逻辑地址对应的一读取请求,该控制器依据该至少一地址映射控制表决定与该至少两个逻辑地址相关联的至少两个实体地址,其中该读取请求载有该主机侧表资讯的部分资讯;以及
该控制器依据该至少两个实体地址自该非挥发性存储器读取与该读取请求对应的数据,以将该数据回传至该主装置。
CN202110909556.2A 2020-08-11 2021-08-09 存储装置的存取管理的方法及设备 Active CN114077559B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063064379P 2020-08-11 2020-08-11
US63/064,379 2020-08-11
US17/361,227 2021-06-28
US17/361,227 US11449244B2 (en) 2020-08-11 2021-06-28 Method and apparatus for performing access management of memory device in host performance booster architecture with aid of device side table information

Publications (2)

Publication Number Publication Date
CN114077559A CN114077559A (zh) 2022-02-22
CN114077559B true CN114077559B (zh) 2023-08-29

Family

ID=80222854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110909556.2A Active CN114077559B (zh) 2020-08-11 2021-08-09 存储装置的存取管理的方法及设备

Country Status (3)

Country Link
US (2) US11449244B2 (zh)
CN (1) CN114077559B (zh)
TW (2) TWI777720B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240111455A1 (en) * 2022-09-30 2024-04-04 Western Digital Technologies, Inc. Control Table Set Management In Storage Devices
US11995349B2 (en) * 2022-10-04 2024-05-28 Silicon Motion, Inc. Method and apparatus for performing access management of memory device in host performance booster architecture with aid of device side table information encoding and decoding
US11994985B2 (en) * 2022-10-04 2024-05-28 Silicon Motion, Inc. Method and apparatus for performing access management of memory device in host performance booster architecture with aid of device side table information encoding and decoding

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577346A (zh) * 2012-07-19 2014-02-12 智微科技股份有限公司 存储器控制方法及存储器控制电路
CN108139902A (zh) * 2015-10-16 2018-06-08 科内克斯实验室公司 用于提供混合模式来访问ssd驱动器的方法和装置
TW201923609A (zh) * 2017-10-20 2019-06-16 美商高通公司 用於主機知悉式效能提升器的控制器硬體自動化
CN109992530A (zh) * 2019-03-01 2019-07-09 晶天电子(深圳)有限公司 一种固态驱动器设备及基于该固态驱动器的数据读写方法
CN110806987A (zh) * 2019-10-31 2020-02-18 江苏华存电子科技有限公司 一种在静态随机存取存储器上的混合型映象表

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7739472B2 (en) 2005-11-22 2010-06-15 Sandisk Corporation Memory system for legacy hosts
US7484056B2 (en) * 2006-06-29 2009-01-27 Emc Corporation Partitioning of a storage array into N-storage arrays using full array non-disruptive data migration
US8880483B2 (en) 2007-12-21 2014-11-04 Sandisk Technologies Inc. System and method for implementing extensions to intelligently manage resources of a mass storage system
US20170300422A1 (en) * 2016-04-14 2017-10-19 Micron Technology, Inc. Memory device with direct read access
GB2557366B (en) * 2016-12-02 2020-10-28 Advanced Risc Mach Ltd An apparatus and method for transferring data between address ranges in memory
US10430117B2 (en) 2017-10-23 2019-10-01 Micron Technology, Inc. Host accelerated operations in managed NAND devices
JP6967986B2 (ja) * 2018-01-29 2021-11-17 キオクシア株式会社 メモリシステム
KR20200088713A (ko) 2019-01-15 2020-07-23 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
KR20200099882A (ko) * 2019-02-15 2020-08-25 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US11137914B2 (en) * 2019-05-07 2021-10-05 Western Digital Technologies, Inc. Non-volatile storage system with hybrid command
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
CN113900582A (zh) * 2020-06-22 2022-01-07 慧荣科技股份有限公司 数据处理方法及对应的数据储存装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577346A (zh) * 2012-07-19 2014-02-12 智微科技股份有限公司 存储器控制方法及存储器控制电路
CN108139902A (zh) * 2015-10-16 2018-06-08 科内克斯实验室公司 用于提供混合模式来访问ssd驱动器的方法和装置
TW201923609A (zh) * 2017-10-20 2019-06-16 美商高通公司 用於主機知悉式效能提升器的控制器硬體自動化
CN109992530A (zh) * 2019-03-01 2019-07-09 晶天电子(深圳)有限公司 一种固态驱动器设备及基于该固态驱动器的数据读写方法
CN110806987A (zh) * 2019-10-31 2020-02-18 江苏华存电子科技有限公司 一种在静态随机存取存储器上的混合型映象表

Also Published As

Publication number Publication date
CN114077559A (zh) 2022-02-22
TWI777720B (zh) 2022-09-11
TW202246986A (zh) 2022-12-01
US20220050606A1 (en) 2022-02-17
TW202207039A (zh) 2022-02-16
TWI798144B (zh) 2023-04-01
US11449244B2 (en) 2022-09-20
US20220365689A1 (en) 2022-11-17
US11797194B2 (en) 2023-10-24

Similar Documents

Publication Publication Date Title
US11449435B2 (en) Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device
CN114077559B (zh) 存储装置的存取管理的方法及设备
US11614885B2 (en) Data processing method for improving access performance of memory device and data storage device utilizing the same
CN113885778B (zh) 数据处理方法及对应的数据储存装置
US20220075523A1 (en) Flash memory local purge
US11630602B2 (en) Method and apparatus for performing access management of a memory device with aid of dedicated bit information
CN113885779B (zh) 数据处理方法及对应的数据储存装置
US20180349268A1 (en) Block mapping systems and methods for storage device
US11636042B2 (en) Data processing method for improving access performance of memory device and data storage device utilizing the same
US11995349B2 (en) Method and apparatus for performing access management of memory device in host performance booster architecture with aid of device side table information encoding and decoding
US11994985B2 (en) Method and apparatus for performing access management of memory device in host performance booster architecture with aid of device side table information encoding and decoding
TWI839288B (zh) 用來在主機效能增幅器架構中藉助於裝置側表資訊編碼與解碼進行記憶裝置的存取管理的方法、記憶裝置、電子裝置及控制器
CN110825658A (zh) 闪存控制器及方法
TWI766431B (zh) 資料處理方法及對應之資料儲存裝置
TWI839289B (zh) 用來在主機效能增幅器架構中藉助於裝置側表資訊編碼與解碼進行記憶裝置的存取管理的方法、記憶裝置、電子裝置及控制器
TW202416133A (zh) 用來在主機效能增幅器架構中藉助於裝置側表資訊編碼與解碼進行記憶裝置的存取管理的方法及設備
TW202416134A (zh) 用來在主機效能增幅器架構中藉助於裝置側表資訊編碼與解碼進行記憶裝置的存取管理的方法、記憶裝置、電子裝置及控制器
JP2024043063A (ja) メモリシステムおよび制御方法
TW202414221A (zh) 資料處理方法及對應之資料儲存裝置
TW202414217A (zh) 資料處理方法及對應之資料儲存裝置
CN117806533A (zh) 数据处理方法及对应的数据储存装置
CN117806532A (zh) 数据处理方法及对应的数据储存装置
CN113704145A (zh) 加密和解密物理地址信息的方法及装置
CN117806534A (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