CN110275668B - 区块管理方法、存储器控制电路单元与存储器存储装置 - Google Patents

区块管理方法、存储器控制电路单元与存储器存储装置 Download PDF

Info

Publication number
CN110275668B
CN110275668B CN201810207659.2A CN201810207659A CN110275668B CN 110275668 B CN110275668 B CN 110275668B CN 201810207659 A CN201810207659 A CN 201810207659A CN 110275668 B CN110275668 B CN 110275668B
Authority
CN
China
Prior art keywords
block
physical
blocks
memory
group
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
CN201810207659.2A
Other languages
English (en)
Other versions
CN110275668A (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.)
Phison Electronics Corp
Original Assignee
Phison Electronics Corp
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 Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to CN201810207659.2A priority Critical patent/CN110275668B/zh
Publication of CN110275668A publication Critical patent/CN110275668A/zh
Application granted granted Critical
Publication of CN110275668B publication Critical patent/CN110275668B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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)
  • Quality & Reliability (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种区块管理方法、存储器控制电路单元与存储器存储装置,用于管理可复写式非易失性存储器模块中的多个实体区块。此方法包括:从多个实体区块中的第一实体区块中读出使用者数据,以获得对应于第一实体区块的多个参数;将对应于第一实体区块的多个参数输入至区块识别机器学习模型中,以依据区块识别机器学习模型的输出结果将第一实体区块分组至第一区块群或第二区块群;建立第一区块映射表与第二区块映射表;将第一区块映射表的逻辑地址映射至属于第一区块群的实体区块并将第二区块映射表的逻辑地址映射至属于第二区块群的实体区块。

Description

区块管理方法、存储器控制电路单元与存储器存储装置
技术领域
本发明涉及一种区块管理方法、存储器控制电路单元与存储器存储装置,尤其涉及一种基于机器学习的区块管理方法、存储器控制电路单元与存储器存储装置。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
快闪存储器通常会分割为多个实体区块(physical block)。一般而言,在快闪存储器中实体区块为抹除的最小单位。也即,每一实体区块含有最小数目的一并被抹除的存储单元。每一实体区块通常会分割为多个实体页(physical page)。实体页通常为程序化(program)的最小单元,换言之,实体页为写入数据或读取数据的最小单元。
当快闪存储器存储装置用作为安装电脑操作系统的存储媒体时,操作系统会经常性地存取特定数据,例如,文件配置表(File Allocation Table,简称FAT)。在上述运作机制下快闪存储器存储装置的实体区块会被频繁地进行抹除以完成数据的更新。然而,实体区块的抹除次数是有限的(例如,实体区块抹除一万次后就会损坏),因此在频繁地抹除实体区块的情况下,快闪存储器存储装置的寿命将大幅缩短。
一般来说,操作系统在存储装置上存储数据皆有一特定使用模式。例如,某些实体区块的磨损程度过高,而某些实体区块的磨损程度过低。因此,若能根据每一实体区块的磨损程度来设计不同的写入机制,则将可有效地提升快闪存储器存储装置的效能,延长快闪存储器存储装置的寿命。基此,此领域技术人员需不断研发能够平均地使用快闪存储器存储系统中所有实体区块的区块管理方法,以有效地延长快闪存储器存储系统的寿命。
发明内容
本发明提供一种区块管理方法、存储器控制电路单元与存储器存储装置。
本发明的一范例实施例提出一种区块管理方法,用于管理可复写式非易失性存储器模块中的多个实体区块。此区块管理方法包括:从多个实体区块中的第一实体区块中读出使用者数据,以获得对应于第一实体区块的多个参数;将对应于第一实体区块的多个参数输入至区块识别机器学习模型中,以依据区块识别机器学习模型的输出结果将第一实体区块分组至第一区块群或第二区块群;建立第一区块映射表与第二区块映射表;将第一区块映射表的逻辑地址映射至属于第一区块群的第一实体区块;以及将第二区块映射表的逻辑地址映射至属于第二区块群的第一实体区块。
在本发明的一范例实施例中,上述第一区块映射表的逻辑地址排列在第二区块映射表的逻辑地址之前。
在本发明的一范例实施例中,上述存储在第一区块映射表的逻辑地址的数据的覆写频率大于存储在第二区块映射表的逻辑地址的数据的覆写频率。
在本发明的一范例实施例中,上述多个参数包括读取忙碌时间参数、错误比特位置参数与存储保持力参数的至少其中之一。
在本发明的一范例实施例中,上述错误比特位置参数是根据从每一实体区块中读出使用者数据中,在上实体程序化单元的多个错误比特的分布、在中实体程序化单元的多个错误比特的分布及在下实体程序化单元的多个错误比特的分布来获取。
在本发明的一范例实施例中,上述区块管理方法还包括:当从第一实体区块读出的使用者数据在错误检查与校正操作中无法被校正并且在重读操作后被校正时,存储器管理电路用以将第一实体区块分组至第二区块群。
在本发明的一范例实施例中,上述区块管理方法还包括:写入测试数据至每一所述多个实体区块;从每一所述多个实体区块中读出测试数据,以获得对应于每一所述多个实体区块的多个参数;以及以每一所述多个实体区块为单位,将对应于每一所述多个实体区块的参数输入至区块识别机器学习模型中,以依据区块识别机器学习模型的输出结果将多个实体区块至少分组为第一区块群与第二区块群。
在本发明的一范例实施例中,上述区块管理方法还包括:将测试数据写入至多个第一测试实体区块并且读出测试数据,以获取对应多个第一测试实体区块的参数;将测试数据写入至多个第二测试实体区块并且读出测试数据,以获取对应多个第二测试实体区块的参数;以及将多个第一测试实体区块、对应多个第一测试实体区块的参数、多个第二测试实体区块和对应多个第二测试实体区块的参数作为训练数据来进行机器学习操作以训练区块识别机器学习模型。
在本发明的一范例实施例中,上述区块管理方法还包括:将第一区块映射表的逻辑地址映射至属于第一区块群的实体区块之前,依据区块识别机器学习模型的输出结果,排序属于第一区块群的实体区块。
本发明的一范例实施例提出一种存储器存储装置,其包括连接器、可复写式非易失性存储器模块以及存储器控制电路单元。连接器用以电性连接至主机系统。可复写式非易失性存储器模块包括多个实体区块。存储器控制电路单元电性连接至连接器与可复写式非易失性存储器模块。在此,存储器控制电路单元用以写入测试数据至每一实体区块。存储器控制电路单元用以下达读取指令序列从多个实体区块中的第一实体区块中读出使用者数据,以获得对应于第一实体区块的多个参数。此外,存储器控制电路单元用以建立第一区块映射表与第二区块映射表;将第一区块映射表的逻辑地址映射至属于第一区块群的第一实体区块;以及将第二区块映射表的逻辑地址映射至属于第二区块群的第一实体区块。
在本发明的一范例实施例中,上述存储器控制电路单元还用以将第一区块映射表的逻辑地址排列在第二区块映射表的逻辑地址之前。
在本发明的一范例实施例中,上述存储器控制电路单元用以存储在第一区块映射表的逻辑地址的数据的覆写频率大于存储器控制电路单元用以存储在第二区块映射表的逻辑地址的数据的覆写频率。
在本发明的一范例实施例中,当从第一实体区块读出的使用者数据在错误检查与校正操作中无法被校正并且在重读操作后被校正时,上述存储器控制电路单元用以将第一实体区块分组至第二区块群。
在本发明的一范例实施例中,上述存储器控制电路单元还用以下达写入指令序列写入测试数据至每一所述多个实体区块;存储器控制电路单元还用以下达读取指令序列从每一所述多个实体区块中读出测试数据,以获得对应于每一所述多个实体区块的多个参数;以及以每一所述多个实体区块为单位,存储器控制电路单元还用以将对应于每一所述多个实体区块的参数输入至区块识别机器学习模型中,以依据区块识别机器学习模型的输出结果将多个实体区块至少分组为第一区块群与第二区块群。
在本发明的一范例实施例中,上述存储器控制电路单元还用以将测试数据写入至多个第一测试实体区块并且读出测试数据,以获取对应第一测试实体区块的多个参数,将测试数据写入至多个第二测试实体区块并且读出测试数据,以获取对应第二测试实体区块的多个参数。并且,存储器控制电路单元还用以将第一测试实体区块、对应第一测试实体区块的参数、第二测试实体区块和对应第二测试实体区块的参数作为训练数据来进行机器学习操作以训练区块识别机器学习模型。
在本发明的一范例实施例中,在将第一区块映射表的逻辑地址映射至属于第一区块群的实体区块的运作之前,存储器控制电路单元还用以依据区块识别机器学习模型的输出结果,排序属于第一区块群的实体区块。
本发明的一范例实施例提出一种存储器控制电路单元,其包括主机接口、存储器接口与存储器管理电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至可复写式非易失性存储器模块,可复写式非易失性存储器模块包括多个实体区块。存储器管理电路电性连接至主机接口与存储器接口。在此,存储器管理电路用以下达读取指令序列从多个实体区块中的第一实体区块中读出使用者数据,以获得对应于第一实体区块的多个参数。此外,存储器管理电路用以下达写入指令序列将对应于第一实体区块的多个参数输入至区块识别机器学习模型中,以依据区块识别机器学习模型的输出结果将第一实体区块分组至第一区块群或第二区块群。存储器管理电路用以建立第一区块映射表与第二区块映射表。存储器管理电路用以将第一区块映射表的逻辑地址映射至属于第一区块群的第一实体区块;以及存储器管理电路用以将第二区块映射表的逻辑地址映射至属于第二区块群的第一实体区块。
在本发明的一范例实施例中,上述存储器管理电路还用以将第一区块映射表的逻辑地址排列在第二区块映射表的逻辑地址之前。
在本发明的一范例实施例中,上述存储器管理电路用以存储在第一区块映射表的逻辑地址的数据的覆写频率大于存储器管理电路用以存储在第二区块映射表的逻辑地址的数据的覆写频率。
在本发明的一范例实施例中,当从第一实体区块读出的使用者数据在错误检查与校正操作中无法被校正并且在重读操作后被校正时,上述存储器管理电路用以将第一实体区块分组至第二区块群。
在本发明的一范例实施例中,存储器管理电路还用以下达写入指令序列写入测试数据至每一所述多个实体区块;存储器管理电路还用以下达读取指令序列从每一所述多个实体区块中读出测试数据,以获得对应于每一所述多个实体区块的多个参数;以及以每一所述多个实体区块为单位,存储器管理电路还用以将对应于每一所述多个实体区块的参数输入至区块识别机器学习模型中,以依据区块识别机器学习模型的输出结果将多个实体区块至少分组为第一区块群与第二区块群。
在本发明的一范例实施例中,上述存储器管理电路还用以下达写入指令序列将测试数据写入至多个第一实体区块并且读出测试数据,以获取对应第一实体区块的多个参数。此外,存储器管理电路还用以下达写入指令序列将测试数据写入至多个第二测试实体区块并且读出测试数据,以获取对应第二测试实体区块的多个参数。并且存储器管理电路还用以将第一测试实体区块、对应第一测试实体区块的参数、第二测试实体区块和对应第二测试实体区块的参数作为训练数据来进行机器学习操作以训练区块识别机器学习模型。
在本发明的一范例实施例中,在将第一区块映射表的逻辑地址映射至属于第一区块群的实体区块的运作之前,存储器管理电路还用以依据区块识别机器学习模型的输出结果,排序属于第一区块群的实体区块。
基于上述,本发明提供的区块管理方法、存储器控制电路单元与存储器存储装置,利用区块识别机器学习模型根据实体区块的多个参数来判断实体区块的使用状态并将实体区块进行分组,以优先使用状态良好的实体区块,达到平均地使用快闪存储器存储系统中所有实体区块的目的。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。
图2是根据另一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。
图3是根据另一范例实施例所示出的主机系统与存储器存储装置的示意图。
图4是根据一范例实施例所示出的主机系统与存储器存储装置的概要方块图。
图5是根据一范例实施例所示出的存储器控制电路单元的概要方块图。
图6是根据一范例实施例所示出的初始化时逻辑地址与实体区块的映射示意图。
图7是根据一范例实施例所示出的区块识别机器学习模型进行区块管理的方框示意图。
图8是根据一范例实施例所示出的实体区块与区块映射表的映射示意图。
图9是根据一范例实施例所示出的区块管理方法的流程图。
图10是根据一范例实施例所示出的建立区块识别机器学习模型的方法流程图。
图11是根据一范例实施例所示出的实体区块重新分组的方法流程图。
附图标记说明
10:存储器存储装置;
11:主机系统;
12:输入/输出(I/O)装置;
110:系统总线;
111:处理器;
112:随机存取存储器(RAM);
113:只读存储器(ROM);
114:数据传输接口;
20:主机板;
201:U盘;
202:存储卡;
203:固态硬盘;
204:无线存储器存储装置;
205:全球定位系统模块;
206:网络接口卡;
207:无线传输装置;
208:键盘;
209:屏幕;
210:喇叭;
30:存储器存储装置;
31:主机系统;
32:SD卡;
33:CF卡;
34:嵌入式存储装置;
341:嵌入式多媒体卡;
342:嵌入式多芯片封装存储装置;
402:连接接口单元;
404:存储器控制电路单元;
406:可复写式非易失性存储器模块;
502:存储器管理电路;
504:主机接口;
506:存储器接口;
508:缓冲存储器;
510:电源管理电路;
512:错误检查与校正电路;
LBA(0)~LBA(N)、LBA(M)、LBA(M+1)、LBA(M+2):逻辑地址;
410(0)~410(N)、410(S)、410(M)、410(M+1)、410(P)、410(N+1)、410(N+2)、410(N+3):实体区块;
701:区块识别机器学习模型;
702:训练数据;
1、2、703:参数;
420:第一区块群;
430:第二区块群;
4101:第一测试实体区块;
4102:第二测试实体区块;
70:31:读取忙碌时间参数;
7032:错误比特位置参数;
7033:存储保持力参数;
TA:第一区块映射表;
TB:第二区块映射表;
S901:写入测试数据至每一实体区块的步骤;
S903:从每一实体区块中读出测试数据以获得对应于每一实体区块的多个参数的步骤;
S905:以每一实体区块为单位将对应于每一实体区块的参数输入至区块识别机器学习模型中以依据区块识别机器学习模型的输出结果将实体区块至少分组为第一区块群或第二区块群的步骤;
S907:建立第一区块映射表与第二区块映射表的步骤;
S909:将第一区块映射表的逻辑地址映射至属于第一区块群的实体区块且将第二区块映射表的逻辑地址映射至属于第二区块群的实体区块的步骤;
S1001:将测试数据写入至多个第一测试实体区块并且读出测试数据以获取对应第一测试实体区块的参数的步骤;
S1003:将测试数据写入至多个第二测试实体区块并且读出测试数据以获取对应第二测试实体区块的参数的步骤;
S1005:将第一测试实体区块、对应第一测试实体区块的参数、第二测试实体区块和对应第二测试实体区块的参数作为训练数据来进行机器学习操作以训练区块识别机器学习模型的步骤;
S1101:从多个实体区块中的第一实体区块中读出使用者数据以获得对应于第一实体区块的多个参数的步骤;
S1103:将对应于第一实体区块的参数输入至区块识别机器学习模型中以依据区块识别机器学习模型的另一输出结果将第一实体区块重新分组至第一区块群或第二区块群的步骤。
具体实施方式
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路单元)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图,并且图2是根据另一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。
请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccess memory, RAM)112、只读存储器(read only memory, ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆电性连接至系统总线(system bus)110。
在本范例实施例中,主机系统11是通过数据传输接口114与存储器存储装置10电性连接。例如,主机系统11可经由数据传输接口114将数据写入至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机系统11是通过系统总线110与I/O装置12电性连接。例如,主机系统11可经由系统总线110将输出信号传送至I/O装置12或从I/O装置12接收输入信号。
在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114是可设置在主机系统11的主机板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主机板20可以经由有线或无线方式电性连接至存储器存储装置10。存储器存储装置10可例如是U盘201、存储卡202、固态硬盘(Solid State Drive, SSD)203或无线存储器存储装置204。无线存储器存储装置204可例如是近距离无线通讯(NearField Communication Storage, NFC)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通讯技术为基础的存储器存储装置。此外,主机板20也可以通过系统总线110电性连接至全球定位系统(Global Positioning System, GPS)模块205、网络接口卡206、无线传输装置207、键盘208、屏幕209、喇叭210等各式I/O装置。例如,在一范例实施例中,主机板20可通过无线传输装置207存取无线存储器存储装置204。
在一范例实施例中,所提及的主机系统为可实质地与存储器存储装置配合以存储数据的任意系统。虽然在上述范例实施例中,主机系统是以电脑系统来作说明,但本揭露不限于此。图3是根据另一范例实施例所示出的主机系统与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数码相机、摄影机、通讯装置、音频播放器、视频播放器或平板电脑等系统,而存储器存储装置30可为其所使用的SD卡32、CF卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embedded MMC, eMMC)341和/或嵌入式多芯片封装存储装置(embedded Multi ChipPackage, eMCP)342等各类型将存储器模块直接电性连接于主机系统的基板上的嵌入式存储装置。
图4是根据一范例实施例所示出的主机系统与存储器存储装置的概要方块图。
请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
在本范例实施例中,连接接口单元402是相容于安全数字(Secure Digital, SD)接口标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合串行高级技术附件(Serial Advanced Technology Attachment, SATA)标准、并行高级技术附件(Parallel Advanced Technology Attachment, PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers, IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express, PCI Express)标准、通用串行总线(Universal Serial Bus, USB)标准、超高速一代(Ultra High Speed-I, UHS-I)接口标准、超高速二代(Ultra High Speed-II, UHS-II)接口标准、存储棒(Memory Stick, MS)接口标准、多芯片封装(Multi-Chip Package)接口标准、多媒体存储卡(Multi MediaCard, MMC)接口标准、嵌入式多媒体存储卡(Embedded Multimedia Card, eMMC)接口标准、通用快闪存储器(Universal Flash Storage, UFS)接口标准、嵌入式多芯片封装(embedded Multi Chip Package, eMCP)接口标准、小型快闪(Compact Flash, CF)接口标准、整合式驱动电子接口(Integrated Device Electronics, IDE)标准或其他适合的标准。在本范例实施例中,连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含存储器控制电路单元的芯片外。
存储器控制电路单元404用以执行以硬件型式或固体型式实作的多个逻辑门或控制指令,并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等操作。
可复写式非易失性存储器模块406是电性连接至存储器控制电路单元404,并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406具有实体区块(也称实体抹除单元)410(0)~ 410(P)。例如,实体区块410(0)~410(P)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体区块分别具有数个实体页面(也称实体程序化单元),其中属于同一个实体区块的实体页面可被独立地写入且被同时地抹除。然而,必须了解的是,本发明不限于此,每一实体区块是可由64个实体页面、256个实体页面或其他任意个实体页面所组成。
更详细来说,实体区块为抹除的最小单位。也即,每一实体区块含有最小数目的一并被抹除的存储单元。实体页面为程序化的最小单元。即,实体页面为写入数据的最小单元。每一实体页面通常包括数据比特区与冗余比特区。数据比特区包含多个实体存取地址用以存储使用者的数据,而冗余比特区用以存储系统的数据(例如,控制信息与错误更正码)。在本范例实施例中,每一个实体页面的数据比特区中会包含8个实体存取地址,且一个实体存取地址的大小为512字节(byte)。然而,在其他范例实施例中,数据比特区中也可包含数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,在一范例实施例中,实体区块为实体抹除单元,并且实体页面为实体程序化单元或实体扇区,但本发明不以此为限。
在本范例实施例中,可复写式非易失性存储器模块406为单阶存储单元(SingleLevel Cell,SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个数据比特的快闪存储器模块)。然而,本发明不限于此,可复写式非易失性存储器模块406也可是多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个数据比特的快闪存储器模块)、复数阶存储单元(Trinary Level Cell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个数据比特的快闪存储器模块)或其他具有相同特性的存储器模块。
图5是根据一范例实施例所示出的存储器控制电路单元的概要方块图。
请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504与存储器接口506。
存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
在本范例实施例中,存储器管理电路502的控制指令是以固体型式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在本发明另一范例实施例中,存储器管理电路502的控制指令也可以程序码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元404被致能时,微处理器单元会先执行此驱动码段来将存储于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在本发明另一范例实施例中,存储器管理电路502的控制指令也可以一硬件型式来实作。例如,存储器管理电路502包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。其中,存储单元管理电路用以管理可复写式非易失性存储器模块406的实体区块;存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令以将数据写入至可复写式非易失性存储器模块406中;存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令以从可复写式非易失性存储器模块406中读取数据;存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令以将数据从可复写式非易失性存储器模块406中抹除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。
主机接口504是电性连接至存储器管理电路502并且用以电性连接至连接接口单元402,以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504也可以是相容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、UHS-I接口标准 、UHS-II接口标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口506是电性连接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。
缓冲存储器508是电性连接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。
在一范例实施例中,存储器控制电路单元404还包括缓冲存储器508、电源管理电路510与错误检查与校正电路512。
电源管理电路510是电性连接至存储器管理电路502并且用以控制存储器存储装置10的电源。
错误检查与校正电路512是电性连接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路512会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code, ECC Code),并且存储器管理电路502会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路512会根据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
在本范例实施例中,错误检查与校正电路512是以低密度奇偶检查码(lowdensity parity code,LDPC)来实作。然而,在另一范例实施例中,错误检查与校正电路512也可以BCH码、回旋码(convolutional code)、涡轮码(turbo code)、比特翻转(bitflipping)等编码/解码算法来实作。
具体来说,存储器管理电路202会依据所接收的数据及对应的错误检查与校正码(以下也称为错误校正码)来产生错误校正码框(ECC Frame)并且将错误校正码框写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406读取数据时,错误检查与校正电路512会根据错误校正码框中的错误校正码来验证所读取的数据的正确性。
以下描述存储器管理电路502、主机接口504与存储器接口506、缓冲存储器508、电源管理电路510与错误检查与校正电路512所执行的操作,也可参考为由存储器控制电路单元404所执行。
图6是根据一范例实施例所示出的初始化时逻辑地址与实体区块的映射示意图。
必须了解的是,在此描述可复写式非易失性存储器模块406的实体区块的运作时,以“分组”等词来操作实体区块是逻辑上的概念。也就是说,可复写式非易失性存储器模块的实体区块的实际位置并未更动,而是逻辑上对可复写式非易失性存储器模块的实体区块进行操作。
一般来说,在存储器存储装置10出厂之前,制造商会使用量产工具(MassProduction tool,MP tool)来对存储器存储装置10执行开卡操作,以执行初始化动作。
请参照图6,例如,存储器管理电路502会配置逻辑地址LBA(0)~LBA(N)以映射实体区块410(0)~410(N)。在一范例实施例中,存储器管理电路502会提取实体区块来存储逻辑地址-实体地址映射表(logical address-physical address mapping table)来记载逻辑地址LBA(0)~LBA(N)与实体区块410(0)~410(N)的映射关系。
图7是根据一范例实施例所示出的区块识别机器学习模型进行区块管理的方框示意图。
请参照图7。在一范例实施例中,存储器管理电路502用以下达写入指令序列将测试数据分别写入至可复写式非易失性存储器模块406中的多个第一测试实体区块4101及多个第二测试实体区块4102并且下达读取指令序列分别读出测试数据,以获得对应多个第一测试实体区块4101的参数1以及对应多个第二测试实体区块的参数2,并且存储器管理电路502将多个第一测试实体区块4101、对应多个第一测试实体区块的参数1、多个第二测试实体区块4102和对应多个第二测试实体区块的参数2作为训练数据702来进行机器学习操作,以训练区块识别机器学习模型701。
在一范例实施例中,存储器管理电路502将测试数据写入至可复写式非易失性存储器模块406中的多个实体区块410(0)~410(N),以获得对应于实体区块410(0)~410(N)的多个参数703,以每一个实体区块为单位,将对应于每一个实体区块的参数703输入至上述训练后的区块识别机器学习模型701中,以依据区块识别机器学习模型701的输出结果将可复写式非易失性存储器模块406中的实体区块410(0)~410(N)至少分组为第一区块群420与第二区块群430。
对应于实体区块410(0)~410(N)的参数703是与实体区块的磨损程度或其他影响其使用状态有关。于本范例实施例中,对应于实体区块410(0)~410(N)的多个参数703例如包括读取忙碌时间参数7031、错误比特位置参数7032、存储保持力参数7033。在此,错误比特位置参数7032是根据从实体区块410(0)~410(N)中读出测试数据中,在上实体程序化单元的多个错误比特的分布、在中实体程序化单元的多个错误比特的分布及在下实体程序化单元的多错误比特的分布来获取。
同样地,对应第一测试实体区块4101的参数1以及对应第二测试实体区块4102的参数2也包括读取忙碌时间参数、错误比特位置参数与存储保持力参数。
具体地说,假设将可复写式非易失性存储器模块406中的1000个实体区块作为样本,将测试数据写入至作为样本的1000个实体区块中并读出测试数据,获取对应于此1000个实体区块中每一个实体区块的多个参数,将此些参数及此些1000个实体区块作为区块识别机器学习模型701的训练数据702进行机器学习以训练区块识别机器学习模型701。特别是,训练数据702被输入至区块识别机器学习模型701后,区块识别机器学习模型701会对训练数据702进行学习分析,提取训练数据702的特征并找出此些参数与此些1000个实体区块之间的规则,构建至少两组集合,由此利用提取的特征以及找出的规则学习判断实体区块的使用状态,并根据至少两组集合将此些1000个实体区块分为至少两组区块群。一般来说,作为训练数据的样本数量越多,区块识别机器学习模型701学习的越多,越能提高区块识别机器学习模型701的精确性。
举例来说,将其中一个作为样本的实体区块接收到读取/写入测试数据的指令时,对实体区块写入测试数据或从实体区块读取测试数据的时间作为读取忙碌时间参数。若写入测试数据至实体区块或从实体区块读取测试数据的时间比预设时间长,也就是说实体区块的读取忙碌时间参数比预设的读取忙碌时间参数大,则此作为样本的实体区块会被归类为使用状态一般(或者较差)的实体区块,并被分组至第二区块群430。此时,区块识别机器学习模型701会进行机器学习,对此作为样本的实体区块的读取忙碌时间参数提取特征,分析其读取忙碌时间参数与实体区块的分组之间的规则。例如,之后对于将读取忙碌时间参数相同或相近读取忙碌时间参数或比预设的读取忙碌时间参数大的实体区块,区块识别机器学习模型701会将此实体区块归类为使用状态一般(或者较差)的第二区块群430。
区块识别机器学习模型701也可以根据实体区块中的存储单元出现错误比特的位置来对实体区块进行判断并分组。举例来说,假设可复写式非易失性存储器模块406为复数阶存储单元(Trinary Level Cell,TLC)NAND型快闪存储器模块,在写入测试数据至TLCNAND型快闪存储器模块的作为样本的实体区块且从此实体区块读出测试数据,可以获取对应于此实体区块的错误比特位置参数。其中,此实体区块的存储单元出现错误比特的位置包括在上实体程序化单元的多个错误比特的分布、在中实体页面的多个错误比特的分布及在下实体程序化单元的错误比特的分布。区块识别机器学习模型701根据错误比特位置参数将实体区块归类为使用状态良好或使用状态一般(或较差)的组别。例如,从实体区块中读出测试数据时,若在错误检查与校正操作中无法校正测试数据,而必须使用重读电压重新读取测试数据才能完成校正时,此类实体区块会被归类为使用状态一般(或较差)的组别,并且分组至第二区块群430。
也就是说,存储器管理电路502在使用读取电压从实体区块读取测试数据时,若使用此读取电压无法读取测试数据时,存储器管理电路502再调整读取电压重新对实体区块进行读取操作。若使用调整后的读取电压对实体区块执行重新读取操作后能读取测试数据,并且可利用错误检查与校正操作检测实体区块出现错误的位置并且校正错误,则此类实体区块仍可使用并且其使用状态一般(或较差)。换言之,存储器管理电路502在使用读取电压从实体区块读取测试数据时,若可在错误检查与校正操作中校正测试数据,此类实体区块会被归类为使用状态良好的组别 ,并且分组至第一区块群420。同样地,区块识别机器学习模型701会对此作为样本的实体区块的错误比特位置参数提取特征,分析错误比特位置参数与实体区块的分组之间的规则,并进行机器学习。
为了提高区块识别机器学习模型701的精确性,区块识别机器学习模型701会对作为样本的1000个实体区块的所有参数提取特征,对此些参数与实体区块的分组之间的规则进行机器学习,从而建立经过机器学习后可以对可复写式非易失性存储器模块406中的实体区块410(0)~410(N)进行分组的具有足够精确度的区块识别机器学习模型701。
图8是根据一范例实施例所示出的实体区块与区块映射表的映射示意图。
请参照图8,存储器管理电路502建立第一区块映射表TA以及第二区块映射表TB。第一区块映射表TA具有逻辑地址LBA(0)~LBA(M),第二区块映射表TB具有逻辑地址LBA(M+1)~LBA(N)。于本范例实施例中,第一区块映射表TA的逻辑地址LBA(0)~LBA(M)排列在第二区块映射表TB的逻辑地址LBA(M+1)~LBA(N)之前。可复写式非易失性存储器模块406中的实体区块410(0)~410(N)经区块识别机器学习模型701可以分为使用状态良好及使用状态一般(或者较差)的两组,即第一区块群420及第二区块群430。在一范例实施例中,区块识别机器学习模型701会将使用状态良好的实体区块分为第一区块群420,并且会将使用状态一般(或者较差)的实体区块分为第二区块群430。第一区块映射表TA的逻辑地址LBA(0)~LBA(M)映射至属于第一区块群420的实体区块,第二区块映射表TB的逻辑地址LBA(M+1)~LBA(N)映射至属于第二区块群430的实体区块。
例如,在一范例实施例中,存储器管理电路502将覆写频率高的数据存储在第一区块映射表TA的逻辑地址LBA(0)~LBA(M)中,并且将覆写频率较低的数据存储在第二区块映射表TB的逻辑地址LBA(M+1)~LBA(N)中。一般来说,存储器管理电路502会选择优先使用逻辑地址排列在前的实体区块,也就是说,存储器管理电路502会选择优先使用映射至属于第一区块群420的实体区块。
再请参照图8,存储器管理电路502从可复写式非易失性存储器模块406的实体区块410(0)~410(N)中搜索实体区块410(0),存储器管理电路502下达写入指令序列写入测试数据至实体区块410(0)并下达读取指令序列从实体区块410(0)中读出测试数据,以获得对应于实体区块410(0)的读取忙碌时间参数、错误比特位置参数以及存储保持力参数后,将上述参数输入至区块识别机器学习模型701,区块识别机器学习模型701依据上述参数学习将实体区块410(0)分组。举例来说,若区块识别机器学习模型701根据实体区块410(0)的参数与分组之间的规则将实体区块410(0)分至使用状态一般(或者较差)的第二区块群430,则实体区块410(0)会被映射至第二区块映射表TB中的逻辑地址LBA(M+1)。
同样地,存储器管理电路502继续从可复写式非易失性存储器模块406的实体区块410(0)~410(N)中搜索实体区块410(1),存储器管理电路502下达写入指令序列写入测试数据至实体区块410(1)并下达读取指令序列从实体区块410(1)中读出测试数据,获得对应于实体区块410(1)的参数后,将上述参数输入至区块识别机器学习模型701。若区块识别机器学习模型701依据上述参数与分组之间的规则学习将实体区块410(1)分至使用状态较好的第一区块群420,则实体区块410(1)会被映射至第一区块映射表TA中的逻辑地址LBA(0)。
存储器管理电路502继续从可复写式非易失性存储器模块406的实体区块410(0)~410(N)中搜索实体区块410(S),存储器管理电路502下达写入指令序列写入测试数据至实体区块410(S)并下达读取指令序列读出测试数据,获得对应于实体区块410(S)的参数后,将上述参数输入至区块识别机器学习模型701。若区块识别机器学习模型701依据上述参数与分组之间的规则学习将实体区块410(S)分至使用状态较好的第一区块群420时,则实体区块410(S)会被映射至第一区块映射表TA中的逻辑地址LBA(1)。
存储器管理电路502继续从可复写式非易失性存储器模块406的实体区块410(0)~410(N)中搜索实体区块410(M),存储器管理电路502下达写入指令序列写入测试数据至实体区块410(M)并下达读取指令序列读出测试数据,获得对应于实体区块410(M)的参数后,将上述参数输入至区块识别机器学习模型701。若区块识别机器学习模型701依据上述参数与分组之间的规则学习将实体区块410(M)分至使用状态较好的第一区块群420时,则实体区块410(M)会被映射至第一区块映射表TA中的逻辑地址LBA(2)。
进一步地说,在将第一区块映射表TA的逻辑地址LBA(2)映射至属于第一区块群420的实体区块之前,依据区块识别机器学习模型701的输出结果,排序属于第一区块群420的实体区块。也就是说,在将第一区块映射表TA的逻辑地址LBA(2)映射至410(M)之前,将属于第一区块群420的实体区块410(1)及410(S)进行排序。
同样地,在将第二区块映射表TB的逻辑地址LBA(M+1)~ LBA(N)映射至属于第二区块群430的实体区块之前,依据区块识别机器学习模型701的输出结果,排序属于第二区块群430的实体区块。
在一范例实施例中,若需要将可复写式非易失性存储器模块406的实体区块410(0)~410(N)中的实体区块410(S)重新分组,则从实体区块410(S)中读出使用者数据,以获得对应于实体区块410(S)的多个参数,将多个参数输入至区块识别机器学习模型701中,以依据区块识别机器学习模型701的另一输出结果将实体区块410(S)重新分组至第一区块群420或第二区块群430。
图9是根据一范例实施例所示出的区块管理方法的流程图。
请参照图9。在步骤S901中,存储器管理电路502写入测试数据至每一实体区块。
在步骤S903中,存储器管理电路502从每一实体区块中读出测试数据,以获得对应于每一实体区块的多个参数。
在步骤S905中,以每一实体区块为单位,存储器管理电路502将对应于每一实体区块的参数输入至区块识别机器学习模型中,以依据区块识别机器学习模型的输出结果将实体区块至少分组为第一区块群或第二区块群。
在步骤S907中,存储器管理电路502建立第一区块映射表与第二区块映射表。
在步骤S909中,存储器管理电路502将第一区块映射表的逻辑地址映射至属于第一区块群的实体区块,且将第二区块映射表的逻辑地址映射至属于第二区块群的实体区块。
图10是根据一范例实施例所示出的建立区块识别机器学习模型的方法流程图。
请参照图10,在存储器管理电路502写入测试数据至每一实体区块的步骤之前,还包括步骤S1001。在步骤S1001中,存储器管理电路502下达写入指令序列将测试数据写入至多个第一测试实体区块并且下达读取指令序列读出测试数据,以获取对应第一测试实体区块的参数。
在步骤S1003中,存储器管理电路502下达写入指令序列将测试数据写入至多个第二测试实体区块并且下达读取指令序列读出测试数据,以获取对应第二测试实体区块的参数。
在步骤S1005中,存储器管理电路502将第一测试实体区块、对应第一测试实体区块的参数、第二测试实体区块和对应第二测试实体区块的参数作为训练数据来进行机器学习操作以训练区块识别机器学习模型。
图11是根据一范例实施例所示出的实体区块重新分组的方法流程图。
请参照图11,在步骤S1101中,存储器管理电路502下达读取指令序列从多个实体区块中的第一实体区块中读出使用者数据,以获得对应于第一实体区块的多个参数。
在步骤S1103中,将对应于第一实体区块的参数输入至区块识别机器学习模型中,以依据区块识别机器学习模型的另一输出结果将第一实体区块重新分组至第一区块群或第二区块群。
综上所述,本发明的区块识别机器学习模型根据实体区块的多个参数来判断实体区块的使用状态并将实体区块进行分组,并且将区块映射表中排列在前的逻辑地址映射至使用状态良好的实体区块,以便于优先写入操作系统数据等覆写频率高的数据,将区块映射表中排列在后的逻辑地址映射至使用状态一般(或者较差)的实体区块,以便于写入覆写频率低的数据。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视权利要求所界定者为准。

