CN115145478A - 快闪存储器控制器的控制方法、快闪存储器控制器以及储存装置 - Google Patents

快闪存储器控制器的控制方法、快闪存储器控制器以及储存装置 Download PDF

Info

Publication number
CN115145478A
CN115145478A CN202210271773.8A CN202210271773A CN115145478A CN 115145478 A CN115145478 A CN 115145478A CN 202210271773 A CN202210271773 A CN 202210271773A CN 115145478 A CN115145478 A CN 115145478A
Authority
CN
China
Prior art keywords
block
data
area
region
flash memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210271773.8A
Other languages
English (en)
Inventor
林璟辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN115145478A publication Critical patent/CN115145478A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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
    • 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
    • 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/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/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
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7209Validity control, e.g. using flags, time stamps or sequence numbers

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本发明涉及快闪存储器控制器的控制方法、快闪存储器控制器以及储存装置。在快闪存储器控制器的控制方法中,在自一主机装置接收到一解分配命令之后,快闪存储器控制器会根据解分配命令来更新一有效页面计数表、一详细有效页面计数表及/或一区域有效页面计数表,以供快闪存储器控制器来有效地且快速地判断任一个区域是否都不具有任何有效数据,以使得快闪存储器控制器可建议主机装置传送一重置命令,以重置该区域。

Description

