CN116107491A - 存储器控制器、存储装置和存储装置的操作方法 - Google Patents

存储器控制器、存储装置和存储装置的操作方法 Download PDF

Info

Publication number
CN116107491A
CN116107491A CN202211286222.5A CN202211286222A CN116107491A CN 116107491 A CN116107491 A CN 116107491A CN 202211286222 A CN202211286222 A CN 202211286222A CN 116107491 A CN116107491 A CN 116107491A
Authority
CN
China
Prior art keywords
memory
count
data
range
memory block
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
CN202211286222.5A
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020220059723A external-priority patent/KR102557992B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN116107491A publication Critical patent/CN116107491A/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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check

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

Abstract

提供一种存储器控制器、存储装置和存储装置的操作方法。所述存储装置包括非易失性存储器和存储器控制器。存储器控制器响应于对应于与写入请求相关联的逻辑地址的模式数据选择选择存储器块以存储数据,并且将选择存储器块的物理地址以及数据和与写入请求相关联的写入命令提供给非易失性存储器。

Description

存储器控制器、存储装置和存储装置的操作方法
本申请要求于2021年11月10日提交的第10-2021-0154272号韩国专利申请和2022年5月16日提交的第10-2022-0059723号韩国专利申请的优先权,所述韩国专利申请的全部主题通过引用全部包含于此。
技术领域
发明构思总体上涉及电子装置,并且更具体地,涉及存储器控制器、存储装置和存储装置的操作方法。
背景技术
近来,对大容量、高性能的存储设备和存储器装置的需求已增加。例如,数字内容(诸如,高清晰度视频文件)的生成和消费对企业和普通用户的现有存储装置提出了高性能需求。此外,与存储装置性能相关联的访问时间已逐渐变成瓶颈。
近来开发的非易失性存储装置具有显著改善的访问时间。这样的非易失性存储装置包括例如闪存装置、相变随机存取存储器(PRAM)、自旋转移力矩随机存取存储器(STT-RAM)和电阻式随机存取存储器(ReRAM)。
然而,特定固态存储装置表现出相对有限的写入耐久性。因此,随着存储装置的利用因大型数字文件(诸如,高清晰度视频)的激增而提高,预计这样的近来开发的存储装置迅速地达到写入耐久性极限的可能性会越来越大。
为了延长非易失性存储器存储装置的使用寿命,损耗均衡通常被用来将写入/编程操作均匀地分布在基本上所有可用的存储器块上。
发明内容
发明构思的实施例提供使得能够根据模式数据选择存储器块以存储数据的存储器控制器、存储装置和存储装置的操作方法。
根据发明构思的一个方面,提供一种存储装置,所述存储装置包括:非易失性存储器,包括多个存储器块;以及存储器控制器。存储器控制器被配置为:从主机接收包括逻辑地址的写入请求,接收与写入请求相关联的数据,基于与逻辑地址对应的模式数据,从所述多个存储器块之中选择选择存储器块,并且将所述数据、与写入请求相关联的写入命令和与选择存储器块对应的物理地址提供给非易失性存储器,其中,模式数据包括第一计数信息和第二计数信息,第一计数信息表征关于特征参数值落入第一范围内的第一计数,特征参数值与逻辑地址相关联,第二计数信息表征关于特征参数值落入与第一范围不同的第二范围内的第二计数。
根据发明构思的一个方面,提供一种存储装置的操作方法。所述操作方法包括:从主机接收逻辑地址和数据,确定与逻辑地址对应的模式数据,基于模式数据从多个存储块之中选择选择存储器块,以及将所述数据存储在选择存储器块中,其中,模式数据包括第一计数信息和第二计数信息,第一计数信息表征关于特征参数值落入第一范围内的第一计数,特征参数值与逻辑地址相关联,第二计数信息表征关于特征参数值落入与第一范围不同的第二范围内的第二计数。
根据发明构思的一个方面,提供一种存储器控制器,所述存储器控制器包括:缓冲存储器,被配置为存储与逻辑地址对应的模式数据;至少一个计数器,被配置为从初始时间开始对时间进行计数;以及闪存转换层,被配置为:通过控制所述至少一个计数器对从初始时间到逻辑地址被访问的时间的时间进行计数来获得访问时间,响应于访问时间,更新模式数据,以及将所述至少一个计数器重新初始化为初始时间,其中,模式数据包括第一计数信息和第二计数信息,第一计数信息表征关于特征参数值落入第一范围内的第一计数,特征参数值与逻辑地址相关联,第二计数信息表征关于特征参数值落入与第一范围不同的第二范围内的第二计数。
根据发明构思的一个方面,提供一种存储装置,所述存储装置包括:非易失性存储器,包括多个存储器块;以及存储器控制器,被配置为当逻辑数据响应于读取请求而被访问时,响应于访问时间而更新存储在缓冲存储器中的模式数据,并且将读取命令和与逻辑地址对应的物理地址提供给非易失性存储器,其中,模式数据包括第一计数信息和第二计数信息,第一计数信息表征关于特征参数值落入第一范围内的第一计数,特征参数值与逻辑地址相关联,第二计数信息表征关于特征参数值落入与第一范围不同的第二范围内的第二计数。
附图说明
当结合附图考虑下面的具体实施方式时,可更清楚地理解发明构思的优点、益处和特征以及形成和使用,其中:
图1是在一个示例中示出根据发明构思的实施例的存储***的框图;
图2是示出根据发明构思的实施例的包括示例性映射数据和模式数据的映射表的示意图;
图3是在一个示例中示出根据发明构思的实施例的存储器***的操作方法的流程图;
图4是在一个示例中示出根据发明构思的实施例的确定模式数据的方法的流程图;
图5是进一步在一个示例中示出在图4的方法中的更新模式数据的步骤(S220)的流程图;
图6是在另一示例中示出在图4的方法中的更新模式数据的步骤(S220)的流程图;
图7是进一步示出根据发明构思的实施例的与逻辑地址相关联的访问时间的计数的示意图;
图8是在一个示例中示出根据发明构思的实施例的将数据存储在存储器块中的方法的流程图;
图9是在一个示例中示出根据发明构思的实施例的执行垃圾收集的方法的流程图;
图10是进一步示出根据发明构思的实施例的与源存储器块和目标存储器块相关的垃圾收集的示意图;
图11是示出根据发明构思的实施例的存储器***读取数据的操作方法的流程图;
图12是示出根据发明构思的实施例的包括存储装置的电子***的框图;
图13是在另一示例中示出根据发明构思的实施例的存储***的框图;
图14是在又一示例中示出根据发明构思的实施例的存储***的框图;以及
图15是部分示出根据发明构思的实施例的可包括在3D VNAND结构内的存储器块BLKi的透视图。
具体实施方式
贯穿书面描述和附图,相同的参考标号和标签用于表示相同或相似的元件、组件、特征和/或方法步骤。
图1是示出根据发明构思的实施例的存储***1的框图,其中,存储***1通常包括主机10和存储装置100。
这里,主机10可通过接口(诸如,根据与例如非易失性存储器快速(NVMe)、NVMe管理接口(NVMe MI)和通过网络的NVMe(NVMe-oF)相关联的常规理解的技术标准或规范实现的接口)与存储装置100通信(例如,发送和/或接收各种信号)。
在一些实施例中,主机10可将关于(或定义)将数据存储(例如,写入或编程)在存储装置100中的操作的写入请求提供给存储装置100。此外,主机10可将待存储在存储装置100中的数据和与该数据相关联的逻辑地址提供给存储装置100。在一些实施例中,逻辑地址可包括在写入请求中。
存储装置100可包括被配置为响应于从主机10接收的写入请求而存储数据的各种存储介质。存储装置100可包括例如固态驱动器(SSD)、嵌入式存储器和可移除外部存储器中的至少一个。在存储装置100是SSD的一些实施例中,存储装置100可被配置为根据NVMe技术标准和规范进行操作。在存储装置100是嵌入式存储器或外部存储器的其他实施例中,存储装置100可根据通用闪存(UFS)或嵌入式多媒体卡(eMMC)技术标准和规范被配置。在这方面,主机10和存储装置100中的每个可被配置为根据一个或多个常规理解的数据通信协议来生成和传递包。
在图1的示出的示例中,存储装置100通常可包括存储器控制器110和非易失性存储器120,其中,存储器控制器110可控制存储装置100的整体操作。存储器控制器110可替代地被称为控制器、装置控制器或存储控制器。
在从外部电源向存储装置100施加电力时,存储器控制器110可执行固件。在非易失性存储器120是闪存装置的一些实施例中,固件可包括主机接口层(HIL)、闪存转换层(FTL)和闪存接口层(FIL)。
存储器控制器110可响应于从主机10接收的写入请求,在写入(或编程)操作的执行(或运行)期间控制非易失性存储器120。关于写入或编程操作,存储器控制器110可提供写入或编程命令和物理地址、以及待写入非易失性存储器120中的数据。存储器控制器110还可响应于从主机10接收的读取请求,在读取操作的执行期间控制非易失性存储器120。关于读取操作,存储器控制器110可将读取命令和物理地址提供给非易失性存储器120。存储器控制器110还可响应于从主机10接收的擦除请求,在擦除操作的执行期间控制非易失性存储器120。关于擦除操作,存储器控制器110可将擦除命令和物理地址提供给非易失性存储器120。
因此,存储器控制器110可响应于从主机10接收的请求,将内部生成的命令、地址和/或数据传递到非易失性存储器120。此外,存储器控制器110可生成并传递定义由非易失性存储器120执行的后台操作的命令、地址和数据。在这方面,示例性后台操作包括例如损耗均衡、读取回收和垃圾收集。
在一些实施例中,存储器控制器110可响应于(或基于)对应于与写入请求相关联的逻辑地址的模式数据(pattern data),从包括在非易失性存储器120中的多个存储器块121之中选择“选择存储器块”(例如,被指定为存储从主机10提供的数据的存储器块)。此后,存储器控制器110可将选择存储器块的物理地址、数据和写入命令提供给非易失性存储器120。选择存储器块的物理地址、数据和写入命令可通过设置在存储器控制器110与非易失性存储器120之间的接口而被传递。
这里,术语“模式数据”用于表示与逻辑地址一起提供的特定的数据的模式。以下将参照图2描述模式数据的示例。
当与读取请求相关联的逻辑地址被访问时,存储器控制器110可根据访问时间来更新先前存储的模式数据。此外,存储器控制器110可将读取命令和与逻辑地址对应的物理地址提供给非易失性存储器120。
图1的存储器控制器110包括缓冲存储器111、计数器112、模式生成器113和调度器114。
缓冲存储器111可被用于存储模式数据PD,其中,缓冲存储器111可被实现为易失性存储器(诸如,动态随机存取存储器(RAM)(DRAM)、静态随机存取存储器(SRAM)等)。在类似于在图1中示出的实施例的一些实施例中,缓冲存储器111可包括在存储器控制器110内,然而,在其他实施例中,缓冲存储器111可在存储器控制器110的外部。
缓冲存储器111还可被用于存储映射数据。这里,映射数据可被理解为提供指示逻辑地址与物理地址之间的各种映射关系的信息的数据。指示逻辑地址与物理地址之间的映射关系的这样的信息可被称为“映射信息”
计数器112可被用于从初始时间(例如,初始时间点)开始对时间进行计数(例如,执行生成时间段或时间值的计数操作)。在一些实施例中,初始时间可以是0,并且计数时间可以以秒和/或秒的部分来测量。例如,计数器112可对与具有定义的且恒定的周期、频率和占空比的切换(toggling)时钟信号相关的时间进行计数。在一些实施例中,计数器112可包括多个计数器,其中,计数器的数量与逻辑地址的数量对应。因此,多个计数器中的每个可对特定逻辑地址被访问时的时间(例如,访问时间点)进行计数。例如,第N计数器可对第M逻辑地址被访问时的第N时间进行计数。这里,假设“N”和“M”是正整数。
模式生成器113可被用于根据与逻辑地址相关联的特征参数值来生成模式数据。这里,逻辑地址的特征参数值可包括例如逻辑地址被访问时的时间、逻辑地址被访问的计数和/或与逻辑地址对应的数据的大小(例如,组块(chunk)大小)。更具体地,例如,假设逻辑地址的特征参数值是逻辑地址被访问时的时间,则模式生成器113可生成与逻辑地址被访问的时间相关的模式数据。这里,逻辑地址被访问的时间可替代地被称为“访问时间”。例如,从初始时间到逻辑地址被访问的时间所测量的时间可被称为访问时间。
模式生成器113可被用于更新模式数据。例如,模式生成器113可获得访问时间(例如,由计数器112从初始时间到逻辑地址被访问的时间所计数的时间),并且根据访问时间更新模式数据。
模式生成器113还可被用于将计数器112初始化为初始时间。并且在一些实施例中,初始化的计数器112可从初始时间开始进行一个或多个计数。
在写入操作期间,调度器114可提供物理地址、数据和写入命令。可选地,在读取操作期间,调度器114可提供物理地址和读取命令。
在一些实施例中,模式生成器113和调度器114可被实现为FTL的部分。
非易失性存储器120可在存储器控制器110的控制下进行操作。更具体地,非易失性存储器120可从存储器控制器110接收命令和地址,并且访问通过地址从由非易失性存储器120提供的多个存储器单元之中选择的存储器单元。即,指示的数据访问操作可根据与通过地址选择的一或多个存储器单元相关的命令而被执行。
在一些实施例中,非易失性存储器120可以是闪存(例如,NAND型闪存或NOR型闪存)。在这方面,非易失性存储器120可包括二维(2D)NAND闪存阵列或3D(或垂直)NAND(VNAND)存储器阵列。可选地或此外,非易失性存储器120可包括其他类型的非易失性存储器(诸如,磁性RAM(MRAM)、自旋转移力矩MRAM、导电桥接RAM(CBRAM)、铁电RAM(FeRAM)、相变RAM(PRAM)等)。
虽然使用一种或多种类型的非易失性存储器装置构成,但是非易失性存储器120提供多个存储器块121。多个存储器块121可包括至少一个“用户存储器块”UMB(UBLK)和至少一个“元存储器块”MMB(MBLK)。这里,用户存储器块UMB是被指定为存储从主机10接收的用户数据的存储器块,并且元存储器块MMB是被指定为存储与用户数据相关联的元数据的存储器块。
在写入操作期间,用户存储器块UMB可被用作选择存储器块。
在一些实施例中,元数据可包括映射信息、无效数据信息和/或擦除计数信息等。然而,发明构思不限于此。如上所提及的,映射信息是指示逻辑地址与物理地址之间的映射关系的信息。此外,无效数据信息是指示存储在存储块中的特定数据是有效还是无效的信息,并且擦除计数信息是指示存储块的擦除计数的数量的信息。
图2是示出根据发明构思的实施例的包括示例性映射数据和模式数据的映射表200的示意图。
参照图1和图2,缓冲存储器111可被用于存储映射表200,其中,映射表200可以以各种方式包括映射数据、模式数据、有效性确定数据等。
在这方面,映射数据可包括映射信息。例如,逻辑地址0(LBA 0)可被映射到物理地址0(PBA 0),逻辑地址1(LBA 1)可被映射到物理地址1(PBA 1),逻辑地址2(LBA 2)可被映射到物理地址2(PBA 2),并且逻辑地址4(LBA 4)可被映射到物理地址4(PBA 4),其中,逻辑地址3(LBA 3)不被映射到物理地址。
有效性确定数据可包括有效性确定数据信息。在一些实施例中,有效性确定数据信息可使用单个位值(或多个位值)来指示。因此,例如,位值1可指示数据是有效的,并且位值0可指示数据是无效的。
模式数据可包括第一计数信息至第K计数信息,其中,‘K’是大于1的整数。参照作为一个简单和说明性的示例的图2,模式数据可包括第一计数信息和第二计数信息(即,K=2)。然而,本领域技术人员将理解,随着计数信息的数量增加,模式数据类型也将增加。
计数信息可以是指示与逻辑地址相关联的特征参数值被认为落入特定范围内的计数的信息。参照图2,例如,第一计数信息可以是关于(或表征)第一计数的信息,并且第二计数信息可以是关于(或表征)第二计数的信息。在这种情况下,第一计数可以是特征参数值落入第一范围内的计数、或关于特征参数值落入第一范围内的计数,并且第二计数可以是特征参数值落入与第一范围不同的第二范围内的另外的计数、或关于特征参数值落入与第一范围不同的第二范围内的另外的计数。
在一些实施例中,当特征参数被表示为访问时间时,第一计数信息的第一计数可以是访问时间被认为落入第一范围内的计数,并且第二计数信息的第二计数可以是访问时间被认为落入第二范围内的计数。这里,访问时间可与从初始时间点(例如,初始时间)延续到逻辑地址被访问的时间点(例如,访问时间点)的时间段对应。
在一些实施例中,第一范围的最大值可小于或等于第二范围的最小值。例如,第一范围的最大值可等于第二范围的最小值。
在一些实施例中,每当逻辑地址被访问时,模式生成器113可通过确定(或识别)特征参数值是否落入第一范围和第二范围之一内来更新模式数据。因此,第一计数可作为位值存储在映射表200中。例如,假设第一计数是10,则它可作为1010b存储在映射表200中。第二计数也可作为位值存储在映射表200中。这里,确保用于将第一计数和第二计数本身存储为位值的位的位置可以是必须的。即,用于将第一计数和第二计数本身存储为位值的位的位置可以是有限的。因此,减小存储空间可以是可能的。
在一些实施例中,第一计数信息可包括与第一计数范围对应的第一位值或与第二计数范围对应的第二位值。此外,第一计数范围的最大值可小于第二计数范围的最小值。例如,第一计数范围可以是0至1000,并且第二计数可大于或等于1001。例如,第一位值可以是0b,并且第二位值可以是1b。因此,当当前逻辑地址0(LBA 0)被访问并且逻辑地址0(LBA 0)的访问时间落入第一范围内时,第一计数可被增加。在这种情况下,当增加的第一计数落入第一计数范围内时,模式生成器113可更新模式数据,使得第一计数信息包括第一位值。可选地,当增加的第一计数落入第二计数范围内时,模式生成器113可更新模式数据,使得第一计数信息包括第二位值。因此,假设逻辑地址0(LBA 0)的第一计数是500,并且给定第一计数范围是0至1000,并且第一位值是0b,则与逻辑地址0(LBA 0)对应的第一计数信息可包括0b。可选地,假设逻辑地址1(LBA 1)的第一计数是1002,并且给定第二计数范围大于或等于1001,并且第二位值是1b,则与逻辑地址1(LBA 1)对应的第一计数信息可包括1b。关于前述说明性示例,当第一计数信息中的位值从0b被改变为1b时,则可确定在相对短的时间段内发生或者以相对高的频率发生对逻辑地址的访问。结果,与逻辑地址相关联的数据可被认为是“热数据”。
此外,类似于第一计数信息,第二计数信息可包括与第一计数范围对应的第一位值或与第二计数范围对应的第二位值。第一计数范围的最大值可小于第二计数范围的最小值。当增加的第二计数落入第一计数范围内时,模式生成器113可更新模式数据,使得第二计数信息可包括第一位值。可选地,当增加的第二计数落入第二计数范围内时,模式生成器113可更新模式数据,使得第二计数信息可包括第二位值。这里,例如,假设逻辑地址0(LBA0)的访问时间落入第二范围内。在这种情况下,当逻辑地址0(LBA 0)的第二计数是1500,并且给定第二计数范围大于或等于1001,并且第二位值是1b时,则与逻辑地址0(LBA 0)对应的第二计数信息可包括1b。与前述示例一致,当第二计数信息中的位值从0b被改变为1b时,则在相对长的时间段内或以相对低的频率发生对逻辑地址的访问。并且结果,与逻辑地址相关联的数据可被认为是“冷数据”。
存储在具有物理地址0(PBA 0)的用户存储器块(例如,第一用户存储器块)中的数据的模式可以是{0b,1b},存储在具有物理地址1(PBA 1)的用户存储器块(例如,第二用户存储器块)中的数据的模式可以是{1b,1b},存储在具有物理地址2(PBA 2)的用户存储器块(例如,第三用户存储器块)中的数据的模式可以是{0b,0b},并且存储在具有物理地址4(PBA 4)的用户存储器块(例如,第四用户存储器块)中的数据的模式可以是{1b,0b}。这里,在模式{0b,0b}、{0b,1b}、{1b,0b}和{1b,1b}之中,模式{1b,1b}的数据可以是被认为最频繁地被擦除或被编程的数据,并且模式{0b,0b}的数据可以是被认为最不频繁地被擦除或被编程的数据。即,第二用户存储器块的擦除计数可以是最小的,并且第三用户存储器块的擦除计数可以是最大的。并且如上所述,被认为更可能被擦除或被编程的热数据可被存储在具有较低擦除计数的存储器块中。以这种方式,不同的存储器块之间的损耗程度可更均匀地分布,从而延长作为组的存储器块和包括存储器块的存储装置的使用寿命。
由此可见,例如,当计数信息的类型的数量是“K”并且每个计数信息包括“i”个位时,模式数据的情况的数量可被计算为2K*i。例如,当第一计数信息和第二计数信息各自包括1位时,模式数据可以是{0b,0b}、{0b,1b}、{1b,0b}或{1b,1b},并且模式数据的情况的数量可以是22*1或4。
此外,针对图2的示出的示例,第一计数信息和第二计数信息中的每个可表示为单个位,然而,发明构思不限于此。因此,假设第一计数信息和第二计数信息各自由两个或更多个位来表示,则计数范围的数量可以增加,并且模式数据的类型的数量也可增加。尽管如此,通过使用较少数量的位值来存储模式数据,模式数据所需的存储容量可被减少。
图3是在一个示例中示出根据发明构思的实施例的用于存储数据的操作方法的流程图。
参照图1和图3,主机10可将写入请求传递到存储装置100(S100)。这里,写入请求可包括逻辑地址,并且主机10还可将与写入请求对应的数据传递到存储装置100。
因此,存储装置100可接收逻辑地址和数据(S110),并且识别与逻辑地址对应的模式数据(S120)。此后,存储装置100可根据模式数据从多个存储器块之中选择选择存储器块(例如,用户存储器块UMB)(S130),并且将数据存储在选择存储器块中(S140)。
在完成写入操作时,存储装置100可将完成响应传递到主机10(S150),并且根据需要执行垃圾收集(S160)。本领域技术人员将理解,术语“垃圾收集”被用于表示从多个存储器块之中创建附加的空闲存储器块的存储装置100执行的多个可能的后台操作中的一个。
图4是进一步在一个示例中示出在图3的方法中的确定模式数据的步骤(S120)的流程图。
参照图1、图3和图4,存储器控制器110可根据接收的逻辑地址获得(例如,生成)特征参数值(S210)。例如,模式生成器113可被用于获得与逻辑地址被访问的时间对应的访问时间。此后,存储器控制器110可更新与特征参数值相关的模式数据(S220)。在一些实施例中,每当逻辑地址被访问时,模式生成器113可被用于根据特征参数值更新模式数据。然后,存储器控制器110可存储更新的模式数据(S230)。例如,模式生成器113可将更新的模式数据存储在缓冲存储器111中。
图5是进一步在一个示例中示出在图4的方法中的更新模式数据的步骤(S220)的流程图。
参照图1、图3、图4和图5,存储器控制器110可确定特征参数值是否落入第一范围内(S221)。可选地或此外,存储器控制器110可确定特征参数值是否落入第二范围和/或另外的定义的范围内。在一些实施例中,特征参数值可指示从主机10接收的数据的大小(例如,组块大小)。
如果特征参数值落入第一范围内(S221=是),则存储器控制器110可增加与特征参数值落入第一范围内相关联的计数(例如,第一计数)(S222),否则如果特征参数值未落入第一范围内(S221=否),则存储器控制器110可增加与特征参数值落入第二范围(或另外的定义的范围)内相关联的计数(例如,第二计数)。
因此,与图2的工作示例一致,图5的方法假设模式数据包括第一计数信息和第二计数信息。然而,如上所提及的,模式数据可包括第一计数信息至第K计数信息,并且因此,存储器控制器110可增加与特征参数值落入第一计数信息范围至第K计数信息范围之一内相关联的适当的计数。
图6是在另一示例中进一步示出在图4的方法中的更新模式数据的步骤(S220)的流程图。这里,假设特征参数值与访问时间对应,其中,访问时间是从初始时间到逻辑地址被访问的访问时间点所测量(或所计数)的时间段。
参照图1、图2、图3、图4和图6,计数器112可从初始时间开始进行计数(S310)。在一些实施例中,存储器控制器110可包括多个计数器,其中,多个计数器中的每个从初始时间开始对时间进行计数。
以这种方式,模式生成器113可获得从初始时间到访问时间所计数的时间作为访问时间(S320)。例如,当逻辑地址0(LBA 0)和逻辑地址1(LBA 1)中的每个被访问时,模式生成器113可从对逻辑地址0(LBA 0)被访问时的时间进行计数的第一计数器和对逻辑地址1(LBA 1)被访问时的时间进行计数的第二计数器获得访问时间。
模式生成器113可确定访问时间是否落入第一范围内(S330)。可选地或此外,存储器控制器110可确定访问时间是否落入第二范围和/或另外的定义的范围内。
在确定访问时间落入第一范围内时(S330=是),模式生成器113可增加与访问时间落入第一范围内相关联的计数(例如,第一计数)(S340),并且将第一计数器(或第二计数器等)初始化为初始时间(S350)。否则,在确定访问时间未落入第一范围内(S330=否,并且因此特征参数值落入第二范围内)时,存储器控制器110可增加与特征参数值落入第二范围内相关联的计数(例如,第二计数)(S360)。
图7是进一步示出根据发明构思的实施例的对与逻辑地址的访问相关的访问时间进行计数的步骤的示意图。
参照图1、图2和图7,假设存储器控制器110包括多个计数器(例如,第一计数器710和第二计数器720),其中,第一计数器710对第一逻辑地址被访问时的时间进行计数,并且第二计数器720对与第一逻辑地址不同的第二逻辑地址被访问时的时间进行计数。此外,假设第一逻辑地址是逻辑地址1(LBA 1),并且第二逻辑地址是逻辑地址2(LBA 2)。
因此,第一计数器710和第二计数器720二者在时间t0开始进行计数。这里,时间t0可以是初始时间(例如,0)。
此外,假设逻辑地址1(LBA 1)在时间ta11被访问。因此,时间ta11是与逻辑地址1(LBA 1)相关联的第一访问时间AP11。即,在时间t0与时间ta11之间所计数的时间段是与逻辑地址1(LBA 1)相关联的第一访问时间AP11。以这种方式,模式生成器113可获得第一访问时间AP11。
因此,与图6的方法一致,模式生成器113可更新对应于与第一访问时间AP11相关的逻辑地址1(LBA 1)的模式数据。此后,模式生成器113可将第一计数器710重新初始化为t0。
此后,逻辑地址1(LBA 1)可在时间ta12再次被访问。因此,时间t0与时间ta11之后的时间ta12之间的时间段可以是与逻辑地址1(LBA 1)相关联的第二访问时间AP12。因此,再次以这种方式,模式生成器113可使用第一计数器710获得第二访问时间AP12。并且与图6的方法一致,模式生成器113可更新对应于与第二访问时间AP12相关的逻辑地址1(LBA 1)的模式数据,并且将第一计数器710重新初始化为初始时间t0。
此外,假设逻辑地址2(LBA 2)在时间ta21被访问,因此,模式生成器113从与逻辑地址2(LBA 2)相关联的第二计数器720获得第一访问时间AP21。与图6的方法一致,然后,模式生成器113可更新对应于与第一访问时间AP21相关的逻辑地址2(LBA 2)的模式数据,并且将第二计数器720重新初始化为初始时间t0。此后,逻辑地址2(LBA 2)在时间ta22再次被访问,并且模式生成器113从与逻辑地址2(LBA 2)相关联的第二计数器720获得第二访问时间AP22。此后,模式生成器113可更新对应于与第二访问时间AP22相关的逻辑地址2(LBA 2)的模式数据,并且重新初始化第二计数器720。
图8是在一个示例中示出根据发明构思的实施例的将数据存储在存储器块中的方法的流程图。
参照图8,非易失性存储器120可包括用户存储器块和元存储器块,其中,元数据包括与一个或多个存储器块相关地存储的擦除计数信息。
最初,存储器控制器110可确定被选择为选择存储器块的用户存储器块(例如,第一用户块)是否开启(或启用)(S410)。如果用户存储器块未开启(S410=否),则存储器控制器110可根据模式数据和擦除计数信息开启用户存储器块中的任何一个(S420)。例如,参照图2,假设逻辑地址3(LBA 3)被访问,则第一计数范围的最大值小于第二计数范围的最小值,第一位值是0b,并且第二位值是1b。
在这些说明性假设下,因为与逻辑地址3(LBA 3)对应的物理地址当前未被映射,所以具有与逻辑地址3(LBA 3)对应的物理地址的用户存储器块被关闭(或停用)。此外,因为与逻辑地址3(LBA 3)对应的模式数据的模式是{1b,1b},所以存储器控制器110可开启与第二用户存储器块具有相同的擦除计数的用户存储器块。当与逻辑地址3(LBA 3)对应的模式数据的模式是{1b,0b}时,存储器控制器110可开启与第四用户存储器块具有相同的擦除计数的用户存储器块。即,存储器控制器110可开启具有针对第一模式数据的第一擦除计数的用户存储器块,或者开启具有针对第二模式数据的第二擦除计数的用户存储器块。
此后,存储器控制器110可将新开启的用户存储器块的物理地址映射到逻辑地址(S430)。参照图2,例如,存储器控制器110可将开启的用户存储器块的物理地址映射到逻辑地址3(LBA 3)。这样,存储器控制器110可通过将开启的用户存储器块的物理地址映射到逻辑地址来选择开启的用户存储器块作为选择存储器块。
此后,存储器控制器110可存储数据(S440)。即,存储器控制器110可将在方法步骤S430中映射的物理地址、写入命令和数据提供给非易失性存储器120。
图9是在一个示例中示出根据发明构思的实施例的执行垃圾收集的方法的流程图。
参照图9,假设多个存储器块之中的空闲存储器块的数量小于参考数量,则垃圾收集操作可被初始化。例如,在执行开始垃圾收集操作时,存储器控制器110可选择具有存储有最少的数量的有效数据的一个或多个存储器块,作为一个或多个源存储器块(S161)。
此后,存储器控制器110可根据与存储在源存储器块中的有效数据相关联的模式数据来选择一个或多个目标存储器块(S162)。尽可能多的目标存储器块可被选择作为源存储器块。例如,当一个源存储器块被选择时,一个目标存储器块可被选择。这里,与存储在源存储器块中的有效数据相关联的模式数据可以是相同的,并且与存储在目标存储器块中的有效数据相关联的模式数据也可以是相同的。
存储在选择存储器块中的有效数据可被复制(或传送)到目标存储器块(S163)。即,存储器控制器110可控制非易失性存储器120将存储在选择存储器块中的有效数据复制到至少一个目标存储器块。然后,存储器控制器110可无效存储在选择存储器块中的数据(S164)。
图10是进一步示出将存储的有效数据从源存储器块复制到目标存储器块的示意图。
参照图10,多个有效数据(例如,DATA 1、DATA 2、DATA 3、DATA 4、DATA 5、DATA 6和DATA 7)和多个无效数据(无效)可被存储在源存储器块SMB中。与多个有效数据相关联的模式数据可彼此相同。因此,多个有效数据可从源存储器块SMB被复制到目标存储器块TMB,并且此后,为了从源存储器块SMB生成新的空闲存储器块,源存储器块SMB可(例如,以存储器块为单位)被擦除。
图11是在一个示例中示出根据发明构思的实施例的存储***读取数据的操作方法的流程图。特别注意,关于图11的实施例,模式数据可通过更新与读取操作相关的模式数据而被更准确地识别。
参照图1和图11,存储器***1的主机10可将读取请求提供给存储装置100(S500)。
响应于读取请求,存储装置100可接收逻辑地址(S510)并识别与逻辑地址对应的模式数据(S520)。在一些实施例中,包括在存储装置100中的存储器控制器110可根据读取请求的逻辑地址被访问时的访问时间来更新先前存储的模式数据。例如,在这方面,模式数据的更新可根据以上关于图4、图5和图6描述的实施例中的一个来执行。
在接收到逻辑地址并确定模式数据时,存储装置100可读取存储在选择存储器块中的数据(S530)。这里,选择存储器块可以是具有对应于(或被映射到)逻辑地址的物理地址的存储器块。例如,响应于逻辑地址,存储器控制器110可将读取命令以及与逻辑地址对应的物理地址提供给非易失性存储器120。
然后,存储装置100可将读取的数据传递到主机10(S540)。
图12是示出根据发明构思的实施例的包括存储装置的电子***1000的框图。
参照图12,电子***1000可被不同地实现为移动***(诸如,便携式通信终端(移动电话)、智能电话、平板个人计算机(PC)、可穿戴装置、医疗保健装置或物联网(IoT)装置)。然而,电子***1000不必限于移动***,并且可以可选地实现为台式PC、膝上型PC、服务器、媒体播放器或汽车装置(诸如,导航***)。
图11的电子***1000可包括主处理器1100、存储器1200a和1200b、以及存储装置1300a和1300b,并且还可包括图像捕获装置1410、用户输入装置1420、传感器1430、通信装置1440、显示器1450、扬声器1460、供电装置1470和连接接口1480中的一个或多个。
主处理器1100可控制电子***1000的整体操作,并且更具体地,控制构成电子***1000的其他组件的操作。主处理器1100可被实现为例如通用处理器、专用处理器或应用处理器。
主处理器1100可包括一个或多个CPU核1110,并且还可包括用于控制存储器1200a和1200b和/或存储装置1300a和1300b的控制器1120。根据一个实施例,主处理器1100还可包括作为用于高速数据运算(诸如,人工智能(AI)数据运算)的专用电路的加速器1130。加速器1130可包括例如图形处理器(GPU)、神经处理器(NPU)和/或数据处理器(DPU),并且可被实现为物理上独立于主处理器1100的其他组件的单独芯片。
存储器1200a和1200b可被用作电子***1000的主存储器装置,并且可包括易失性存储器(诸如,SRAM和/或DRAM)或可包括非易失性存储器(诸如,闪存、PRAM和/或电阻式RAM(RRAM))。存储器1200a和1200b也可被实现在与主处理器1100相同的封装件中。
存储装置1300a和1300b可用作不管是否被供电都存储数据的非易失性存储装置,并且可具有比存储器1200a和1200b更大的存储容量。存储装置1300a和1300b可包括存储控制器1310a和1310b以及在存储控制器1310a和1310b的控制下存储数据的非易失性存储器(NVM)1320a和1320b。非易失性存储器1320a和1320b可包括具有二维(2D)结构或三维(3D)垂直NAND(V-NAND)结构的闪存,或者可包括其他类型的非易失性存储器(诸如,PRAM和/或RRAM)。
存储装置1300a和1300b可以以与主处理器1100物理分离的状态被包括在电子***1000中。可选地,存储装置1300a和1300b可被实现在与主处理器1100相同的封装件中。此外,由于存储装置1300a和1300b可以不同地被实现为SSD或存储器卡,因此存储装置1300a和1300b可通过接口(诸如,连接接口1480)可拆卸地连接到电子***1000的其他组件。存储装置1300a和1300b可以是被配置为根据一个或多个常规理解的协议(诸如例如,通用闪存(UFS)、嵌入式多媒体卡(eMMC)和非易失性存储器快速(NVMe))进行操作的装置。
图像捕获装置1410可捕获静止图像或运动图像,并且可包括例如相机、便携式摄像机和/或网络摄像头。用户输入装置1420可从电子***1000的用户接收各种类型的数据输入,并且可包括例如触摸板、键区、键盘、鼠标和/或麦克风。传感器1430可检测可从电子***1000的外部获得的各种类型的物理量,并且将检测到的物理量转换为电信号。传感器1430可包括例如温度传感器、压力传感器、照度传感器、位置传感器、加速度传感器、生物传感器和/或陀螺仪传感器。通信装置1440可根据各种通信协议将信号发送到电子***1000外部的其他装置或从电子***1000外部的其他装置接收信号。通信装置1440可被实现为包括例如天线、收发器和/或调制解调器。
显示器1450和扬声器1460可用作分别将视觉信息和听觉信息提供给电子***1000的用户的输出装置。供电装置1470可适当地转换从内置在电子***1000中的电池(未示出)和/或外部供电装置供应的电力,并且将电力供应给电子***1000的每个组件。连接接口1480可提供电子***1000与可连接到电子***1000以与电子***1000交换数据的外部装置之间的连接。连接接口1480可被配置为根据一种或多种常规理解的接口方法(诸如例如,高级技术附件(ATA)、串行ATA(SATA)、外部SATA(e-SATA)、小型计算机***接口(SCSI)、串行附接SCSI(SAS)、***组件互连(PCI)、PCI快速(PCIe)、NVMe、IEEE 1394、通用串行总线(USB)、安全数字(SD)卡、多媒体卡(MMC)、eMMC、UFS、嵌入式通用闪存(eUFS)和/或紧凑型闪存(CF)卡接口)进行操作。
图13是在另一示例中示出根据发明构思的实施例的存储***2000的框图。
参照图13,主机-存储***2000通常可包括主机2100和存储装置2200,其中,存储装置2200可包括存储控制器2210和非易失性存储器(NVM)2220。主机2100可包括主机控制器2110和主机存储器2120,其中,主机存储器2120可用作临时存储由存储装置2200接收的数据和/或从存储装置2200中获取的数据的缓冲存储器。
存储装置2200可包括用于根据来自主机2100的请求存储数据的存储介质。作为一个示例,存储装置2200可包括固态驱动器(SSD)、嵌入式存储器和可移除外部存储器中的至少一个。当存储装置2200是SSD时,存储装置2200可以是符合NVMe标准的装置。当存储装置2200是嵌入式存储器或外部存储器时,存储装置2200可以是符合UFS或eMMC标准的装置。主机2100和存储装置2200可各自根据常规理解的协议来生成包并发送包。
当存储装置2200的非易失性存储器2220包括闪存时,闪存可包括2DNAND存储器阵列或3D(或垂直)NAND(VNAND)存储器阵列。作为另一示例,存储装置2200可包括各种其他类型的非易失性存储器。例如,存储装置2200可包括MRAM、自旋转移力矩MRAM、CBRAM、FeRAM、PRAM、电阻式存储器(电阻式RAM)和各种其他类型的存储器。
在一些实施例中,主机控制器2110和主机存储器2120可被实现为单独的半导体芯片。可选地,主机控制器2110和主机存储器2120可被集成在同一半导体芯片内。作为一个示例,主机控制器2110可以是设置在应用处理器中的多个模块中的任何一个,并且应用处理器可被实现为片上***(SoC)。此外,主机存储器2120可以是设置在应用处理器中的嵌入式存储器,或者可以是布置在应用处理器外部的非易失性存储器或存储器模块。
主机控制器2110可管理将主机存储器2120的缓冲区域的数据(例如,写入数据)存储在非易失性存储器2220中或将非易失性存储器2220的数据(例如,读取数据)存储在缓冲区域中的操作。
存储控制器2210可包括主机接口2211、存储器接口2212和中央处理器(CPU)2213。此外,存储控制器2210还可包括闪存转换层(FTL)2214、包管理器(PCK MNG)2215、缓冲存储器(BUF MEM)2216、纠错码(ECC)引擎(ECC ENG)2217和高级加密标准(AES)引擎(AES ENG)2218。存储控制器2210还可包括加载有FTL 2214的工作存储器(未示出),并且CPU 2213可执行闪存转换层以控制对非易失性存储器2220的写入操作和读取操作。
主机接口2211可向主机2100传递(例如,发送)包或从主机2100传递(例如,接收)包。从主机2100传递到主机接口2211的包可包括例如命令或待存储在非易失性存储器2220中的数据,并且从主机接口2211传递到主机2100的包可包括例如对命令的响应或从非易失性存储器2220读取的数据。存储器接口2212可将待存储在非易失性存储器2220中的数据传递到非易失性存储器2220,或者接收从非易失性存储器2220读取的数据。存储器接口2212可被实现为符合标准协议(诸如,Toggle或开放NAND闪存接口(ONFI))。
FTL 2214可在各种后台操作(诸如例如,地址映射、存储器单元损耗均衡和垃圾收集)的执行中进行操作(或作出贡献)。这里,地址映射可被用于将从主机2100接收的逻辑地址转换为用于将数据实际存储在非易失性存储器2220中的相应的物理地址。损耗均衡可被用于减少(或防止)非易失性存储器2220中的多个块之中的特定块的不均匀损耗(或使用劣化),从而没有特定组的组成存储器单元变得过度损耗。在一些实施例中,固件可被用于跨多个块平衡编程和/或擦除计数。垃圾收集可被用于通过将有效数据从旧的块复制到新的块中然后擦除旧的块来确保非易失性存储器2220中的存储器容量。
包管理器2215可根据与主机2100协商的接口的协议生成包,或者从自主机2100接收的包解析各种信息。此外,缓冲存储器2216可临时存储待存储在非易失性存储器2220中的数据或待从非易失性存储器2220读取的数据。缓冲存储器2216可设置在存储控制器2210中,或者可布置在存储控制器2210的外部。
ECC引擎2217可对从非易失性存储器2220读取的读取数据执行错误检测和纠正功能。更具体地,ECC引擎2217可针对待存储在非易失性存储器2220中的写入数据生成奇偶校验位,并且生成的奇偶校验位可与写入数据一起被存储在非易失性存储器2220中。在从非易失性存储器2220读取数据时,ECC引擎2217可使用从非易失性存储器2220读取的奇偶校验位与读取数据一起对读取数据中的错误进行纠正,并提供错误纠正后的读取数据。
AES引擎2218可使用对称密钥算法对输入到存储控制器2210中的数据执行加密操作和解密操作中的至少一个。
图14是在又一示例中示出根据发明构思的实施例的存储器***3000的框图。
参照图14,存储器***3000通常可包括存储器装置3200和存储器控制器3100,其中,存储器装置3200可与被配置为经由多个通道中的至少一个与存储器控制器3100通信的非易失性存储器装置中的一个对应。
存储器装置3200可包括第一引脚P11至第八引脚P18、存储器接口电路3210、控制逻辑电路3220和存储器单元阵列3230。存储器接口电路3210可通过第一引脚P11从存储器控制器3100接收芯片使能信号nCE。存储器接口电路3210可根据芯片使能信号nCE通过第二引脚P12至第八引脚P18将信号发送到存储器控制器3100或从存储器控制器3100接收信号。例如,当芯片使能信号nCE处于使能状态(例如,处于低电平)时,存储器接口电路3310可通过第二引脚P12至第八引脚P18将信号发送到存储器控制器3100或从存储器控制器3100接收信号。
存储器接口电路3210可通过第二引脚P12至第四引脚P14从存储器控制器3100接收命令锁存使能信号CLE、地址锁存使能信号ALE和写入使能信号nWE。通过第七引脚P17,存储器接口电路3210可从存储器控制器3100接收数据信号DQ或将数据信号DQ传递到存储器控制器3100。命令CMD、地址ADDR和数据DATA可通过数据信号DQ被传递。例如,数据信号DQ可通过多条数据信号线被传递。在这种情况下,第七引脚P17可包括与多个数据信号对应的多个引脚。
存储器接口电路3210可基于写入使能信号nWE的切换时序(toggle timing),从在命令锁存使能信号CLE的使能时段(例如,高电平状态)中接收的数据信号DQ获得命令CMD。存储器接口电路3210可基于写入使能信号nWE的切换时序,从在地址锁存使能信号ALE的使能时段(例如,高电平状态)中接收的数据信号DQ获得地址ADDR。
在一些实施例中,写入使能信号nWE可在保持静态状态(例如,高电平或低电平)的同时,在高电平与低电平之间进行切换。例如,写入使能信号nWE可在命令CMD或地址ADDR被传递的时段中进行切换。因此,存储器接口电路3210可基于写入使能信号nWE的切换时序来获得命令CMD或地址ADDR。
存储器接口电路3210可通过第五引脚P15从存储器控制器3100接收读取使能信号nRE。通过第六引脚P16,存储器接口电路3210可从存储器控制器3100接收数据选通信号DQS,或者将数据选通信号DQS传递到存储器控制器3100。
在存储器装置3200的数据输出操作期间,存储器接口电路3210可在提供(或输出)数据之前,通过第五引脚P15接收切换的读取使能信号nRE。存储器接口电路3210可基于读取使能信号nRE的切换而生成切换的数据选通信号DQS。例如,存储器接口电路3210可生成数据选通信号DQS,数据选通信号DQS在针对读取使能信号nRE的切换开始时间的预定延迟(例如,tDQSRE)之后开始进行切换。存储器接口电路310可基于数据选通信号DQS的切换时序来传递包括数据DATA的数据信号DQ。因此,数据DATA可以与数据选通信号DQS的切换时序对齐地被传递到存储器控制器3100。
在存储器装置3200的数据(DATA)输入操作中,当从存储器控制器3100接收到包括数据DATA的数据信号DQ时,存储器接口电路3210可从存储器控制器3100一起接收切换的数据选通信号DQS和数据DATA。存储器接口电路3210可基于数据选通信号DQS的切换时序从数据信号DQ获得数据DATA。例如,存储器接口电路3210可通过在数据选通信号DQS的上升沿和下降沿对数据信号DQ进行采样来获得数据DATA。
存储器接口电路3210可通过第八引脚P18将就绪/忙碌(ready/busy)输出信号nR/B传递到存储器控制器3100。存储器接口电路3210可通过就绪/忙碌输出信号nR/B将存储器装置3200的状态信息传递到存储器控制器3100。当存储器装置3200处于忙碌状态时(即,当存储器装置3200的内部操作正在被执行时),存储器接口电路3210可将表示忙碌状态的就绪/忙碌输出信号nR/B传递到存储器控制器3100。当存储器装置3200处于就绪状态时(即,当存储器装置3200的内部操作未被执行或已经完成时),存储器接口电路3210可将表示就绪状态的就绪/忙碌输出信号nR/B传递到存储器控制器3100。例如,当存储器装置3200响应于页读取命令从存储器单元阵列3230读取数据DATA时,存储器接口电路3210可将表示忙碌状态(例如,低电平)的就绪/忙碌输出信号nR/B传递到存储器控制器3100。例如,当存储器装置3200响应于编程命令从存储器单元阵列3230读取数据DATA时,存储器接口电路3210可将表示忙碌状态的就绪/忙碌输出信号nR/B传递到存储器控制器3100。
控制逻辑电路3220通常可控制存储器装置3200的各种操作。控制逻辑电路3220可接收从存储器接口电路3210获得的命令CMD/地址ADDR。控制逻辑电路3220可根据接收的命令CMD/地址ADDR生成用于控制存储器装置3200的其他组件的控制信号。例如,控制逻辑电路3220可生成用于对存储器单元阵列3230中的数据DATA进行编程或从存储器单元阵列3230读取数据DATA的各种控制信号。
存储器单元阵列3230可在控制逻辑电路3220的控制下存储从存储器接口电路3210获得的数据DATA。存储器单元阵列3230可在控制逻辑电路3220的控制下将存储的数据DATA输出到存储器接口电路3210。
存储器单元阵列3230可包括多个存储器单元。例如,多个存储器单元可以是闪存单元。然而,发明构思不限于此,并且存储器单元可包括RRAM单元、FRAM单元、PRAM单元、晶闸管随机存取存储器(TRAM)单元和/或MRAM单元。在下文中,将集中于存储器单元包括NAND闪存单元的实施例来描述发明构思的实施例。
存储器控制器3100可包括第一引脚P21至第八引脚P28和控制器接口电路3110。第一引脚P21至第八引脚P28可与存储器装置3200的第一引脚P11至第八引脚P18对应。控制器接口电路3110可通过第一引脚P21将芯片使能信号nCE传递到存储器装置3200。通过第二引脚P22至第八引脚P28,控制器接口电路3110可将信号发送到通过芯片使能信号nCE选择的存储器装置3200,或从通过芯片使能信号nCE选择的存储器装置3200接收信号。
控制器接口电路3110可通过第二引脚P22至第四引脚P24将命令锁存使能信号CLE、地址锁存使能信号ALE和写入使能信号nWE传递到存储器装置3200。通过第七引脚P27,控制器接口电路3110可将数据信号DQ传递到存储器装置3200或从存储器装置3200接收数据信号DQ。
控制器接口电路3110可将包括命令CMD或地址ADDR的数据信号DQ与切换的写入启用信号nWE一起传递到存储器装置3200。控制器接口电路3110可根据具有使能状态的命令锁存使能信号CLE的发送将包括命令CMD的数据信号DQ传递到存储器装置3200,并且可根据具有使能状态的地址锁存使能信号ALE的发送将包括地址ADDR的数据信号DQ传递到存储器装置3200。
控制器接口电路3110可通过第五引脚P25将读取使能信号nRE传递到存储器装置3200。通过第六引脚P26,控制器接口电路3110可从存储器装置3200接收数据选通信号DQS或将数据选通信号DQS传递到存储器装置3200。
在存储器装置3200的数据(DATA)输出操作中,控制器接口电路3110可生成切换的读取使能信号nRE,并且将读取使能信号nRE传递到存储器装置3200。例如,控制器接口电路3110可在数据DATA被输出之前,生成从固定状态(例如,高电平或低电平)改变为切换状态的读取使能信号nRE。因此,可基于读取使能信号nRE而在存储器装置3200中生成切换的数据选通信号DQS。控制器接口电路3110可一起接收包括来自存储器装置3200的数据DATA的数据信号DQ和切换的数据选通信号DQS。控制器接口电路3110可基于数据选通信号DQS的切换时序,从数据信号DQ获得数据DATA。
在存储器装置3200的数据(DATA)输入操作中,控制器接口电路3110可生成切换的数据选通信号DQS。例如,控制器接口电路3110可在数据DATA被传递之前,生成从固定状态(例如,高电平或低电平)改变为切换状态的数据选通信号DQS。控制器接口电路3110可基于数据选通信号DQS的切换时序将包括数据DATA的数据信号DQ传递到存储器装置3200。控制器接口电路3110可通过第八引脚P28从存储器装置3200接收就绪/忙碌输出信号nR/B。控制器接口电路3110可基于就绪/忙碌输出信号nR/B来确定存储器装置3200的状态信息。
图15是部分示出根据发明构思的实施例的3D VNAND结构的存储器块BLKi的透视图。
参照图15,存储器块BLKi是可形成为基底上的3D结构的一部分的3D存储器块。例如,包括在存储器块BLKi中的多个存储器NAND串可形成在垂直于基底的方向上(例如,垂直于xy平面的z方向上)。
存储器块BLKi可包括连接在位线BL1、BL2和BL3与共源极线CSL之间的多个存储器NAND串NS11至NS33。多个存储器NAND串NS11至NS33中的每个可包括串选择晶体管SST、多个存储器单元MC1、MC2、……、MC8和地选择晶体管GST。尽管图15示出多个存储器NAND串NS11至NS33中的每个包括八个存储器单元MC1、MC2、……、MC8,但是发明构思不必限于此。
串选择晶体管SST可连接到相应的串选择线SSL1、SSL2和SSL3。多个存储器单元MC1、MC2、……、MC8可分别连接到相应的栅极线GTL1、GTL2、……、GTL8。栅极线GTL1、GTL2、……、GTL8可与字线对应,并且栅极线GTL1、GTL2、……、GTL8中的一些可与虚设(dummy)字线对应。地选择晶体管GST可连接到相应的地选择线GSL1、GSL2和GSL3。串选择晶体管SST可连接到相应的位线BL1、BL2和BL3,并且地选择晶体管GST可连接到共源极线CSL。
相同高度的栅极线(例如,GTL1)可共同连接,并且地选择线GSL1、GSL2和GSL3与串选择线SSL1、SSL2和SSL3可彼此分离。尽管图15示出存储器块BLKi连接到八条栅极线GTL1、GTL2、……、GTL8和三条位线BL1、BL2和BL3,但是发明构思不必限于此。
如上所述,通过根据模式数据选择存储块以存储数据,存储块之间的磨损程度可均匀地分布,并且存储块的寿命可被增加。
虽然已经参照发明构思的实施例具体示出和描述了发明构思,但是将理解,在不脱离由所附权利要求定义的发明构思的范围的情况下,可在其中进行形式和细节上的各种改变。