Claims (18)

1.一种区块管理方法,用于管理可复写式非易失性存储器模块中的多个实体区块,其特征在于,所述区块管理方法包括:
写入测试数据至所述多个实体区块中的第一实体区块中;
从所述多个实体区块中的所述第一实体区块中读出所述测试数据,以获得对应于所述第一实体区块的多个参数;
依据对应于所述第一实体区块的所述多个参数和所述多个参数与所述多个实体区块的分组之间的规则将所述第一实体区块分组至第一区块群或第二区块群;
建立第一区块映射表与第二区块映射表;
对属于所述第一区块群的实体区块进行排序;
将所述第一区块映射表的逻辑地址映射至属于所述第一区块群的实体区块;
对属于所述第二区块群的实体区块进行排序;以及
将所述第二区块映射表的逻辑地址映射至属于所述第二区块群的实体区块,
其中所述多个参数包括错误比特位置参数,所述错误比特位置参数是根据从每一所述多个实体区块中读出所述测试数据中,在上实体程序化单元的多个错误比特的分布、在中实体程序化单元的多个错误比特的分布及在下实体程序化单元的多个错误比特的分布来获取,以及
所述多个参数与所述多个实体区块的分组之间的规则包括:
当从所述多个实体区块中的一实体区块读取的所述测试数据在错误检查与校正操作中被校正时,将所述实体区块分组为所述第一区块群;以及当从所述多个实体区块中的另一实体区块读取的另一测试数据在所述错误检查与校正操作中无法被校正并且在重读操作后被校正时,将所述另一实体区块分组为所述第二区块群。
2.根据权利要求1所述的区块管理方法,其中所述第一区块映射表的逻辑地址排列在所述第二区块映射表的逻辑地址之前。
3.根据权利要求2所述的区块管理方法,其中存储在所述第一区块映射表的逻辑地址的数据的覆写频率大于存储在所述第二区块映射表的逻辑地址的数据的覆写频率。
4.根据权利要求1所述的区块管理方法,其中所述多个参数还包括读取忙碌时间参数与存储保持力参数的至少其中之一。
5.根据权利要求1所述的区块管理方法,还包括:
当从所述第一实体区块读出的所述测试数据在错误检查与校正操作中无法被校正并且在重读操作后被校正时,将所述第一实体区块分组至所述第二区块群。
6.根据权利要求1所述的区块管理方法,其中对属于所述第一区块群的实体区块进行排序包括:
将所述第一区块映射表的逻辑地址映射至属于所述第一区块群的实体区块之前,排序属于所述第一区块群的实体区块。
7.一种存储器存储装置,其特征在于,包括:
连接器,用以电性连接至主机系统;
可复写式非易失性存储器模块,包括多个实体区块;以及
存储器控制电路单元,电性连接至所述连接器与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以下达写入指令序列写入测试数据至所述多个实体区块中的第一实体区块中;
其中所述存储器控制电路单元用以下达读取指令序列从所述多个实体区块中的所述第一实体区块中读出所述测试数据,以获得对应于所述第一实体区块的多个参数;
其中所述存储器控制电路单元用以依据对应于所述第一实体区块的所述多个参数和所述多个参数与所述多个实体区块的分组之间的规则将所述第一实体区块分组至第一区块群或第二区块群;
其中所述存储器控制电路单元用以建立第一区块映射表与第二区块映射表;
其中所述存储器控制电路单元用以对属于所述第一区块群的实体区块进行排序;
其中所述存储器控制电路单元用以将所述第一区块映射表的逻辑地址映射至属于所述第一区块群的实体区块,
其中所述存储器控制电路单元用以对属于所述第二区块群的实体区块进行排序;以及
其中所述存储器控制电路单元用以将所述第二区块映射表的逻辑地址映射至属于所述第二区块群的实体区块,
其中所述多个参数包括错误比特位置参数,所述错误比特位置参数是根据从每一所述多个实体区块中读出所述测试数据中,在上实体程序化单元的多个错误比特的分布、在中实体程序化单元的多个错误比特的分布及在下实体程序化单元的多个错误比特的分布来获取,以及
所述多个参数与所述多个实体区块的分组之间的规则包括:
当从所述多个实体区块中的一实体区块读取的所述测试数据在错误检查与校正操作中被校正时,将所述实体区块分组为所述第一区块群;以及当从所述多个实体区块中的另一实体区块读取的另一测试数据在所述错误检查与校正操作中无法被校正并且在重读操作后被校正时,将所述另一实体区块分组为所述第二区块群。
8.根据权利要求7所述的存储器存储装置,其中所述存储器控制电路单元用以将所述第一区块映射表的逻辑地址排列在所述第二区块映射表的逻辑地址之前。
9.根据权利要求8所述的存储器存储装置,其中所述存储器控制电路单元用以存储在所述第一区块映射表的逻辑地址的数据的覆写频率大于所述存储器控制电路单元用以存储在所述第二区块映射表的逻辑地址的数据的覆写频率。
10.根据权利要求7所述的存储器存储装置,其中,所述多个参数还包括读取忙碌时间参数与存储保持力参数的至少其中之一。
11.根据权利要求7所述的存储器存储装置,其中当从所述第一实体区块读出的所述测试数据在错误检查与校正操作中无法被校正并且在重读操作后被校正时,所述存储器控制电路单元用以将所述第一实体区块分组至所述第二区块群。
12.根据权利要求7所述的存储器存储装置,其中在将所述第一区块映射表的逻辑地址映射至属于所述第一区块群的实体区块的运作之前,所述存储器控制电路单元还用以排序属于所述第一区块群的实体区块。
13.一种存储器控制电路单元,其特征在于,所述存储器控制电路单元包括:
主机接口,用以电性连接至主机系统;
存储器接口,用以电性连接至可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体区块;以及
存储器管理电路,电性连接至所述主机接口与所述存储器接口,
其中所述存储器管理电路用以下达写入指令序列写入测试数据至所述多个实体区块中的第一实体区块中;
其中所述存储器管理电路用以下达读取指令序列从所述多个实体区块中的所述第一实体区块中读出所述测试数据,以获得对应于所述第一实体区块的多个参数;
其中所述存储器管理电路用以依据对应于所述第一实体区块的所述多个参数和所述多个参数与所述多个实体区块的分组之间的规则将所述第一实体区块分组至第一区块群或第二区块群;
其中所述存储器管理电路用以建立第一区块映射表与第二区块映射表;
其中所述存储器管理电路用以对属于所述第一区块群的实体区块进行排序;
其中所述存储器管理电路用以将所述第一区块映射表的逻辑地址映射至属于所述第一区块群的实体区块;
其中所述存储器管理电路用以对属于所述第二区块群的实体区块进行排序;以及
其中所述存储器管理电路用以将所述第二区块映射表的逻辑地址映射至属于所述第二区块群的实体区块,
其中所述多个参数包括错误比特位置参数,所述错误比特位置参数是根据从每一所述多个实体区块中读出所述测试数据中,在上实体程序化单元的多个错误比特的分布、在中实体程序化单元的多个错误比特的分布及在下实体程序化单元的多个错误比特的分布来获取,以及
所述多个参数与所述多个实体区块的分组之间的规则包括:
当从所述多个实体区块中的一实体区块读取的所述测试数据在错误检查与校正操作中被校正时,将所述实体区块分组为所述第一区块群;以及当从所述多个实体区块中的另一实体区块读取的另一测试数据在所述错误检查与校正操作中无法被校正并且在重读操作后被校正时,将所述另一实体区块分组为所述第二区块群。
14.根据权利要求13所述的存储器控制电路单元,其中所述存储器管理电路还用以将所述第一区块映射表的逻辑地址排列在所述第二区块映射表的逻辑地址之前。
15.根据权利要求14所述的存储器控制电路单元,其中所述存储器管理电路用以存储在所述第一区块映射表的逻辑地址的数据的覆写频率大于所述存储器管理电路用以存储在所述第二区块映射表的逻辑地址的数据的覆写频率。
16.根据权利要求13所述的存储器控制电路单元,其中所述多个参数还包括读取忙碌时间参数与存储保持力参数的至少其中之一。
17.根据权利要求13所述的存储器控制电路单元,其中当从所述第一实体区块读出的所述测试数据在错误检查与校正操作中无法被校正并且在重读操作后被校正时,所述存储器管理电路用以将所述第一实体区块分组至所述第二区块群。
18.根据权利要求13所述的存储器控制电路单元,其中,在将所述第一区块映射表的逻辑地址映射至属于所述第一区块群的实体区块的运作之前,所述存储器管理电路还用以排序属于所述第一区块群的实体区块。
CN201810207659.2A 2018-03-14 2018-03-14 区块管理方法、存储器控制电路单元与存储器存储装置 Active CN110275668B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810207659.2A CN110275668B (zh) 2018-03-14 2018-03-14 区块管理方法、存储器控制电路单元与存储器存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810207659.2A CN110275668B (zh) 2018-03-14 2018-03-14 区块管理方法、存储器控制电路单元与存储器存储装置