快闪存储器控制器的控制方法、快闪存储器控制器以及储存 装置
技术领域
本发明有关于快闪存储器,且尤指快闪存储器控制器以及相关的控制方法。
背景技术
在非挥发性存储器主机控制器接口规范(non-volatile memory express,NVMe)中,一分区命名空间(zoned namespace)被标准化(standardize),然而,由于上述分区命名空间以及其内的每一个区域皆是纯粹地从主机装置的观点来看的,因此如何提供一种有效的存储器管理方法来正确地并且快速地对主机装置的命令进行适当的处理是一个重要议题。
发明内容
因此,本发明之一目的在于提供一种能够根据来自主机装置得解分配命令来有效地管理一快闪存储器模块的一快闪存储器控制器,以解决上述问题。
根据本发明一实施例,提供了一种快闪存储器控制器的控制方法,其中快闪存储器控制器用以存取一快闪存储器模块,快闪存储器模块包含有多个区块,以及该控制方法包含有:自一主机装置接收一设置命令,其中设置命令将快闪存储器模块的至少一部分配置成一分区命名空间,分区命名空间逻辑上包含有多个区域,主机装置对分区命名空间进行一基于区域的数据写入操作,每一个区域具有一相同大小,对应于每一个区域的多个逻辑地址是连续的,以及多个逻辑地址在区域之间不重迭;将一第一区域的数据写入至多个第一区块中;建立一区域-区块映射表,其中区域-区块映射表包含有关于第一区域、相对应的多个第一区块以及一共享区块的资讯;在数据被写入至多个第一区块之后,建立或更新一有效页面计数表,其中有效页面计数表记录每一个区块以及相对应的有效页面计数;自主机装置接收至少一解分配命令,其中每一个解分配命令包含有待解分配的一逻辑地址范围;根据至少一解分配命令来更新有效页面计数表,以产生一更新后有效页面计数表;根据更新后有效页面计数表来判断对应于第一区域的所有多个第一区块的多个有效页面计数是否为零;倘若对应于第一区域的所有多个第一区块的多个有效页面计数为零的话,则监控共享区块以判断第一区域是否不具有在共享区块内的任一个有效数据;以及倘若第一区域被判断不具有在共享区块内的任一个有效数据的话,则建议主机装置传送一重置命令,其中重置命令用以重置第一区域。
根据本发明一实施例,提供了一种快闪存储器控制器,其中快闪存储器控制器用以存取一快闪存储器模块,快闪存储器模块包含有多个区块,以及快闪存储器控制器包含有用来储存一程序码的一只读存储器、用来执行程序码以控制快闪存储器模块的存取的一微处理器以及一缓冲存储器。微处理器用以:自一主机装置接收一设置命令,其中设置命令将快闪存储器模块的至少一部分配置成一分区命名空间,分区命名空间逻辑上包含有多个区域,主机装置对分区命名空间进行一基于区域的数据写入操作,每一个区域具有一相同大小,对应于每一个区域的多个逻辑地址是连续的,以及多个逻辑地址在区域之间不重迭;将一第一区域的数据写入至多个第一区块中;建立一区域-区块映射表,其中区域-区块映射表包含有关于第一区域、相对应的多个第一区块以及一共享区块的资讯;在数据被写入至多个第一区块之后,建立或更新一有效页面计数表,其中有效页面计数表记录每一个区块以及相对应的有效页面计数;自主机装置接收至少一解分配命令,其中每一个解分配命令包含有待解分配的一逻辑地址范围;根据至少一解分配命令来更新有效页面计数表,以产生一更新后有效页面计数表;根据更新后有效页面计数表来判断对应于第一区域的所有多个第一区块的多个有效页面计数是否为零;倘若对应于第一区域的所有多个第一区块的多个有效页面计数为零的话,则监控共享区块以判断第一区域是否不具有在共享区块内的任一个有效数据;以及倘若第一区域被判断不具有在共享区块内的任一个有效数据的话,则建议主机装置传送一重置命令,其中重置命令用以重置第一区域。
根据本发明一实施例,提供了一种储存装置,其包含有一快闪存储器模块以及一快闪存储器控制器。快闪存储器模块包含有多个区块,快闪存储器控制器用以存取快闪存储器模块,快闪存储器控制器用以:自一主机装置接收一设置命令,其中设置命令将快闪存储器模块的至少一部分配置成一分区命名空间,分区命名空间逻辑上包含有多个区域,主机装置对分区命名空间进行一基于区域的数据写入操作,每一个区域具有一相同大小,对应于每一个区域的多个逻辑地址是连续的,以及多个逻辑地址在区域之间不重迭;将一第一区域的数据写入至多个第一区块中;建立一区域-区块映射表,其中区域-区块映射表包含有关于第一区域、相对应的多个第一区块以及一共享区块的资讯;在数据被写入至多个第一区块之后,建立或更新一有效页面计数表,其中有效页面计数表记录每一个区块以及相对应的有效页面计数;自主机装置接收至少一解分配命令,其中每一个解分配命令包含有待解分配的一逻辑地址范围;根据至少一解分配命令来更新有效页面计数表,以产生一更新后有效页面计数表;根据更新后有效页面计数表来判断对应于第一区域的所有多个第一区块的多个有效页面计数是否为零;倘若对应于第一区域的所有多个第一区块的多个有效页面计数为零的话,则监控共享区块以判断第一区域是否不具有在共享区块内的任一个有效数据;以及倘若第一区域被判断不具有在共享区块内的任一个有效数据的话,则建议主机装置传送一重置命令,其中重置命令用以重置第一区域。
总结来说,在本发明的快闪存储器控制器的控制方法中,藉由根据来自主机装置的解分配命令来建立一有效页面计数表、一详细有效页面计数表及/或一区域有效页面计数表,快闪存储器控制器可以有效地且快速地判断任一个区域是否都不具有任何有效数据,以使得快闪存储器控制器可以建议主机装置来传送一重置命令,以重置该区域。
附图说明
图1为依据本发明一实施例的电子装置的示意图。
图2为依据本发明一实施例的在储存装置中的快闪存储器控制器的示意图。
图3为依据本发明一实施例的在快闪存储器模块中的区块的示意图。
图4为包含有一般储存空间以及分区命名空间的快闪存储器模块的示意图。
图5为被划分为多个区域的分区命名空间的示意图。
图6为依据本发明一实施例的将来自主机装置的数据写入至分区命名空间的流程图。
图7为被写入至快闪存储器模块中的区块的区域数据的示意图。
图8为依据本发明一实施例的逻辑至实体地址映射表的示意图。
图9为依据本发明一实施例的有效页面计数表的示意图。
图10为依据本发明一实施例的快闪存储器控制器的控制方法的流程图。
图11为依据本发明另一实施例的将来自主机装置的数据写入至分区命名空间的流程图。
图12为被划分为多个区域的分区命名空间的示意图。
图13为依据本发明一实施例的逻辑至实体地址映射表以及共享区块表的示意图。
图14为依据本发明一实施例的有效页面计数表的示意图。
图15为依据本发明一实施例的详细有效页面计数表的示意图。
图16为依据本发明一实施例的快闪存储器控制器的控制方法的流程图。
图17为依据本发明一实施例的区域有效页面计数表的示意图。
图18为依据本发明一实施例的快闪存储器控制器的控制方法的流程图。
图19为依据本发明一实施例的区域有效页面映射表的示意图。
图20为依据本发明一实施例的更新区域有效页面映射表的示意图。
图21为依据本发明一实施例的快闪存储器控制器的控制方法的流程图。
【符号说明】
100:电子装置
110:主机装置
120_1~120_N:储存装置
122:快闪存储器控制器
124:快闪存储器模块
212:微处理器
212C:程序码
212M:只读存储器
214:控制逻辑
216:缓冲存储器
218:接口逻辑
232:编码器
234:解码器
240:动态随机存取存储器
200,B3,B7,B8,B12,B99,B6:区块
202:浮闸晶体管
BL1~BL3:位元线
WL0,WL1,WL2,WL4,WL5,WL6:字元线
410_1,410_2:分区命名空间
420_1,420_2:一般储存空间
600~608,1000~1008,1100~1106,1600~1608,1800~1810,2100~2108:步骤
800,1300:逻辑至实体地址映射表
900,1400:有效页面计数表
1330:共享区块表
1500:详细有效页面计数表
1700:区域有效页面计数表
1900:区域有效页面映射表
具体实施方式
图1为依据本发明一实施例的电子装置100的示意图。如图2所示,电子装置100可包含有主机装置110以及多个储存装置120_1~120_N,每一个储存装置(例如储存装置120_1)可包含有快闪存储器控制器122以及快闪存储器模块124,在此实施例中,储存装置120_1~120_N的每一个储存装置可以是一固态硬碟(solid-state drive,SSD)或具有快闪存储器模块的任何储存装置,主机装置110可以是一中央处理单元(central processing unit,CPU)或可用以存取储存装置120_1~120_N的其它电子装置或元件。电子装置100可以是一伺服器、一个人电脑、一膝上型(笔记型)电脑或任何可携式电子装置,应注意的是,虽然图1绘示了储存装置120_1~120_N,但是在某些实施例中,电子装置100可能仅具有单一储存装置120_1。
图2为依据本发明一实施例的储存装置120_1的示意图。如图2所示,快闪存储器控制器122可包含有微处理器212、只读存储器(read only memory,ROM)212M、控制逻辑(control logic)214、缓冲存储器216以及接口逻辑(interface logic)218,只读存储器212M可用以储存程序码212C,以及微处理器212可用以执行程序码212C以控制快闪存储器模块124的存取,控制逻辑214可包含有编码器232以及解码器234,其中编码器232可用以编码写入至快闪存储器模块124的数据,以产生相对应的检查码(check code;亦即错误校正码(error correction code,ECC)),并且解码器234可用以解码自快闪存储器模块124读取的数据。
在一般情况中,快闪存储器模块124可包含有多个快闪存储器晶片,并且每一个快闪存储器晶片可包含有多个区块,快闪存储器控制器122可对快闪存储器模块124进行一基于区块的抹除(erase)操作,此外,一区块可记录特定数量的页面(page),其中快闪存储器控制器122可对快闪存储器模块124进行一基于页面的写入操作。在此实施例中,快闪存储器模块124可以是一3D与非门型(3D-NAND type)快闪存储器模块。
实际上,透过微处理器212执行程序码212C,快闪存储器控制器122可利用其本身内部的元件来进行许多控制操作,举例来说,快闪存储器控制器122可利用控制逻辑214来控制快闪存储器模块124的存取(尤其是,至少一区块或至少一页面的存取),利用缓冲存储器216来进行所需的缓冲操作,以及利用接口逻辑218来与主机装置110进行通讯。缓冲存储器216可藉由随机存取存储器(random access memory,RAM)来实现,举例来说,缓冲存储器216可以是一静态随机存取存储器(static random access memory,SRAM),但是本发明不以此为限。此外,快闪存储器控制器122可耦接于动态随机存取存储器(dynamic randomaccess memory,DRAM)240,应注意的是,动态随机存取存储器240可以一并被包含在快闪存储器控制器122中,举例来说,动态随机存取存储器240以及快闪存储器控制器122可共存于同一个封装(package)中。
在一实施例中,储存装置120_1可符合非挥发性存储器主机控制器接口规范(non-volatile memory express,NVMe),也就是说,接口逻辑218可符合一特定通讯规范,诸如外部组件互连(Peripheral Component Interconnect,PCI)规范或快速外部组件互连(Peripheral Component Interconnect Express,PCIe)规范,并且可根据该特定通讯规范来进行通讯,举例来说,接口逻辑218可藉由一连结器来与主机装置110进行通讯。
图3为依据本发明一实施例的在快闪存储器模块124中的区块200的示意图,其中快闪存储器模块124可以是一3D与非门型快闪存储器模块。如图3所示,区块200可包含有多个存储器单元(memory cell),诸如图3所示的浮闸晶体管(floating gate transistor)202或其它电荷捕捉元件(charge trapping component),一3D与非门型快闪存储器架构可透过多个位元线(bit line;在图3中仅绘示位元线BL1~位元线BL3)以及多个字元线(wordline;在图3中仅绘示字元线WL0~字元线WL2以及字元线WL4~字元线WL6)来形成,以图3中最上方平面为例,在字元线WL0上的所有浮闸晶体管形成至少一页面、在字元线WL1上的所有浮闸晶体管形成至少另一页面以及在字元线WL2上的所有浮闸晶体管形成至少再另一页面,以此类堆。此外,字元线WL0与页面(例如逻辑页面(logic page))之间的定义可以根据快闪存储器的写入方法而有所变化,详细地来说,当利用单层单元(single-level cell,SLC)的方式来储存数据时,在字元线WL0上的所有浮闸晶体管仅对应到单一逻辑页面;当利用多层单元(multi-level cell,MLC)的方式来储存数据时,在字元线WL0上的所有浮闸晶体管对应到两个逻辑页面;当利用三层单元(triple-level cell,TLC)的方式来储存数据时,在字元线WL0上的所有浮闸晶体管对应到三个逻辑页面;以及当利用四层单元(quad-level cell,QLC)的方式来储存数据时,在字元线WL0上的所有浮闸晶体管对应到四个逻辑页面。3D与非门型快闪存储器架构以及字元线与页面之间的关系已为本领域具有通常知识者所熟知,为了简洁起见,在此不再重复描述相关细节。
在此实施例中,主机装置110可藉由传送一设置命令集(settling command set;诸如一分区命名空间(zoned namespace)命令集)来将快闪存储器模块124的至少一部分配置成一分区命名空间,请参照图4,主机装置110可将一设置命令集传送至快闪存储器控制器122,以使得快闪存储器模块124具有至少一分区命名空间(在此实施例中,以分区命名空间410_1以及分区命名空间410_2为例)以及至少一一般储存空间(general storagespace;在此实施例中,以一般储存空间420_1以及一般储存空间420_2为例)。分区命名空间410_1可被划分成多个区域(zone)以供存取,并且主机装置110必须在分区命名空间410_1中进行一基于逻辑区块地址(logical block address,LBA)的数据写入操作,一逻辑区块地址(简称为逻辑地址)可代表一笔512位元组(byte)的数据或一笔4千位元组(kilobyte,KB)的数据,并且主机装置110需要将数据连续地写入至一区域中,具体来说,请参照图5,分区命名空间410_1可被划分为多个区域(例如区域Z0~区域Z3),其中每一个区域中的逻辑地址必须是连续的,以及区域之间不存在重迭逻辑地址(亦即一逻辑地址仅可存在于一区域中),举例来说,倘若每一个区域的大小是“x”个逻辑地址以及区域Z3的起始逻辑地址(starting logical address)是逻辑地址LBA_k的话,则区域Z3用以利用逻辑地址LBA_k、逻辑地址LBA_(k+1)、逻辑地址LBA_(k+2)、逻辑地址LBA_(k+3)…以及逻辑地址LBA_(k+x-1)来储存数据。在一实施例中,相邻区域的逻辑地址亦可以是连续的,举例来说,区域Z0用以利用逻辑地址LBA_1~LBA_2000来储存数据,区域Z1用以利用逻辑地址LBA_2001~LBA_4000来储存数据,区域Z2用以利用逻辑地址LBA_4001~LBA_6000来储存数据,区域Z3用以利用逻辑地址LBA_6001~LBA_8000来储存数据,以此类堆。此外,对应于一逻辑地址的数据量可以藉由主机装置110来决定,举例来说,对应于一逻辑地址的数据量可以是4千位元组。
此外,当数据被写入至每一个区域时,该数据根据该数据的多个逻辑地址的顺序来被写入,详细地来说,快闪存储器控制器122可根据已写入数据来设置一写入点(writepoint),以控制数据的写入序列。假设区域Z1用以利用逻辑地址LBA_2001~逻辑地址LBA_4000来储存数据,在主机装置110将对应于逻辑地址LBA_2001~逻辑地址LBA_2051的数据传送至快闪存储器控制器122之后,快闪存储器控制器122可将写入点设置至下一个逻辑地址LBA_2052,倘若主机装置110随后传送属于相同区域但不具有逻辑地址LBA_2052的数据的话(例如主机装置110传送具有逻辑地址LBA_3000的数据),则快闪存储器控制器122可拒绝数据写入操作并且将写入失败的讯息回传至主机装置110;换句话说,仅当接收到的数据的逻辑地址与写入点所指出的逻辑地址相同时,快闪存储器控制器122才会允许数据写入操作,此外,倘若在多个区域中的数据被交替地写入的话,每一个区域可具有自己的写入点。
此外,非挥发性存储器主机控制器接口规范提供了一解分配命令(deallocatecommand),其是自主机装置110传送以要求删除对应于一逻辑地址范围的数据,并且非挥发性存储器主机控制器接口规范另指出一快闪存储器控制器可建议(recommend)主机装置110来进行一重置命令(reset command),以控制一区域自一满状态(full state)至一空状态(empty state),因此,以下实施例被提出,以使得快闪存储器控制器122可有效地并且正确地建议主机装置110来进行重置命令。
图6为依据本发明一实施例的将来自主机装置110的数据写入至分区命名空间410_1的流程图。在此实施例中,假设对应于每一个区域的数据量大于在快闪存储器模块124中的每一个实体区块的大小,并且对应于每一个区域的数据量不是在快闪存储器模块124中的每一个实体区块的大小的整数倍。在步骤600中,流程开始,并且开启主机装置110与储存装置120_1的电源以及完成一初始化操作,主机装置110藉由使用一分区命名空间命令集来为储存装置120_1的储存区域的至少一部分设置基本设定(例如每一个区域的大小、区域的数量以及逻辑区块地址大小)。在步骤602中,主机装置110将一写入命令以及相对应的数据传送至快闪存储器控制器122,其中上述数据是对应于一个或多个区域的数据,诸如对应于在图5所示的区域Z3中的逻辑地址LBA_k~逻辑地址LBA_(k+x-1)的数据。在步骤604中,快闪存储器控制器122自快闪存储器模块124选择至少一区块(例如一空白区块(blankblock),亦即一备用区块(spare block)),并且将来自主机装置110的数据依序地写入至该至少一区块,由于主机装置110所设置的区域的大小很难与实体区块的大小相匹配,因此在主机装置110将写入命令传送至在区域Z3中的所有逻辑地址之后,主机装置110要写入的数据通常不可完全地填满实体区块的储存空间,换句话说,对应于一区域的数据储存容量通常不是用来储存主机装置110所写入的数据的实体区块的大小的整数倍。在步骤606中,在将数据写入至最后的区块并且完成数据写入之后,快闪存储器控制器122将无效数据写入至该最后的区块的剩余页面中,或直接地将剩余页面保持空白,应注意的是,每一个区块通常保留多个页面来储存系统管理资讯,其包含有一写入时间表、一实体至逻辑映射表、错误校正码的检查位元(check bit)以及磁碟阵列同位(redundant array of independentdisks parity,RAID parity)等等。上述剩余的页面代表在系统管理资讯以及主机装置110要储存的数据已经被写入至最后的区块后所剩余的页面。
举例来说,请参照图7,假设对应于每一个区域的数据量是介于在快闪存储器模块124中的两个区块以及三个区块之间。响应主机装置110针对区域Z1所传送的写入命令,快闪存储器控制器122可依序地将区域Z1的数据写入至区块B3、区块B7以及区块B8,应注意的是,在一实施例中,主机装置110针对区域Z1所传送的写入命令可包含有区域Z1的起始逻辑地址,以及快闪存储器控制器122可将区域Z1的起始逻辑地址映射至实体区块B3的起始实体储存空间(例如第一实体页面),并且将对应于区域Z1的起始逻辑地址的数据储存至实体区块B3的起始实体储存空间(例如第一实体页面)。区块B3、区块B7以及区块B8皆包含有页面P1~页面PM,并且自区块B3的第一页面P1开始至区块B3的最后页面PM,区域Z1中的数据根据逻辑地址来被依序地写入。在区块B3中的数据被写入之后,继续自区块B7的第一页面P1至区块B7的最后页面PM进行写入操作,应注意的是,即使主机装置110针对区域Z1中的逻辑地址继续进行写入操作,快闪存储器控制器122仍可以选择不连续的区块B3以及区块B7来储存在逻辑地址中是连续的数据,在区块B7中的数据被写入之后,数据被继续地写入至区块B8的第一页面P1直到区块Z1的数据结束;此外,区块B8的剩余页面保持空白或具有被写入其中的无效数据。类似地,快闪存储器控制器122可依序地将区域Z3的数据写入至区块B12、区块B99以及区块B6,其中区块B12、区块B99以及区块B6皆包含有页面P1~页面PM,以及自区块B12的第一页面P1开始至区块B12的最后页面PM,区域Z3的数据根据逻辑地址来被依序地写入。在区块B12的数据被写入之后,自区块B99的第一页面P1开始至区块B99的最后页面PM,数据被继续地写入,以及在区块B99的数据被写入之后,数据自区块B6的第一页面P1开始被继续地写入,直到区块Z3的数据结束。此外,区块B6的剩余页面保持空白或具有被写入其中的无效数据,应注意的是,快闪存储器控制器122可能不会为储存着无效数据的实体页面来建立一逻辑页面至实体页面映射关系,快闪存储器控制器122通常会将具有空白实体页面的实体区块或具有无效数据的实体页面的实体区块设置为对应于每一个区域的最后部分,换句话说,快闪存储器控制器122会将对应于区域的最后逻辑地址的数据储存至具有空白页面或无效数据的实体区块中。
在步骤608中,快闪存储器控制器122建立或更新一逻辑至实体(logical tophysical,L2P)地址映射表,来记录逻辑地址与实体地址之间的映射关系,以供分区命名空间410_1的后续数据读取。图8为依据本发明一实施例的逻辑至实体地址映射表800的示意图。逻辑至实体地址映射表800可包含有两个栏位(field),其中一栏位记录区域的起始逻辑地址,以及另一栏位记录区块的实体区块地址。请搭配参照图7以及图8,由于区域Z1的数据被依序地写入至区块B3、区块B7以及区块B8并且区域Z3的数据被依序地写入至区块B12、区块B99以及区块B6,因此逻辑至实体地址映射表800记录区域Z1的起始逻辑地址Z1_LBA_S、区块B3的实体区块地址PBA3、区块B7的实体区块地址PBA7以及区块B8的实体区块地址PBA8,并且记录区域Z3的起始逻辑地址Z3_LBA_S、区块B12的实体区块地址PBA12、区块B99的实体区块地址PBA99以及区块B6的实体区块地址PBA6。举例来说,假设区域Z1用以储存具有逻辑地址LBA_2001~逻辑地址LBA_4000的数据,区域Z3用以储存具有逻辑地址LBA_6001~逻辑地址LBA_8000的数据,区域Z1的起始逻辑地址Z1_LBA_S是逻辑地址LBA_2001,以及区域Z3的起始逻辑地址Z3_LBA_S是逻辑地址LBA_6001。应注意的是,只要能达到相同目的,则不必以固定顺序来进行用以将数据自主机装置110写入至分区命名空间410_1的流程图中的步骤,例如可以在步骤602之后进行步骤608,此为本领域具有通常知识者在本发明的教示下可以理解。应注意的是,在此实施例中,每一个实体区块仅对应于单一区域,举例来说,区块B3、区块B7以及区块B8仅对应于区域Z1,以及区块B12、区块B99以及区块B6仅对应于区域Z3,换句话说,一单一区块仅储存在一单一区域中的数据,举例来说,区块B3、区块B7以及区块B8仅储存对应于区域Z1的数据,以及区块B12、区块B99以及区块B6仅储存对应于区域Z3的数据。
要注意的是,图8所示的逻辑至实体地址映射表800仅用于说明之用,本发明不限于此。在本发明的其它实施例中,逻辑至实体地址映射表可包含有每一个逻辑地址以及相对应的实体地址,或逻辑至实体地址映射表可包含有多个实体地址以及相对应的逻辑地址范围。
此外,快闪存储器控制器122可建立一有效页面计数表,其记录一区块中有效页面的数量,其中有效页面代表数据不是旧数据(亦即快闪存储器模块124不具有用以更新旧数据的有着相同逻辑地址的其它数据)。图9为依据本发明一实施例的有效页面计数表900的示意图。如图9所示,假设有效页面计数表900包含有在区域Z1以及区域Z3的数据完整地被写入至快闪存储器模块12之后的即时资讯,对应于区域Z1的实体区块B3、实体区块B7以及实体区块B8的有效页面计数分别为“128”、“128”以及“60”,以及对应于区域Z3的实体区块B12、区块B99以及区块B6的有效页面计数分别为“128”、“128”以及“60”。在一实施例中,有效页面计数表900被暂时地储存在缓冲存储器216中。
接着,倘若快闪存储器控制器122自主机装置110接收到解分配命令以解分配对应于一逻辑地址范围的数据的话,则微处理器212会更新逻辑至实体地址映射表以移除该逻辑地址范围的资讯,以使得对应于该逻辑地址范围的数据可以被视为无效数据,举例来说,逻辑至实体地址映射表被更新以移除该逻辑地址范围的相对应的实体地址,或逻辑至实体地址映射表被更新以指出该逻辑地址范围不具有相对应的实体地址。之后,微处理器212基于对应于该逻辑地址范围的页面编号(page number)来更新有效页面计数表900,举例来说,倘若来自主机装置110的解分配命令指示对应于区块B3内30个页面的数据的一逻辑地址范围,则有效页面计数表900被更新以使得区块B3的有效页面计数变为“98”。
此外,微处理器212可检查有效页面计数表900以及一区域-区块映射表(zone-block mapping table),以判断任一个区域是否都不具有任何有效数据,其中该区域-区块映射表可包含有关于每一个区域以及相对应的实体区块的资讯。以图7为一范例,区域Z1对应于区块B3、区块B7以及区块B8,以及区域Z3对应于区块B12、区块B99以及区块B6。在一实施例中,逻辑至实体地址映射表800可作为该区域-区块映射表,具体来说,倘若微处理器212检测到对应于区域Z1的区块B3、区块B7以及区块B8内不具有有效数据的话(亦即每一个区块B3、区块B7以及区块B8的有效页面计数皆等于0),则微处理器212可主动地通知主机装置110以建议主机装置110来进行一重置命令,以控制区域Z1自一满状态至一空状态。仅于接受到重置命令之后,微处理器212才可抹除区块B3、区块B7以及区块B8并且将区块B3、区块B7以及区块B8设置为备用区块(例如空白区块),以供储存其它数据。
在一实施例中,快闪存储器控制器122可另具有多个暂存器(register),其中每一个暂存器用以储存一区域的一重置区域建议属性(reset zone recommended attribute),以及该重置区域建议属性用来指示快闪存储器控制器122是否检测到该区域内没有有效数据,具体来说,倘若微处理器212检测到对应于区域Z1的区块B3、区块B7以及区块B8内不具有有效数据的话,则微处理器212可将对应于区域Z1的暂存器设置为“1”,以及一旦主机装置110检测到对应于区域Z1的暂存器具有数值“1”的话,则主机装置110可考虑是否将一重置命令传送至快闪存储器控制器122。
在另一实施例中,倘若微处理器212检测到对应于区域Z1的区块B3、区块B7以及区块B8内不具有有效数据的话,则快闪存储器控制器122可主动地为区域Z1将一区域描述符改变事件(zone descriptor changed event)传送至主机装置110,以建议主机装置110传送一重置命令以重置该区域。
图10为依据本发明一实施例的快闪存储器控制器122的控制方法的流程图。请搭配参照上述图6~图9的实施例,流程描述如下。
在步骤1000中,流程开始。
在步骤1002中,快闪存储器控制器判断是否自主机装置接收到一解分配命令,如果是,进入步骤1004;如果否,回到步骤1002。
在步骤1004中,快闪存储器控制器更新逻辑至实体地址映射表以及有效页面计数表。
在步骤1006中,快闪存储器控制器参考有效页面计数表来判断任一个区域是否都不具有任何有效数据,如果是,进入步骤1008;如果否,回到步骤1002。
在步骤1008中,快闪存储器控制器建议主机装置重送一重置命令,以重置不具有有效数据的区域。
图11为依据本发明另一实施例的将来自主机装置110的数据写入至分区命名空间410_1的流程图。在此实施例中,假设对应于每一个区域的数据量是大于快闪存储器模块124中每一个区块的大小,并且对应于每一个区域的数据量不是快闪存储器模块124中每一个区块的大小的整数倍。在步骤1100中,流程开始,启动主机装置110以及储存装置120_1的电源以及完成初始化操作,主机装置110藉由使用分区命名空间命令集来设置储存装置120_1以使其具有基本设定(例如每一个区域的大小、区域数量以及逻辑区块地址大小)。在步骤1102中,主机装置110将一写入命令以及相对应的数据传送至快闪存储器控制器122,其中上述数据是对应于一个或多个区域的数据(例如对应于图5所示的区域Z3的逻辑地址LBA_k~逻辑地址LBA_(k+x-1)的数据)。在步骤1104中,快闪存储器控制器122自快闪存储器模块124选择至少一区块(例如一空白区块,亦即一备用区块),或选择至少一空白区块或至少一共享区块(shared block),以将数据自主机装置110依序地写入至该些区块,举例来说,请参照图12,假设对应于每一个区域的数据量是介于快闪存储器模块124中的两个区块与三个区块之间,以及快闪存储器控制器122可将区域Z1的数据依序地写入至区块B3、区块B7以及区块B8中,其中区块B3记录区域Z1的第一部分数据Z1_0,区块B7记录区域Z1的第二部分数据Z1_1,以及区块Z8记录区域Z1的第三部分数据Z1_2。在此实施例中,由于所有储存在区块B3以及区块B7中的数据皆是区域Z1中的数据,以及区域B8中仅部分页面储存区域Z1中的数据,因此为了利用区块B8中剩余的页面,微处理器212可将区块B8设置为一共享区块,也就是说,区块B8的剩余页面可用以储存其它区域的数据。
请参照图12,快闪存储器控制器122准备将区域Z3的数据写入至分区命名空间410_1,由于共享区块B8中具有一剩余空间,因此微处理器212可选择空白区块B12、空白区块B99以及共享区块B8来储存区域Z3中的数据,具体来说,快闪存储器控制器122依序地将区域Z3的数据写入至区块B12、区块B99以及区块B8,其中区块B12记录区域Z3的第一部分数据Z3_0,区块B99记录区域Z3的第二部分数据Z3_1,以及区域B8记录区域Z3的第三部分数据Z3_2。在此实施例中,所有区块B12以及区块B99所储存的数据皆是区域Z3的数据,而区块B8记录区域Z1的第三部分数据Z1_2以及区域Z3的第三部分数据Z3_2,要注意的是,对于管理的方便来说,由于会增加透过快闪存储器控制器122来建立逻辑至实体地址映射表的复杂度,因此快闪存储器控制器122不会将任一个区域的第一数据储存至共享区块中,快闪存储器控制器122将每一个区域的第一数据储存在一专属区块(exclusive block;诸如区块B3以及区块B12)中,该些专属区块仅储存属于相同区域的数据,因此它们被称为专属区块。任一个区域的最后数据(其对应于该区域的最后逻辑地址的数据)会被储存至一共享区块(例如区块B8)中,并且另一个区域的最后数据也会被储存至该共享区块中,在此实施例中,共享区块储存多个区域中的数据,换句话说,共享区块储存多个区域的最后数据,而专属区块仅储存单一区域中的数据。
在步骤1106中,快闪存储器控制器122建立或更新一逻辑至实体地址映射表,以记录逻辑地址与实体地址之间的映射关系,并且建立一共享区块表以供分区命名空间410_1的后续数据读取。图13为依据本发明一实施例的逻辑至实体地址映射表1300以及共享区块表1330的示意图。逻辑至实体地址映射表1300可包含有两个栏位,其中一栏位记录逻辑地址,以及另一栏位记录区块的实体地址。请搭配参照图12以及图13,由于区域Z1的数据被依序地写入至区块B3、区块B7以及区块B8中,以及区域Z3的数据被依序地写入至区块B12、区块B99以及区块B8中,因此逻辑至实体地址映射表1300记录区域Z1的起始逻辑地址Z1_LBA_S、区块B3的实体区块地址PBA3、区域Z1的逻辑地址(Z1_LBA_S+y)、区块B7的实体区块地址PBA7、区域Z1的逻辑地址(Z1_LBA_S+2*y)以及区块B8的实体区块地址PBA8,其中逻辑地址(Z1_LBA_S+y)可作为写入至区块B7的数据的第一逻辑地址(亦即第二部分数据Z1_1的第一逻辑地址),以及逻辑地址(Z1_LBA_S+2*y)可作为写入至区块B8的数据的第一逻辑地址(亦即第三部分数据Z1_2的第一逻辑地址)。
类似地,逻辑至实体地址映射表1300记录区域Z3的起始逻辑地址Z3_LBA_S、区块B12的实体区块地址PBA12、区域Z3的逻辑地址(Z3_LBA_S+y)、区块B99的实体区块地址PBA99、区域Z3的逻辑地址(Z3_LBA_S+2*y)以及区块B8的实体区块地址PBA8,其中逻辑地址(Z3_LBA_S+y)可作为写入至区块B99的数据的第一逻辑地址(亦即第二部分数据Z3_1的第一逻辑地址,其对应于区块B99的第一页面P1的逻辑地址),以及逻辑地址(Z3_LBA_S+2*y)可作为写入至区块B8的数据的第一逻辑地址(亦即第三部分数据Z3_2的第一逻辑地址)。应注意的是,上述“y”可代表有几笔来自主机装置110的有着不同逻辑地址的数据可被储存至一区块中,要注意的是,在主机装置110设置区域大小以及区域数量之后,每一个区域的起始逻辑地址就被决定,以及每一个子区域的起始逻辑地址也被决定,诸如起始逻辑地址Z1_LBA_S、逻辑地址(Z1_LBA_S+y)、逻辑地址(Z1_LBA_S+2*y)、起始逻辑地址Z3_LBA_S、逻辑地址(Z3_LBA_S+y)以及逻辑地址(Z3_LBA_S+2*y)。因此,逻辑至实体地址映射表1300可另被简化以具有一栏位,也就是说,仅具有实体区块地址的一栏位,并且可以藉由该表的项目(entry)来代表逻辑地址栏位,而无需实际地储存多个子区域的起始逻辑地址。
此外,共享区块表1330可包含有两个栏位,其中一栏位记录逻辑地址,以及另一栏位记录对应于逻辑地址的实体区块地址以及实体页面地址。在图13中,共享区块表1330记录区域Z1的第三部分数据Z1_2的第一逻辑地址(Z1_LBA_S+2*y)、相对应的实体区块地址PBA8以及实体页面地址P1,也就是说,对应于第三部分数据Z1_2中第一逻辑地址的数据被写入至区块B8的第一个页面P1中,此外,共享区块表1330记录区域Z3的第三部分数据Z3_2的第一逻辑地址(Z3_LBA_S+2*y)、相对应的实体区块地址PBA8以及实体页面地址P61,换句话说,对应于第三部分数据Z3_2的中第一逻辑地址的数据被写入至区块B8的第六十一个页面P61中。要注意的是,上述是假设区块中每一个页面仅可储存单一逻辑地址的数据,然而,取决于在一页面中可储存多少笔具有不同逻辑地址的数据,实际情况是可以被调整的。
此外,应注意的是,在写入区域Z1以及区域Z3的数据的过程中,写入操作可能并不会在区域Z1中的所有数据已经被写入至分区命名空间410_1之后,才开始写入区域Z3的数据,换句话说,在区域Z1中的数据还没完整地被写入时,快闪存储器控制器122可能需要开始将区域Z3的数据写入至分区命名空间410_1,因此,在本发明的另一实施例中,共享区块表1330可能额外地包含有一完成指示符栏位(completion indicator field),其用以指示一区域的数据是否已经被完整地写入至共享区块中,微处理器212可参考对应于区域Z1的完成指示符来判断是否可以将区域Z3中的数据写入至区块B8中。
要注意的是,图13所示的逻辑至实体地址映射表1300以及共享区块表1330仅作为说明之用,在本发明的其它实施例中,逻辑至实体地址映射表1300以及共享区块表1330可包含有每一个逻辑地址以及相对应的实体地址,或逻辑至实体地址映射表1300以及共享区块表1330可包含有多个实体地址以及相对应的逻辑地址范围。
此外,快闪存储器控制器122可建立一有效页面计数表,其记录区块内有效页面的数量,其中有效页面代表数据不是旧数据(亦即快闪存储器模块124不具有用来更新旧数据的有着相同逻辑地址的其它数据)。图14为依据本发明一实施例的有效页面计数表1400的示意图。如图14所示,假设有效页面计数表1400包含有在区域Z1的数据完整地被写入至快闪存储器模块124中之后的即时资讯,但是区域Z3的数据还没有被完整地写入区块B8中。对应于区域Z1的区块B3、区块B7以及区块B8的有效页面计数分别为“128”、“128”以及“86”,以及对应于区域Z3的区块B12、区块B99以及区块B8的有效页面计数分别为“128”、“128”以及“86”,其中区域Z1的第三部分数据Z1_2在区块B8中具有60个页面,以及区域Z3的第三部分数据Z3_2在区块B8中暂时地具有26个页面。在一实施例中,有效页面计数表1400被暂时地储存于缓冲存储器126中。
此外,每一个共享区块另具有一详细(detailed)有效页面计数表,其用以清楚地指示区域的有效页面计数,图15为依据本发明一实施例的详细有效页面计数表1500的示意图,其中详细有效页面计数表1500供图12~图14的共享区块B8来使用。如图15所示,详细有效页面计数表1500具有4个栏位:区域编号(zone number)、起始实体页面地址(startingphysical page address)、满资讯(full information)以及有效页面计数。起始实体页面地址栏位记录每一个区域的起始实体页面地址,举例来说,对应于区域Z1的第三部分数据Z1_2的页面P1以及对应于区域Z3的第三部分数据Z3_2的页面P61。满资讯栏位记录该区域的所有数据是否被完整地写入至区块B8,在此范例中,区域Z1的数据被完整地写入至快闪存储器模块124中,而区域Z3的数据还没有被完整地写入至区块B8中。有效页面计数栏位记录每一个区域的目前的有效页面计数,举例来说,区域Z1的第三部分数据Z1_2的有效页面计数是“60”,以及区域Z3的第三部分数据Z3_2的有效页面计数是“26”。
接着,倘若快闪存储器控制器122接收到来自主机装置110的解分配命令以解分配对应于一逻辑地址范围的数据的话,则微处理器212会更新逻辑至实体地址映射表以移除该逻辑地址范围的资讯,使得对应于该逻辑地址范围的数据可以被视为无效数据,举例来说,逻辑至实体地址映射表被更新以移除该逻辑地址范围的相对应的实体地址,或逻辑至实体地址映射表被更新以指出该逻辑地址范围不具有相对应的实体地址。之后,微处理器212基于对应于该逻辑地址范围的页面号码来更新有效页面计数表1400及/或详细有效页面计数表1500,举例来说,倘若来自主机装置110的解分配命令指示对应于区块B8内30个页面的数据的一逻辑地址范围,以及该逻辑地址范围对应于区域Z1的话,则有效页面计数表1400被更新以使得区块B8的有效页面计数变为“56”,并且详细有效页面计数表1500被更新以使得区域Z1的第三部分数据Z1_2的有效页面计数变为“30”。
此外,微处理器212可检查有效页面计数表1400、详细有效页面计数表1500以及一区域-区块映射表,以判断任一个区域是否都不具有任何有效数据,其中该区域-区块映射表可包含有关于每一个区域与相对应的实体区块的资讯,以图12为一范例,区域Z1对应于区块B3、区块B7以及区块B8,以及区域Z3对应于区块B12、区块B99以及区块B8,在一实施例中,逻辑至实体地址映射表1300可作为该区域-区块映射表,具体来说,倘若微处理器212检测到在对应于区域Z1的区块B3以及区块B7不具有有效数据(亦即区块B3以及区块B7的有效页面计数皆等于0),在区块B8内的页面P1~页面P60不具有有效数据(亦即区域Z1的第三部分数据Z1_2的有效页面计数等于0),并且详细有效页面计数表1500指示区域Z1的所有数据皆已经被完整地写入至快闪存储器模块124的话,则微处理器212可主动地通知主机装置110来建议其进行一重置命令以控制区域Z1自一满状态至一空状态。仅于接收到该重置命令之后,微处理器212才可抹除区块B3以及区块B7并且将区块B3以及区块B7设置为备用区块(亦即空白区块),以供储存其它数据,要注意的是,由于区块B8具有区域Z3的数据,因此即使区域Z1被重置,区块B8不可被释放(release)以作为备用区块。
要注意的是,为了避免错误地判断一区域不具有任何有效数据,微处理器212可建议主机装置110以仅于图15所示的满资讯栏位指示该区域的所有数据已经完整地被写入至快闪存储器模块124中时才会进行一重置命令,具体来说,倘若主机装置110传送一个或多个解分配命令以解分配对应于区域Z3的所有已写入数据的逻辑地址(例如逻辑地址对应于区块B12与区块B99内的所有页面以及区块B8的26个页面),但是图15所示的满资讯栏位指示区域Z3的所有数据还没有被完整地写入至快闪存储器模块124(亦即代表区域Z3的剩余数据在一周期之后可以被写入至区块B8中)的话,则微处理器212不可建议主机装置100来进行重置命令以重置区域Z3。
在一实施例中,快闪存储器控制器122可另具有多个暂存器,其中每一个暂存器用以储存一区域的一重置区域建议属性,以及该重置区域建议属性指示快闪存储器控制器122是否检测到该区域内没有有效数据。在另一实施例中,倘若微处理器212检测到在对应于区域Z1的区块B3、区块B7以及区块B8内没有有效数据的话,则快闪存储器控制器122可以为区域Z1主动地将一区域描述符改变事件传送至主机装置110,以建议主机装置110来传送一重置命令以重置该区域。
图16为依据本发明一实施例的快闪存储器控制器122的控制方法的流程图。请搭配参照图11~图15的上述实施例,该流程描述如下。
在步骤1600中,流程开始。
在步骤1602中,快闪存储器控制器判断是否自主机装置接收到一解分配命令,如果是,进入步骤1604;如果否,回到步骤1602。
在步骤1604中,快闪存储器控制器更新逻辑至实体地址映射表、有效页面计数表及/或详细有效页面计数表。
在步骤1606中,快闪存储器控制器参考有效页面计数表以及详细有效页面计数表来判断任一个区域是否都不具有任何有效数据,如果是,进入步骤1608;如果否,回到步骤1602。
在步骤1608中,快闪存储器控制器建议主机装置传送一重置命令,以重置不具有有效数据的区域。
在图6~图10所示的实施例中,每一个区块仅对应于单一区域,并且微处理器212检查有效页面计数表900以及一区域-区块映射表来判断任一个区域是否都不具有任何有效数据,以判断是否建议主机装置110传送重置命令。在图11~图16所示的实施例中,由于一区块可对应于多个区域,因此微处理器212检查有效页面计数表1400、详细有效页面计数表1500以及一区域-区块映射表来判断任一个区域是否都不具有任何有效数据,以判断是否建议主机装置110传送重置命令。在另一实施例中,微处理器212可基于有效页面计数表900或基于有效页面计数表1400以及详细有效页面计数表1500来建立一区域有效页面计数表,以便于判断任一个区域是否都不具有任何有效数据。
图17为依据本发明一实施例的区域有效页面计数表1700的示意图。如图17所示,区域有效页面计数表1700包含有关于每一个区域的有效页面计数的资讯,在此实施例中,当有效页面计数表900被更新时,区域有效页面计数表1700立即地被更新,或当有效页面计数表1400及/或详细有效页面计数表1500被更新时,区域有效页面计数表1700立即地被更新,举例来说,倘若每一个区域的所有数据被写入至快闪存储器模块124的282个页面,以及由于一第一解分配命令,有效页面计数表900被更新以减少对应于区域Z1的有效页面计数的话,则区域有效页面计数表1700基于更新后的有效页面计数表900而立即地被更新(例如区域Z1的有效页面计数自“282”被更新为“100”),接着,倘若由于一第二解分配命令,有效页面计数表900另被更新以减少对应于区域Z1的有效页面计数的话,区域有效页面计数表1700基于更新后的有效页面计数表900而立即地被更新(例如区域Z1的有效页面计数自“100”被更新为“0”),之后,微处理器212可基于区域有效页面计数表1700来判断任一个区域是否都不具有任何有效数据,而无需参考其它表(例如有效页面计数表900或有效页面计数表1400)。
图18为依据本发明一实施例的快闪存储器控制器122的控制方法的流程图。请搭配参照上述图17的实施例,该流程描述如下。
在步骤1800中,流程开始。
在步骤1802中,快闪存储器控制器判断是否自主机装置接到一解分配命令,如果是,进入步骤1804;如果否,回到步骤1802。
在步骤1804中,快闪存储器控制器更新逻辑至实体地址映射表、有效页面计数表及/或详细有效页面计数表。
在步骤1806中,快闪存储器控制器基于更新后的有效页面计数表及/或更新后的详细有效页面计数表来更新区域有效页面计数表。
在步骤1808中,快闪存储器控制器参考区域有效页面计数表来判断任一个区域是否都不具有任何有效数据,如果是,进入步骤1810;如果否,回到步骤1802。
在步骤1810中,快闪存储器控制器建议主机装置传送一重置命令,以重置不具有有效数据的区域。
在上述实施例中,倘若主机装置110传送一错误解分配命令的话,则有效页面计数表900、有效页面计数表1400以及区域有效页面计数表1700可能会有错误,这将会导致微处理器212做出错误决定,举例来说,倘若主机装置110传送一第一解分配命令,其指示一第一逻辑地址范围,接着主机装置110传送一第二解分配命令,其指示与该第一逻辑地址范围部分重迭的一第二逻辑地址范围的话,则有效页面计数的计算可能会有错误,为了解决此问题,区域有效页面计数表可以被修改为具有一解分配命令历史栏位(deallocate commandhistory field),以记录每一个页面的状态。具体来说,请参照图19,图19为依据本发明一实施例的区域有效页面映射表1900的示意图。区域有效页面映射表1900可包含有解分配命令历史栏位,其中解分配命令历史栏位可包含有多个位元,以及每一个位元用以指示一相对应的页面的数据是有效的还是无效的。举例来说,倘若一区域具有282个页面的话,则解分配命令历史栏位包含有282个位元,并且每一个位元对应于一页面,倘若该位元等于“1”的话,则代表相对应的页面内的数据是有效的;以及倘若该位元等于“0”的话,则代表相对应的页面内的数据是无效的。在图19所示的实施例中,由于区域Z1~区域Z3的所有数据被重新写入至快闪存储器模块124中,并且没有接受到任何解分配命令,因此解分配命令历史栏位的位元皆等于“1”,并且每一个区域Z1~区域Z3的有效页面计数是等于“282”。
接着,倘若快闪存储器控制器122自主机装置110接收到一解分配命令,以解分配一逻辑地址范围的话,则微处理器212可参考解分配命令内的该逻辑地址范围来反转(flip)解分配命令历史栏位的相对应的位元,具体来说,请参照图20,倘若快闪存储器控制器122自主机装置110接收到一解分配命令,以解分配对应于100个页面的一逻辑地址范围的话,则微处理器212可以将解分配命令历史栏位中对应于该100个页面的位元自“1”更新成“0”。
要注意的是,可以仅基于来自主机装置110的解分配命令来对区域有效页面映射表1900进行更新,而无需参考有效页面计数表900、有效页面计数表1400以及详细有效页面计数表1500。
在图19所示的实施例中,用语“页面”可以指示对应于一区块的一实体页面(例如16千位元组)或一逻辑地址单元(例如一逻辑区块地址,4千位元组)的一逻辑地址范围。
图21为依据本发明一实施例的快闪存储器控制器122的控制方法的流程图。请搭配参照上述图19以及图20的实施例,该流程描述如下。
在步骤2100中,流程开始。
在步骤2102中,快闪存储器控制器判断是否自主机装置接收到一解分配命令,如果是,进入步骤2104;如果否,回到步骤2102。
在步骤2104中,快闪存储器控制器基于该解分配命令的逻辑地址范围来更新区域有效页面计数表。
在步骤2106中,快闪存储器控制器参考区域有效页面计数表来判断任一个区域是否都不具有任何有效数据,如果是,进入步骤2018;如果否,回到步骤2102。
在步骤2108中,快闪存储器控制器建议主机装置传送一重置命令,以重置不具有有效数据的区域。
总结来说,在本发明的快闪存储器控制器的控制方法中,藉由根据来自主机装置的解分配命令来建立一有效页面计数表、一详细有效页面计数表及/或一区域有效页面计数表,快闪存储器控制器可以有效地且快速地判断任一个区域是否都不具有任何有效数据,以使得快闪存储器控制器可以建议主机装置来传送一重置命令,以重置该区域。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (18)