Claims (20)

1.一种存储装置,包括:
非易失性存储器,包括多个存储器块;以及
存储器控制器,被配置为:
从主机接收包括逻辑地址的写入请求,
接收与写入请求相关联的数据,
基于与逻辑地址对应的模式数据,从所述多个存储器块之中选择选择存储器块,并且
将所述数据、与写入请求相关联的写入命令和与选择存储器块对应的物理地址提供给非易失性存储器,
其中,模式数据包括第一计数信息和第二计数信息,第一计数信息表征关于特征参数值落入第一范围内的第一计数,特征参数值与逻辑地址相关联,第二计数信息表征关于特征参数值落入与第一范围不同的第二范围内的第二计数。
2.根据权利要求1所述的存储装置,其中,存储器控制器还被配置为:每当逻辑地址被访问时,通过确定特征参数值是否落入第一范围和第二范围中的一个内来更新模式数据。
3.根据权利要求2所述的存储装置,其中,存储器控制器还被配置为:当特征参数值落入第一范围内时增加第一计数,并且当特征参数值落入第二范围内时增加第二计数。
4.根据权利要求1所述的存储装置,其中,特征参数值是初始时间点与逻辑地址被访问的访问时间点之间的相应的访问时间。
5.根据权利要求4所述的存储装置,其中,存储器控制器包括:
缓冲存储器,被配置为临时存储模式数据;
计数器,被配置为从初始时间点开始对时间进行计数;
模式生成器,被配置为获得由计数器从初始时间点到访问时间点所计数的时间作为访问时间,响应于访问时间而更新模式数据,并且将计数器重新初始化为初始时间点;以及
调度器,被配置为提供物理地址、所述数据和写入命令。
6.根据权利要求1所述的存储装置,其中,所述多个存储器块包括存储用户数据的用户存储器块和存储元数据的元存储器块,
元数据包括表示存储器块的擦除计数的擦除计数信息,并且
存储器控制器被配置为:当选择存储器块被关闭时,基于模式数据和擦除计数信息,开启用户存储器块中的任何一个,并且通过将开启的用户存储器块的物理地址映射到逻辑地址来选择开启的用户存储器块作为选择存储器块。
7.根据权利要求6所述的存储装置,其中,存储器控制器被配置为:开启具有针对第一模式数据的第一擦除计数的用户存储器块或开启具有针对第二模式数据的第二擦除计数的用户存储器块。
8.根据权利要求1至7中任一项所述的存储装置,其中,在确定空闲存储器块的数量小于参考数量时,存储器控制器被配置为:
从所述多个存储器块之中选择一个存储器块作为源存储器块,其中,所述一个存储器块存储最少的有效数据,
响应于与有效数据相关联的模式数据,从所述多个存储器块之中选择另一存储器块作为目标存储器块,并且
控制非易失性存储器将有效数据从源存储器块复制到目标存储器块。
9.一种存储装置的操作方法,所述操作方法包括:
从主机接收逻辑地址和数据;
确定与逻辑地址对应的模式数据;
基于模式数据,从多个存储块之中选择选择存储器块;以及
将所述数据存储在选择存储器块中,
其中,模式数据包括第一计数信息和第二计数信息,第一计数信息表征关于特征参数值落入第一范围内的第一计数,特征参数值与逻辑地址相关联,第二计数信息表征关于特征参数值落入与第一范围不同的第二范围内的第二计数。
10.根据权利要求9所述的操作方法,其中,确定模式数据的步骤包括:
响应于逻辑地址,获得特征参数值;
每当逻辑地址被访问时,响应于特征参数值更新模式数据;以及
将更新的模式数据存储在缓冲存储器中。
11.根据权利要求10所述的操作方法,其中,特征参数值是从初始时间点到逻辑地址被访问的访问时间点的相应的访问时间,并且
更新模式数据的步骤包括:
从初始时间点开始对时间进行计数;
获得从初始时间点到访问时间点的所计数的时间作为访问时间;
确定访问时间是落入第一范围内还是落入第二范围内;
与确定访问时间是落入第一范围内还是落入第二范围内相关地增加第一计数或第二计数;以及
将所计数的时间重新初始化为初始时间点。
12.根据权利要求10所述的操作方法,其中,特征参数值是所述数据的大小,并且
更新模式数据的步骤包括:
确定所述数据的大小是落入第一范围内还是落入第二范围内;以及
与确定所述数据的大小是落入第一范围内还是落入第二范围内相关地增加第一计数或第二计数。
13.根据权利要求9所述的操作方法,其中,所述多个存储器块包括用户存储器块和元存储器块,用户存储器块被配置为存储从主机接收的用户数据,元存储器块被配置为存储与用户数据相关联并包括指示所述多个存储器块中的至少一个的擦除计数的擦除计数信息的元数据,
选择存储器块是关闭的存储器块,并且
基于模式数据从所述多个存储器块之中选择选择存储器块的步骤包括:
响应于模式数据和擦除计数信息,开启用户存储器块中的一个用户存储器块;以及
将与用户存储器块中的所述一个用户存储器块对应的物理地址映射到逻辑地址。
14.根据权利要求13所述的操作方法,其中,响应于模式数据和擦除计数信息开启用户存储器块中的所述一个用户存储器块的步骤包括:
开启具有针对第一模式数据的第一擦除计数的用户存储器块或开启具有针对第二模式数据的第二擦除计数的用户存储器块。
15.根据权利要求9至14中任一项所述的操作方法,还包括:
在确定所述多个存储器块之中的空闲存储器块的数量已经下降到低于参考数量时,通过从所述多个存储器块之中选择存储最少的有效数据的一个存储器块作为源存储器块、响应于与有效数据对应的模式数据而从所述多个存储器块中选择另一存储器块作为目标存储器块、并且将有效数据从源存储器块复制到目标存储器块,来执行垃圾收集。
16.一种存储器控制器,包括:
缓冲存储器,被配置为存储与逻辑地址对应的模式数据;
至少一个计数器,被配置为从初始时间点开始对时间进行计数;以及
闪存转换层,被配置为:
通过控制所述至少一个计数器对从初始时间点到逻辑地址被访问的时间点的时间进行计数来获得访问时间,
基于访问时间,更新模式数据,以及
将所述至少一个计数器重新初始化为初始时间点,
其中,模式数据包括第一计数信息和第二计数信息,第一计数信息表征关于特征参数值落入第一范围内的第一计数,特征参数值与逻辑地址相关联,第二计数信息表征关于特征参数值落入与第一范围不同的第二范围内的第二计数。
17.根据权利要求16所述的存储器控制器,其中,闪存转换层还被配置为:
确定访问时间是否落入第一范围和第二范围中的一个内,
在确定访问时间落入第一范围内时,通过增加第一计数来更新模式数据,并且
在确定访问时间落入第二范围内时,通过增加第二计数来更新模式数据。
18.根据权利要求17所述的存储器控制器,其中,第一计数信息包括与第一计数范围对应的第一位值或与第二计数范围对应的第二位值,
第一计数范围的最大值小于第二计数范围的最小值,并且
闪存转换层还被配置为:
当增加的第一计数在第一计数范围内时,更新模式数据,使得第一计数信息包括第一位值,并且
当增加的第一计数在第二计数范围内时,更新模式数据,使得第一计数信息包括第二位值。
19.根据权利要求17所述的存储器控制器,其中,第二计数信息包括与第一计数范围对应的第一位值或与第二计数范围对应的第二位值,
第一计数范围的最大值小于第二计数范围的最小值,并且
闪存转换层还被配置为:
当增加的第二计数在第一计数范围内时,更新模式数据,使得第二计数信息包括第一位值,并且
当增加的第二计数在第二计数范围内时,更新模式数据,使得第二计数信息包括第二位值。
20.根据权利要求16至19中任一项所述的存储器控制器,其中,所述至少一个计数器包括第一计数器和第二计数器,第一计数器被配置为在确定第一逻辑地址被访问时对时间进行计数,第二计数器被配置为在确定第二逻辑地址被访问时对时间进行计数。
CN202211286222.5A 2021-11-10 2022-10-20 存储器控制器、存储装置和存储装置的操作方法 Pending CN116107491A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20210154272 2021-11-10
KR10-2021-0154272 2021-11-10
KR10-2022-0059723 2022-05-16
KR1020220059723A KR102557992B1 (ko) 2021-11-10 2022-05-16 메모리 컨트롤러, 저장 장치, 및 저장 장치의 동작 방법