Publications (2)

Publication Number Publication Date
CN110275668A CN110275668A (zh) 2019-09-24
CN110275668B true CN110275668B (zh) 2022-09-13

Family

ID=67958353

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810207659.2A Active CN110275668B (zh) 2018-03-14 2018-03-14 区块管理方法、存储器控制电路单元与存储器存储装置

Country Status (1)

Country Link
CN (1) CN110275668B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111639041B (zh) * 2020-05-29 2022-04-08 深圳宏芯宇电子股份有限公司 存储器控制方法、存储器存储装置及存储器控制器
CN118506847B (zh) * 2024-07-15 2024-10-15 深圳宏芯宇电子股份有限公司 存储器存储装置的检测方法及非瞬时计算机可读取记录媒体

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882467A (zh) * 2010-07-02 2010-11-10 中颖电子有限公司 Ecc参数可配置的存储器控制装置
CN104866429A (zh) * 2014-02-26 2015-08-26 群联电子股份有限公司 存储器管理方法、存储器控制电路单元与存储器存储装置
CN107239224A (zh) * 2016-03-29 2017-10-10 群联电子股份有限公司 数据保护方法、存储器控制电路单元与存储器存储装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200947450A (en) * 2008-05-09 2009-11-16 A Data Technology Co Ltd Storage system capable of data recovery and method thereof
US8412880B2 (en) * 2009-01-08 2013-04-02 Micron Technology, Inc. Memory system controller to manage wear leveling across a plurality of storage nodes
TWI447735B (zh) * 2010-02-05 2014-08-01 Phison Electronics Corp 記憶體管理與寫入方法及其可複寫式非揮發性記憶體控制器與儲存系統
KR20120096212A (ko) * 2011-02-22 2012-08-30 삼성전자주식회사 비휘발성 메모리 장치, 메모리 컨트롤러, 및 이들의 동작 방법
TWI436211B (zh) * 2011-11-02 2014-05-01 Phison Electronics Corp 區塊管理方法、記憶體控制器與記憶體儲存裝置
KR101989850B1 (ko) * 2012-04-03 2019-06-18 삼성전자주식회사 불휘발성 메모리 장치, 메모리 시스템 및 그것의 프로그램 방법
US10073626B2 (en) * 2013-03-15 2018-09-11 Virident Systems, Llc Managing the write performance of an asymmetric memory system
CN104102585B (zh) * 2013-04-03 2017-09-12 群联电子股份有限公司 映射信息记录方法、存储器控制器与存储器储存装置
CN106557432B (zh) * 2015-09-29 2019-08-06 群联电子股份有限公司 缓冲存储器管理方法、存储器控制电路单元及存储装置
JP6930428B2 (ja) * 2016-01-21 2021-09-01 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
KR101876051B1 (ko) * 2016-08-31 2018-08-02 현대자동차주식회사 기계 학습 시스템 및 그의 사용자 제어 패턴 학습 방법
CN113822440A (zh) * 2017-06-15 2021-12-21 第四范式(北京)技术有限公司 用于确定机器学习样本的特征重要性的方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882467A (zh) * 2010-07-02 2010-11-10 中颖电子有限公司 Ecc参数可配置的存储器控制装置
CN104866429A (zh) * 2014-02-26 2015-08-26 群联电子股份有限公司 存储器管理方法、存储器控制电路单元与存储器存储装置
CN107239224A (zh) * 2016-03-29 2017-10-10 群联电子股份有限公司 数据保护方法、存储器控制电路单元与存储器存储装置