1.一种快闪存储器控制器的控制方法,其中该快闪存储器控制器用以存取一快闪存储器模块,该快闪存储器模块包含有多个区块,以及该控制方法包含有:
自一主机装置接收一设置命令,其中该设置命令将该快闪存储器模块的至少一部分配置成一分区命名空间,该分区命名空间逻辑上包含有多个区域,该主机装置对该分区命名空间进行一基于区域的数据写入操作,每一个区域具有一相同大小,对应于每一个区域的多个逻辑地址是连续的,以及该多个逻辑地址在该多个区域之间不重迭;
将一第一区域的数据写入至多个第一区块中;
建立一区域-区块映射表,其中该区域-区块映射表包含有关于该第一区域、相对应的该多个第一区块以及一共享区块的资讯;
在该数据被写入至该多个第一区块之后,建立或更新一有效页面计数表,其中该有效页面计数表记录每一个区块及其相对应的有效页面计数;
自该主机装置接收至少一解分配命令,其中每一个解分配命令包含有待解分配的一逻辑地址范围;
根据该至少一解分配命令来更新该有效页面计数表,以产生一更新后有效页面计数表;
根据该更新后有效页面计数表来判断对应于该第一区域的所有该多个第一区块的多个有效页面计数是否为零;
倘若对应于该第一区域的所有该多个第一区块的该多个有效页面计数为零的话,则监控该共享区块以判断该第一区域是否不具有在该共享区块内的任何有效数据;以及
倘若该第一区域被判定不具有在该共享区块内的任何有效数据的话,则建议该主机装置传送一重置命令,其中该重置命令用以重置该第一区域。
2.如权利要求1所述的控制方法,其特征在于,建议该主机装置传送该重置命令的步骤包含有:
将对应于该第一区域的一重置区域建议属性自一第一逻辑值设置成一第二逻辑值,其中具有该第一逻辑值的该重置区域建议属性用以指示不是所有对应于该第一区域的该数据变得无效,具有该第二逻辑值的该重置区域建议属性用以指示所有对应于该第一区域的该数据变得无效,以及该重置区域建议属性是被该主机装置所读取,以判断是否将该重置命令传送至该快闪存储器控制器。
3.如权利要求1所述的控制方法,其特征在于,另包含有:
在该数据被写入至该共享区块中之后,建立或更新一详细有效页面计数表,其中该详细有效页面计数表记录该第一区域、至少一第二区域以及各自相对应的有效页面计数。
4.如权利要求3所述的控制方法,其特征在于,该详细有效页面计数表另记录该第一区域以及该至少一第二区域中每一者的满资讯,并且该满资讯指示相对应的该第一/第二区域的所有该数据是否被完整地写入至该共享区块中。
5.如权利要求4所述的控制方法,其特征在于,监控该共享区块以判断该第一区域是否不具有在该共享区块内的任何有效数据的步骤包含有:
倘若该详细有效页面计数表指示相对应的该第一区域的所有该数据被完整地写入至该共享区块中,以及该第一区域的该有效页面计数等于零的话,则判定该第一区域不具有在该共享区块内的任何有效数据。
6.如权利要求5所述的控制方法,其特征在于,监控该共享区块以判断该第一区域是否不具有在该共享区块内的任何有效数据的步骤包含有:
倘若该详细有效页面计数表指示该第一区域的该有效页面计数等于零,但是该详细有效页面计数表另指示不是所有相对应的该第一区域的该数据被完整地写入至该共享区块中的话,则不判定该第一区域不具有在该共享区块内的任何有效数据。
7.一种快闪存储器控制器,其中该快闪存储器控制器用以存取一快闪存储器模块,该快闪存储器模块包含有多个区块,以及该快闪存储器控制器包含有:
一只读存储器,用以储存一程序码;
一微处理器,用以执行该程序码以控制该快闪存储器模块的存取;以及
一缓冲存储器;
其中该微处理器用以:
自一主机装置接收一设置命令,其中该设置命令将该快闪存储器模块的至少一部分配置成一分区命名空间,该分区命名空间逻辑上包含有多个区域,该主机装置对该分区命名空间进行一基于区域的数据写入操作,每一个区域具有一相同大小,对应于每一个区域的多个逻辑地址是连续的,以及该逻辑地址在该多个区域之间不重迭;
将一第一区域的数据写入至多个第一区块中;
建立一区域-区块映射表,其中该区域-区块映射表包含有关于该第一区域、相对应的该多个第一区块以及一共享区块的资讯;
在该数据被写入至该多个第一区块之后,建立或更新一有效页面计数表,其中该有效页面计数表记录每一个区块及其相对应的有效页面计数;
自该主机装置接收至少一解分配命令,其中每一个解分配命令包含有待解分配的一逻辑地址范围;
根据该至少一解分配命令来更新该有效页面计数表,以产生一更新后有效页面计数表;
根据该更新后有效页面计数表来判断对应于该第一区域的所有该多个第一区块的多个有效页面计数是否为零;
倘若对应于该第一区域的所有该多个第一区块的该多个有效页面计数变为零的话,则监控该共享区块以判断该第一区域是否不具有在该共享区块内的任何有效数据;以及
倘若该第一区域被判定不具有在该共享区块内的任何有效数据的话,则建议该主机装置传送一重置命令,其中该重置命令用以重置该第一区域。
8.如权利要求7所述的快闪存储器控制器,其特征在于,建议该主机装置传送该重置命令的步骤包含有:
将对应于该第一区域的一重置区域建议属性自一第一逻辑值设置成一第二逻辑值,其中具有该第一逻辑值的该重置区域建议属性用以指示不是所有对应于该第一区域的该数据变得无效,具有该第二逻辑值的该重置区域建议属性用以指示所有对应于该第一区域的该数据变得无效,以及该重置区域建议属性是被该主机装置所读取,以判断是否将该重置命令传送至该快闪存储器控制器。
9.如权利要求7所述的快闪存储器控制器,其特征在于,另包含有:
在该数据被写入至该共享区块中之后,建立或更新一详细有效页面计数表,其中该详细有效页面计数表记录该第一区域、至少一第二区域以及各自相对应的有效页面计数。
10.如权利要求9所述的快闪存储器控制器,其特征在于,该详细有效页面计数表另记录该第一区域以及该至少一第二区域中每一者的满资讯,并且该满资讯指示相对应的该第一/第二区域的所有该数据是否被完整地写入至该共享区块中。
11.如权利要求10所述的快闪存储器控制器,其特征在于,监控该共享区块以判断该第一区域是否不具有在该共享区块内的任何有效数据的步骤包含有:
倘若该详细有效页面计数表指示相对应的该第一区域的所有该数据被完整地写入至该共享区块中,以及该第一区域的该有效页面计数等于零的话,则判定该第一区域不具有在该共享区块内的任何有效数据。
12.如权利要求11所述的快闪存储器控制器,其特征在于,监控该共享区块以判断该第一区域是否不具有在该共享区块内的任何有效数据的步骤包含有:
倘若该详细有效页面计数表指示该第一区域的该有效页面计数等于零,但是该详细有效页面计数表另指示不是所有相对应的该第一区域的该数据被完整地写入至该共享区块中的话,则不判定该第一区域不具有在该共享区块内的任何有效数据。
13.一种储存装置,包含有:
一快闪存储器模块,其中该快闪存储器模块包含有多个区块;以及
一快闪存储器控制器,用以存取该快闪存储器模块;
其中该快闪存储器控制器用以:
自一主机装置接收一设置命令,其中该设置命令将该快闪存储器模块的至少一部分配置成一分区命名空间,该分区命名空间逻辑上包含有多个区域,该主机装置对该分区命名空间进行一基于区域的数据写入操作,每一个区域具有一相同大小,对应于每一个区域的多个逻辑地址是连续的,以及该多个逻辑地址在该多个区域之间不重迭;
将一第一区域的数据写入至多个第一区块中;
建立一区域-区块映射表,其中该区域-区块映射表包含有关于该第一区域、相对应的该多个第一区块以及一共享区块的资讯;
在该数据被写入至该多个第一区块之后,建立或更新一有效页面计数表,其中该有效页面计数表记录每一个区块及其相对应的有效页面计数;
自该主机装置接收至少一解分配命令,其中每一个解分配命令包含有待解分配的一逻辑地址范围;
根据该至少一解分配命令来更新该有效页面计数表,以产生一更新后有效页面计数表;
根据该更新后有效页面计数表来判断对应于该第一区域的所有该多个第一区块的多个有效页面计数是否为零;
倘若对应于该第一区域的所有该多个第一区块的该多个有效页面计数为零的话,则监控该共享区块以判断该第一区域是否不具有在该共享区块内的任何有效数据;以及
倘若该第一区域被判定不具有在该共享区块内的任何有效数据的话,则建议该主机装置传送一重置命令,其中该重置命令系用以重置该第一区域。
14.如权利要求13所述的储存装置,其特征在于,建议该主机装置传送该重置命令的步骤包含有:
将对应于该第一区域的一重置区域建议属性自一第一逻辑值设置成一第二逻辑值,其中具有该第一逻辑值的该重置区域建议属性用以指示不是所有对应于该第一区域的该数据变得无效,具有该第二逻辑值的该重置区域建议属性用以指示所有对应于该第一区域的该数据变得无效,以及该重置区域建议属性是被该主机装置所读取,以判断是否将该重置命令传送至该快闪存储器控制器。
15.如权利要求13所述的储存装置,其特征在于,另包含有:
在该数据被写入至该共享区块中之后,建立或更新一详细有效页面计数表,其中该详细有效页面计数表记录该第一区域、至少一第二区域以及各自相对应的有效页面计数。
16.如权利要求15所述的储存装置,其特征在于,该详细有效页面计数表另记录该第一区域以及该至少一第二区域中每一者的满资讯,并且该满资讯指示相对应的该第一/第二区域的所有该数据是否被完整地写入至该共享区块中。
17.如权利要求16所述的储存装置,其特征在于,监控该共享区块以判断该第一区域是否不具有在该共享区块内的任何有效数据的步骤包含有:
倘若该详细有效页面计数表指示相对应的该第一区域的所有该数据被完整地写入至该共享区块中,以及该第一区域的该有效页面计数等于零的话,则判定该第一区域不具有在该共享区块内的任何有效数据。
18.如权利要求17所述的储存装置,其特征在于,监控该共享区块以判断该第一区域是否不具有在该共享区块内的任何有效数据的步骤包含有:
倘若该详细有效页面计数表指示该第一区域的该有效页面计数等于零,但是该详细有效页面计数表另指示不是所有相对应的该第一区域的该数据被完整地写入至该共享区块中的话,则不判定该第一区域不具有在该共享区块内的任何有效数据。
CN202210271773.8A 2021-03-31 2022-03-18 快闪存储器控制器的控制方法、快闪存储器控制器以及储存装置 Pending CN115145478A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163168267P 2021-03-31 2021-03-31
US63/168,267 2021-03-31
US17/671,603 US11733895B2 (en) 2021-03-31 2022-02-15 Control method of flash memory controller and associated flash memory controller and storage device
US17/671,603 2022-02-15