Publications (1)

Publication Number Publication Date
CN116107491A true CN116107491A (zh) 2023-05-12

Family

ID=83995074

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211286222.5A Pending CN116107491A (zh) 2021-11-10 2022-10-20 存储器控制器、存储装置和存储装置的操作方法

Country Status (3)

Country Link
US (1) US20230141682A1 (zh)
EP (1) EP4180937A1 (zh)
CN (1) CN116107491A (zh)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080140918A1 (en) * 2006-12-11 2008-06-12 Pantas Sutardja Hybrid non-volatile solid state memory system
JP2011203916A (ja) * 2010-03-25 2011-10-13 Toshiba Corp メモリコントローラ、および半導体記憶装置
KR20120128978A (ko) * 2011-05-18 2012-11-28 삼성전자주식회사 데이터 저장 장치 및 그것의 데이터 관리 방법
US10241909B2 (en) * 2015-02-27 2019-03-26 Hitachi, Ltd. Non-volatile memory device
SG11201802566PA (en) * 2016-12-29 2018-08-30 Huawei Tech Co Ltd Storage system and solid state disk
JP2018120439A (ja) * 2017-01-25 2018-08-02 東芝メモリ株式会社 メモリシステムおよび制御方法
JP2019046530A (ja) * 2017-09-07 2019-03-22 東芝メモリ株式会社 メモリシステム
US11068165B2 (en) * 2019-06-27 2021-07-20 Western Digital Technologies, Inc. Non-volatile memory data write management
KR20210089853A (ko) * 2020-01-09 2021-07-19 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작방법
US11609848B2 (en) * 2020-07-30 2023-03-21 Micron Technology, Inc. Media management based on data access metrics