Also Published As

Publication number Publication date
CN110275668A (zh) 2019-09-24

Similar Documents

Publication Publication Date Title
US10713178B2 (en) Mapping table updating method, memory controlling circuit unit and memory storage device
CN109491588B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
TWI731338B (zh) 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
TWI615711B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
CN113885808B (zh) 映射信息记录方法以及存储器控制电路单元与存储装置
CN107346211B (zh) 映射表加载方法、存储器控制电路单元与存储器储存装置
CN111078146B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN113140253A (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
TWI689816B (zh) 區塊管理方法、記憶體控制電路單元與記憶體儲存裝置
CN110275668B (zh) 区块管理方法、存储器控制电路单元与存储器存储装置
CN109273033B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
TWI571881B (zh) 有效資料合併方法、記憶體控制器與記憶體儲存裝置
CN110442299B (zh) 数据写入方法、存储器控制电路单元以及存储器储存装置
CN109032957B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
CN107132989B (zh) 数据程序化方法、存储器控制电路单元及存储器存储装置
CN111831210B (zh) 存储器管理方法、存储器控制电路单元及存储器存储装置
CN110008146B (zh) 数据写入方法、有效数据识别方法及存储器存储装置
CN109308930B (zh) 数据写入方法、存储器控制电路单元及存储器存储装置
CN111610937A (zh) 数据写入方法、存储器存储装置及存储器控制电路单元
CN106920572B (zh) 存储器管理方法、存储器控制电路单元及存储器储存装置
CN107102814B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
CN106991055B (zh) 数据搜索方法、存储器存储装置及存储器控制电路单元
CN110609795B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
US9268554B2 (en) Controlling method, memory controller, and data transmission system
CN112445416B (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