Publications (1)

Publication Number Publication Date
CN115145478A true CN115145478A (zh) 2022-10-04

Family

ID=83405077

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210271773.8A Pending CN115145478A (zh) 2021-03-31 2022-03-18 快闪存储器控制器的控制方法、快闪存储器控制器以及储存装置

Country Status (3)

Country Link
US (2) US11733895B2 (zh)
CN (1) CN115145478A (zh)
TW (1) TWI828085B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI775268B (zh) * 2021-01-07 2022-08-21 慧榮科技股份有限公司 儲存裝置、快閃記憶體控制器及其控制方法
US11733895B2 (en) * 2021-03-31 2023-08-22 Silicon Motion, Inc. Control method of flash memory controller and associated flash memory controller and storage device
US11907582B2 (en) * 2022-03-14 2024-02-20 Western Digital Technologies, Inc. Cloud storage device implementing composite zoned namespace architecture
US11853611B2 (en) * 2022-03-14 2023-12-26 Western Digital Technologies, Inc. Network interface card implementing composite zoned namespace architecture
US11940926B2 (en) * 2022-05-13 2024-03-26 Micron Technology, Inc. Creating high density logical to physical mapping

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI428850B (zh) 2006-06-08 2014-03-01 Via Tech Inc 解碼方法
TWI413931B (zh) * 2009-01-15 2013-11-01 Phison Electronics Corp 快閃記憶體資料之存取方法及其儲存系統與控制系統
US9251087B2 (en) 2011-02-11 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for virtual memory management
TWI448891B (zh) 2012-09-06 2014-08-11 Silicon Motion Inc 資料儲存裝置與快閃記憶體控制方法
WO2017022082A1 (ja) * 2015-08-04 2017-02-09 株式会社日立製作所 フラッシュメモリパッケージ、及び、フラッシュメモリパッケージを含むストレージシステム
US10664179B2 (en) 2015-09-25 2020-05-26 Intel Corporation Processors, methods and systems to allow secure communications between protected container memory and input/output devices
US10552288B2 (en) * 2016-12-12 2020-02-04 International Business Machines Corporation Health-aware garbage collection in a memory system
CN109086219B (zh) 2017-06-14 2022-08-05 北京忆恒创源科技股份有限公司 去分配命令处理方法及其存储设备
TWI633428B (zh) 2017-09-28 2018-08-21 慧榮科技股份有限公司 資料儲存裝置與記憶體裝置之資料處理方法
US10877898B2 (en) * 2017-11-16 2020-12-29 Alibaba Group Holding Limited Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
KR20200096613A (ko) * 2017-12-11 2020-08-12 마이크론 테크놀로지, 인크. 캐싱된 플래시 변환 계층에서의 가비지 수집의 효율을 개선하기 위한 기법
US10936199B2 (en) 2018-07-17 2021-03-02 Silicon Motion, Inc. Flash controllers, methods, and corresponding storage devices capable of rapidly/fast generating or updating contents of valid page count table
KR20200030245A (ko) 2018-09-12 2020-03-20 에스케이하이닉스 주식회사 메모리 시스템에서의 유효 데이터 관리 방법 및 장치
KR20200031924A (ko) 2018-09-17 2020-03-25 삼성전자주식회사 메모리 컨트롤러, 메모리 컨트롤러의 동작 방법 및 메모리 컨트롤러를 포함하는 스토리지 장치
TWI698749B (zh) 2019-03-13 2020-07-11 慧榮科技股份有限公司 資料儲存裝置與資料處理方法
US11209989B2 (en) 2019-09-25 2021-12-28 Western Digital Technologies, Inc. Zoned namespaces in solid-state drives
US11726679B2 (en) * 2019-11-05 2023-08-15 Western Digital Technologies, Inc. Applying endurance groups to zoned namespaces
US11797433B2 (en) 2019-12-20 2023-10-24 Sk Hynix Nand Product Solutions Corp. Zoned namespace with zone grouping
JP7346311B2 (ja) * 2020-01-16 2023-09-19 キオクシア株式会社 メモリシステム
KR20220059259A (ko) * 2020-11-02 2022-05-10 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법
KR20220077691A (ko) * 2020-12-02 2022-06-09 에스케이하이닉스 주식회사 호스트, 메모리 컨트롤러 및 메모리 장치를 포함하는 전자 시스템 및 이의 동작 방법
US11733895B2 (en) * 2021-03-31 2023-08-22 Silicon Motion, Inc. Control method of flash memory controller and associated flash memory controller and storage device
US11656778B2 (en) * 2021-08-17 2023-05-23 Micron Technology, Inc. Selection of block size for namespace management in non-volatile memory devices

Also Published As

Publication number Publication date
TW202303379A (zh) 2023-01-16
US20230342055A1 (en) 2023-10-26
TWI828085B (zh) 2024-01-01
US20220317879A1 (en) 2022-10-06
US11733895B2 (en) 2023-08-22

Similar Documents

Publication Publication Date Title
CN115145478A (zh) 快闪存储器控制器的控制方法、快闪存储器控制器以及储存装置
TW201915733A (zh) 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置
TWI660269B (zh) 用來於一記憶裝置中進行寫入管理之方法以及記憶裝置及其控制器
TWI807674B (zh) 快閃記憶體控制器的控制方法、快閃記憶體控制器以及儲存裝置
TWI775268B (zh) 儲存裝置、快閃記憶體控制器及其控制方法
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
TWI808384B (zh) 儲存裝置、快閃記憶體控制器及其控制方法
US20210240627A1 (en) Data storage appratus and operating method thereof
TWI709855B (zh) 用來於一記憶裝置中進行寫入管理之方法以及記憶裝置及其控制器
TWI806508B (zh) 快閃記憶體控制器的控制方法、快閃記憶體控制器以及儲存裝置
TW202249018A (zh) 儲存裝置、快閃記憶體控制器及其控制方法
TWI821152B (zh) 儲存裝置、快閃記憶體控制器及其控制方法
TWI837829B (zh) 存取快閃記憶體模組的方法與相關的快閃記憶體控制器及記憶裝置
TW202403548A (zh) 借助隨機特性控制來進行記憶體裝置的資料存取管理的方法、記憶體裝置、電子裝置以及記憶體裝置的記憶體控制器
TW202414400A (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