Also Published As

Publication number Publication date
EP4180937A1 (en) 2023-05-17
US20230141682A1 (en) 2023-05-11

Similar Documents

Publication Publication Date Title
CN110083545B (zh) 数据存储装置及其操作方法
US11249897B2 (en) Data storage device and operating method thereof
KR20200095103A (ko) 데이터 저장 장치 및 그 동작 방법
US11567685B2 (en) Storage controller and storage device including the same
US20230266884A1 (en) Operating method for storage controller and storage system including same
US20210334029A1 (en) Data storage apparatus and operation method thereof
CN110879789B (zh) 存储器***及操作该存储器***的方法
KR20190118016A (ko) 리커버리 성능이 최적화된 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
CN110119326B (zh) 数据存储装置及其操作方法
US11281590B2 (en) Controller, operating method thereof and storage device including the same
US20230195324A1 (en) Storage device
US12001709B2 (en) Storage devices and operating methods of storage controllers
US20240045958A1 (en) Anti-malware algorithm and hw/fw for internal ssd health and storage space protection against cyber-attacks
US11726871B2 (en) Storage controller for selecting a gear level of a storage device and storage system including the same
KR102557992B1 (ko) 메모리 컨트롤러, 저장 장치, 및 저장 장치의 동작 방법
KR20190041082A (ko) 데이터 저장 장치 및 그것의 동작 방법
US11157401B2 (en) Data storage device and operating method thereof performing a block scan operation for checking for valid page counts
EP4180937A1 (en) Memory controller, storage device, and operating method of storage device
US20230244402A1 (en) Storage device and operating method of storage device
EP4220374A1 (en) Storage device and operating method of storage device
US20230147773A1 (en) Storage device and operating method
US20230069623A1 (en) Storage device and operating method thereof
US12045476B2 (en) Storage devices, storage controllers, and operating methods of storage controllers
EP4184332A1 (en) Storage controller and storage device including the same
KR20230044883A (ko) 저장 장치 및 그의 동작 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication