CN109426449A - 存储器系统及其操作方法 - Google Patents

存储器系统及其操作方法 Download PDF

Info

Publication number
CN109426449A
CN109426449A CN201810587013.1A CN201810587013A CN109426449A CN 109426449 A CN109426449 A CN 109426449A CN 201810587013 A CN201810587013 A CN 201810587013A CN 109426449 A CN109426449 A CN 109426449A
Authority
CN
China
Prior art keywords
memory
weight
foregrounding
controller
queue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810587013.1A
Other languages
English (en)
Other versions
CN109426449B (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.)
SK Hynix Inc
Original Assignee
Hynix Semiconductor 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 Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of CN109426449A publication Critical patent/CN109426449A/zh
Application granted granted Critical
Publication of CN109426449B publication Critical patent/CN109426449B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/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
    • 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/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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
    • 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/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/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
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • 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/7205Cleaning, compaction, garbage collection, erase control

Abstract

本发明涉及一种存储器系统,其包括:存储器装置,其包括多个存储块,多个存储块中的每一个包括用于存储数据的多个页面;以及控制器,其包括第一存储器,其中控制器对存储块执行前台操作和后台操作,检查前台操作和后台操作的优先级和权重,基于优先级和权重对与前台操作和后台操作相对应的队列进行调度,将与被调度队列相对应的区域分配至第一存储器,并且通过被分配至第一存储器的区域来执行前台操作和后台操作。

Description

存储器系统及其操作方法
相关申请的交叉引用
本申请要求于2017年9月4日提交的申请号为10-2017-0112711的韩国专利申请的优先权,其整体通过引用并入本文。
技术领域
本发明的示例性实施例涉及一种存储器系统,且更特别地,涉及一种能够通过使用存储器装置来处理数据的存储器系统及存储器系统的操作方法。
背景技术
计算机环境范例已经变为可在任何时间和任何地点使用的普适计算系统。由于这个事实,诸如移动电话、数码相机和笔记本计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常采用具有一个或多个存储器装置的存储器系统来存储数据。存储器系统可用作便携式电子装置的主存储器装置或辅助存储器装置。
由于存储器系统没有移动部件,所以它们提供优良的稳定性、耐用性、高的信息存取速度以及低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
发明内容
本发明的实施例涉及一种存储器系统及一种存储器系统的操作方法,其中该存储器系统能够通过最小化存储器系统的复杂性和性能劣化并最大化存储器装置的利用效率来快速且稳定地利用存储器装置处理数据。
根据本发明的实施例,一种存储器系统包括:存储器装置,其包括多个存储块,多个存储块中的每一个包括用于存储数据的多个页面;以及控制器,其包括第一存储器,其中控制器对存储块执行前台操作和后台操作,检查前台操作和后台操作的优先级和权重,基于优先级和权重对与前台操作和后台操作相对应的队列进行调度,将与被调度队列相对应的区域分配至第一存储器,并且通过被分配至第一存储器的区域来执行前台操作和后台操作。
可基于前台操作和后台操作的重要性和可靠性以及与前台操作和后台操作相对应的数据的重要性和可靠性中的至少一个来判定优先级。
权重可包括基础权重、动态权重和累计权重。
基础权重可包括被执行的前台操作和后台操作的频率数和操作率。
控制器可通过基于对与前台操作和后台操作相对应的数据的大小和基础权重或优先级的计算来判定动态权重。
控制器可基于存储块的参数来选择第一存储块,并且基于第一存储块的数量、包括在第一存储块中的有效页面的数量以及存储在第一存储块中的有效数据的大小之中的至少一个来判定动态权重。
控制器可基于与前台操作和后台操作的执行相对应的基础权重的累计来确定累计权重,并且通过累计权重对动态权重进行归一化(normalize)。
控制器可以优先级和权重的降序来对与前台操作和后台操作相对应的队列进行调度。
控制器可针对与前台操作和后台操作相对应的队列的每一个索引,将优先级和权重记录在表中,并且从表中检查优先级和权重。
控制器可确定与前台操作和后台操作相对应的队列之中的第一队列的固定优先级,并确定与前台操作和后台操作相对应的队列之中的第二队列的动态优先级,其中相比动态优先级,固定优先级可具有更高优先级。
根据本发明的实施例,一种存储器系统的操作方法,其包括:对存储器装置执行前台操作和后台操作,其中存储器装置包括多个存储块,多个存储块中的每一个包括用于存储数据的多个页面;检查前台操作和后台操作的优先级和权重;基于优先级和权重对与前台操作和后台操作相对应的队列进行调度;将与被调度的队列相对应的区域分配至包括在存储器装置的控制器中的第一存储器;并且通过被分配至第一存储器的区域来执行前台操作和后台操作。
可基于前台操作和后台操作的重要性和可靠性以及与前台操作和后台操作相对应的数据的重要性和可靠性中的至少一个来判定优先级。
权重可包括基础权重、动态权重和累计权重。
基础权重可包括执行前台操作和后台操作的频率数和操作率。
该方法可进一步包括:通过对与前台操作和后台操作相对应的数据大小与基础权重或优先级的计算来确定动态权重。
确定动态权重可包括:基于存储块的参数来选择第一存储块,并且基于第一存储块的数量、包括在第一存储块中的有效页面的数量以及存储在第一存储块中的有效数据的大小之中的至少一个来判定动态权重。
该方法可进一步包括:基于与前台操作和后台操作的执行相对应的基础权重的累计来判定累计权重,并且通过累计权重对动态权重进行归一化。
基于优先级和权重来对与前台操作和后台操作相对应的队列进行调度可包括:以优先级和权重的降序来对与前台操作和后台操作相对应的队列进行调度。
检查前台操作和后台操作的优先级和权重可包括:针对与前台操作和后台操作相对应的队列的每一个索引,将优先级和权重记录在表中,并且从表中检查优先级和权重。
该方法可进一步包括:确定与前台操作和后台操作相对应的队列之中的第一队列的固定优先级,并确定与前台操作和后台操作相对应的队列之中的第二队列的动态优先级,其中相比动态优先级,固定优先级具有更高优先级。
根据本发明的实施例,一种存储器系统,其包括:存储器装置;以及控制器,适于根据针对前台操作和后台操作分别确定的优先级和权重中的一个或多个,来控制存储器装置以执行前台操作和后台操作,其中控制器以根据优先级和权重中的一个或多个而包括在控制器中的队列来执行前台操作和后台操作。
附图说明
图1是示出根据本发明的实施例的数据处理系统的框图。
图2是示出图1所示的存储器系统中采用的存储器装置的示例性配置的示意图。
图3是示出图1所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图。
图4是示出根据本发明的实施例的数据处理系统的框图。
图5至图8示例性地示出了根据本发明的实施例的当对存储器系统中的存储器装置执行前台操作和后台操作时的数据处理操作。
图9是描述根据本发明的实施例的在存储器系统中处理数据的操作的流程图。
图10至图18是示意性地示出根据本发明的各个实施例的数据处理系统的应用示例的示图。
具体实施方式
以下将参照附图更详细地描述本发明的示意性实施例。然而,本发明可以不同形式实施,并且不应被解释为限于本文阐述的实施例。相反地,提供这些实施例以使本公开彻底且充分,并且将本发明的范围全面地传达给本领域的技术人员。在整个本公开中,相同的附图标记在本发明的各个附图和实施例中表示相同的部件。
附图不一定按比例绘制,并且在一些情况下,为了清楚地说明实施例的特征,比例可能已经被夸大。当第一层被称为在第二层“上”或在衬底“上”时,其不仅指第一层直接形成在第二层或衬底上的情况,而且还指在第一层和第二层或衬底之间存在第三层的情况。
图1是示出根据本发明的实施例的数据处理系统100的框图。
参照图1,数据处理系统100可包括被可操作地联接至存储器系统110的主机102。
主机102可包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式电脑、游戏机、TV和投影仪的非便携式电子装置。
主机102可包括至少一个OS(操作系统),并且OS可管理和控制主机102的全部功能和操作,并提供主机102和使用数据处理系统100或存储器系统110的用户之间的操作。OS可支持对应于用户的使用目的和用途的功能和操作。例如,根据主机102的移动性,OS可被划分为通用OS和移动OS。根据用户的环境,通用OS可被分为个人OS和企业OS。例如,配置为支持向普通用户提供服务的功能的个人OS可包括Windows和Chrome,以及配置为确保和支持高性能的企业OS可包括Windows服务器、Linux和Unix。此外,被配置为支持向用户提供移动服务的功能和系统省电功能的移动OS可包括Android、iOS和Windows Mobile。此时,主机102可包括多个OS,并且执行OS以对存储器系统110执行对应于用户请求的操作。
存储器系统110可响应于主机102的请求操作以为主机102存储数据。存储器系统110的非限制性示例可包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用存储总线(USB)装置、通用闪存(UFS)装置、标准闪存(CF)卡、智能媒体卡(SMC)、个人计算机存储卡国际协会(PCMCIA)卡和记忆棒。MMC可包括嵌入式MMC(eMMC)、尺寸减小的MMC(RS-MMC)和微型-MMC等。SD卡可包括迷你-SD卡和微型-SD卡。
存储器系统110可通过各种类型的存储装置实施。包括在存储器系统110中的存储装置的非限制性示例可包括诸如DRAM动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置和诸如以下的非易失性存储器装置:只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器。闪速存储器可具有三维(3D)堆叠结构。
存储器系统110可包括存储器装置150和控制器130。存储器装置150可为主机102存储数据,并且控制器130可控制将数据存储到存储器装置150中。
控制器130和存储器装置150可被集成到单个半导体装置中,单个半导体装置可被包括在如上所例示的各种类型的存储器系统中。例如,控制器130和存储器装置150可集成为一个半导体装置来构成SSD。当存储器系统110用作SSD时,可提高连接到存储器系统110的主机102的操作速度。另外,控制器130和存储器装置150可集成为一个半导体装置来构成存储卡。例如,控制器130和存储器装置150可构成诸如以下的存储卡:PCMCIA(个人计算机存储卡国际协会)卡,CF卡,SMC(智能媒体卡),记忆棒,包括RS-MMC和微型-MMC的MMC,包括迷你-SD、微型-SD和SDHC的SD卡,或UFS装置。
存储器系统110的非限制性应用示例可包括计算机、超级移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数字照相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境下传输/接收信息的装置、构成家庭网络的各种电子装置之一、构成计算机网络的各种电子装置之一、构成远程信息处理网络的各种电子装置之一、无线射频识别(RFID)装置或构成计算系统的各种部件之一。
存储器装置150可以是非易失性存储器装置,并且即使不供应电力,其也可保留其中存储的数据。存储器装置150可通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供给主机102。存储器装置150可包括多个存储块152至156,存储块152至156中的每一个可包括多个页面,并且每个页面可包括联接到字线的多个存储器单元。在实施例中,存储器装置150可以是闪速存储器。闪速存储器可具有三维(3D)堆叠结构。
此处,因为稍后将参照图2至图4详细描述存储器装置150的结构和存储器装置150的3D堆叠结构,并且稍后将参照图6详细描述存储器装置150,其中存储器装置150包括多个存储器管芯,多个存储器管芯中的每一个包括多个平面,多个平面中的每一个包括多个存储块152、154和156,所以此处将省略对它们的进一步的描述。
控制器130可响应于来自主机102的请求控制存储器装置150。例如,控制器130可将从存储器装置150读取的数据提供给主机102,并将从主机102提供的数据存储至存储器装置150中。对于该操作,控制器130可控制存储器装置150的读取操作、写入操作、编程操作和擦除操作。
控制器130可包括主机接口(I/F)单元132、控制器处理器134、错误校正码(ECC)单元138、电源管理单元(PMU)140、NAND闪速存储器控制器(NFC)142以及控制器存储器144,其全部经由内部总线可操作地联接。
主机接口单元134可被配置成处理主机102的命令和数据,并可通过诸如以下的各种接口协议中的一种或多种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-E)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。
ECC单元138可检测并且校正从存储器装置150读取的数据中包含的错误。换言之,ECC单元138可通过在ECC编码进程期间使用的ECC代码对从存储器装置150读取的数据执行错误校正解码进程。根据错误校正解码进程的结果,ECC单元138可输出信号,例如错误校正成功/失败信号。当错误位的数量大于可校正错误位的阈值时,ECC单元138不校正错误位,并且可输出错误校正失败信号。
ECC单元138可通过诸如以下的编码调制执行错误校正:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhri-Hocquenghem,BCH)码、turbo码、里德-所罗门(Reed-Solomon)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)以及分组编码调制(BCM)。然而,ECC单元138不限于此。ECC单元138可包括用于错误校正的所有电路、模块、系统或装置。
PMU 140可提供和管理控制器130的电力。
NFC 142可用作存储器/存储接口,其用于接口连接控制器130和存储器装置150使得控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器或具体是NAND闪速存储器时,NFC 142可在控制器处理器134的控制下生成用于存储器装置150的控制信号并且处理待提供给存储器装置150的数据。NFC 142可用作处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。具体地,NFC 142可支持控制器130和存储器装置150之间的数据传输。
控制器存储器144可用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。控制器130可响应于来自主机102的请求控制存储器装置150执行读取操作、写入操作、编程操作和擦除操作。控制器130可将从存储器装置150读取的数据提供给主机102并可将从主机102提供的数据存储到存储器装置150中。控制器存储器144可存储控制器130和存储器装置150执行这些操作所需的数据。
控制器存储器144可由易失性存储器来实施。例如,控制器存储器144可由静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。控制器存储器144可被设置在控制器130的内部或外部。图1例示设置在控制器130内的控制器存储器144。在实施例中,控制器存储器144可由具有在控制器存储器144和控制器130之间传送数据的存储器接口的外部易失性存储器实施。
控制器处理器134可控制存储器系统110的总体操作。控制器处理器134可驱动固件以控制存储器系统110的总体操作。固件可被称为闪存转换层(FTL)。而且,控制器处理器134可被实现为微处理器或中央处理单元(CPU)。
例如,控制器130可通过被实现为微处理器或CPU的控制器处理器134而在存储器装置150中执行主机102请求的操作。换言之,控制器130可执行与从主机102接收的命令相对应的命令操作。此处,控制器130可执行作为与从主机102接收的命令相对应的命令操作的前台操作。例如,控制器130可执行对应于写入命令的编程操作、对应于读取命令的读取操作、对应于擦除命令的擦除操作以及对应于作为设置命令的设置参数命令或设置特征命令的参数设置操作。
而且,控制器130可通过被实现为微处理器或CPU的控制器处理器134而对存储器装置150执行后台操作。此处,对存储器装置150执行的后台操作可包括:将存储在存储器装置150的存储块152、154和156之中的一些存储块中的数据复制并处理到其它存储块的操作,例如垃圾收集(GC)操作;在存储器装置150的存储块152、154和156之间或在存储块152、154和156的数据之间执行交换的操作,例如损耗均衡(WL)操作;将存储在控制器130中的映射数据存储在存储器装置150的存储块152、154和156中的操作,例如映射清除(flush)操作;或者管理存储器装置150的坏块的操作,例如检测和处理包括在存储器装置150中的存储块152、154和156之中的坏块的坏块管理操作。
而且,在根据本发明的实施例的存储器系统中,例如,控制器130可在存储器装置150中执行与从主机102接收的多个命令相对应的多个命令操作,例如对应于多个写入命令的多个编程操作、对应于多个读取命令的多个读取操作以及对应于多个擦除命令的多个擦除操作,并且根据命令操作的执行更新元数据,特别是更新映射数据。
特别地,在根据本发明的实施例的存储器系统中,当控制器130在包括在存储器装置150中的存储块中执行与从主机102接收的多个命令相对应的命令操作,例如编程操作、读取操作和擦除操作时,因为存储块中的特性由于命令操作的执行而劣化,所以存储器装置150的操作可靠性可能会劣化并且存储器装置150的利用效率也可能降低。因此,根据命令操作的执行,考虑到存储器装置150的参数,可对存储器装置150执行复制操作或交换操作。
例如,在根据本发明的实施例的存储器系统中,当控制器130在包括在存储器装置150中的存储块中执行与从主机102接收的多个写入命令相对应的编程操作时,控制器130可对存储器装置150执行例如垃圾收集操作的复制操作,以提高包括在存储器系统110中的存储器装置150的利用效率。
而且,在根据本发明的实施例的存储器系统中,当控制器130在包括在存储器装置150中的存储块中执行与从主机102接收的多个擦除命令相对应的擦除操作时,包括在存储器装置150中的存储块中的每一个可具有有限擦除计数,并且因此,控制器130可在有限擦除计数范围内执行对应于擦除命令的擦除操作。例如,当控制器130在对特定存储块执行擦除操作同时超过有限擦除计数的情况下,特定存储块可被处理为可能不再被使用的坏块。此处,存储器装置150的存储块的有限擦除计数可表示可对存储器装置150的存储块执行的擦除操作的最大计数。因此,在根据本发明的实施例的存储器系统中,可在有限擦除计数的范围内对存储器装置150的存储块均匀地执行擦除操作。而且,为了确保对存储器装置150的存储块的擦除操作的操作可靠性,可根据存储器装置150的存储块的参数、利用存储器装置150的存储块来处理数据,例如可对存储器装置150执行例如损耗均衡操作的交换操作。
而且,在根据本发明的实施例的存储器系统中,当控制器130在包括在存储器装置150中的存储块中执行与从主机102接收的多个读取命令相对应的读取操作时,特别是当控制器130在一些特定存储块中重复执行读取操作时,在特定存储块中可能由于重复的读取操作而引起读取干扰。因此,控制器130可执行读取回收操作以保护特定存储块避免由于读取干扰而丢失数据。换言之,在根据本发明的实施例的存储器系统中,控制器130可通过读取回收操作将存储在特定存储块中的数据复制并存储到其它存储块中。简而言之,控制器130可对存储器装置150中的特定存储块执行复制操作。
此处,在根据本发明的实施例的存储器系统中,根据取决于与从主机102接收到的命令相对应的命令操作的执行的诸如以下的参数:取决于编程操作的执行的存储器装置150的存储块的有效页面计数(VPC)、取决于擦除操作的执行的擦除计数、取决于编程操作的执行的编程计数以及取决于读取操作的执行的读取计数,控制器130不仅可对一些存储块执行交换操作和复制操作而且可执行坏块管理操作。而且,在根据本发明的实施例的存储器系统中,根据不仅与对存储器装置150的存储块执行的交换操作和复制操作相对应的参数,还与对存储器装置150的存储块执行的坏块管理操作相对应的参数,控制器130可对存储器装置150的存储块执行例如垃圾收集操作的复制操作。此处,在根据本发明的实施例的存储器系统中,因为稍后将参照图5至图9详细描述与从主机102接收到的多个命令相对应的命令操作的执行,以及根据与命令操作的执行对应的参数,对存储器装置150执行交换操作和复制操作,所以此处将省略对其的进一步描述。
控制器130的处理器134可包括用于执行存储器装置150的坏块管理操作的管理单元(未示出)。管理单元可执行检查包括在存储器装置150中的多个存储块152至156中在编程操作期间由于例如NAND闪速存储器的存储器装置的特性而发生编程失败的坏块的坏块管理操作。管理单元可将坏块的编程失败数据写入到新的存储块。在具有3D堆叠结构的存储器装置150中,坏块管理操作可能降低存储器装置150的使用效率和存储器系统110的可靠性。因此,需要更可靠地执行坏块管理操作。在下文中,参照图2至图4详细描述根据本发明的实施例的存储器系统的存储器装置。
图2是示出存储器装置150的示意图,图3是示出存储器装置150中的存储块的存储器单元阵列的示例性配置的电路图,图4是示出存储器装置150的示例性3D结构的示意图。
参照图2,存储器装置150可包括多个存储块0至N-1,例如存储块0BLK0 210、存储块1BLK1 220、存储块2BLK2 230和存储块N-1BLKN-1 240,并且存储块210、220、230和240中的每一个可包括多个页面,例如2M个页面,其数量可根据电路设计而变化。此处,虽然为便于描述而描述了存储块中的每一个包括2M个页面,但存储块中的每一个也可包括M个页面。页面的每一个可包括联接到多个字线WL的多个存储器单元。
而且,存储器装置150可包括多个存储块,存储块可包括存储1位数据的单层单元(SLC)存储块和/或存储2位数据的多层单元(MLC)存储块。此处,SLC存储块可包括由一个存储器单元中存储一位数据的存储器单元实现的多个页面。SLC存储块可具有快速数据操作性能和高耐久性。另一方面,MLC存储块可包括由一个存储器单元中存储例如两位或更多位数据的多位数据的存储器单元实现的多个页面。MLC存储块可具有比SLC存储块更大的数据存储空间。换言之,MLC存储块可被高度集成。特别地,存储器装置150不仅可包括MLC存储块,而且还包括三层单元(TLC)存储块、四层单元(QLC)存储块和/或多层单元存储块等,其中MLC存储块中的每一个包括由能够在一个存储器单元中存储两位数据的存储器单元实现的多个页面,三层单元(TLC)存储块中的每一个包括由能够在一个存储器单元中存储三位数据的存储器单元实现的多个页面,四层单元(QLC)存储块中的每一个包括由能够在一个存储器单元中存储四位数据的存储器单元实现的多个页面,多层单元存储块中的每一个包括由能够在一个存储器单元中存储五位或更多位数据的存储器单元实现的多个页面。
根据本发明的实施例,虽然为便于描述,在此处描述了存储器装置150为诸如闪速存储器的非易失性存储器,例如NAND闪速存储器,但存储器装置150可被实现为相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM或ReRAM)、铁电随机存取存储器(FRAM)、自旋转移扭矩磁性随机存取存储器(STT-RAM或STT-MRAM)之中的一种存储器。
存储块210、220、230和240可通过编程操作而存储从主机102传输的数据,并且通过读取操作来将存储在其中的数据传输到主机102。
随后,参照图3,可对应于包括在存储器系统110的存储器装置150中的多个存储块152至156中的任意一个的存储块330可包括联接到多个相应位线BL0至BLm-1的多个单元串340。每列单元串340可包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。多个存储器单元MC0至MCn-1可串联地联接在漏极选择晶体管DST和源极选择晶体管SST之间。在实施例中,存储器单元晶体管MC0至MCn-1中的每一个可通过能够存储多位数据信息的MLC来实施。单元串340中的每一个可被电联接到多个位线BL0至BLm-1中的对应位线。例如,如图3所示,第一单元串被联接到第一位线BL0,最后的单元串被联接到最后的位线BLm-1。
虽然图3示出NAND闪速存储器单元,但是本发明不限于此方式。注意的是,存储器单元可以是NOR闪速存储器单元或者包括组合在其中的两个或更多个类型存储器单元的混合闪速存储器单元。还应注意的是,存储器装置150可以是包括作为电荷存储层的导电浮栅的闪速存储器装置,或者包括作为电荷存储层的绝缘层的电荷撷取闪速(CTF)存储器装置。
存储器装置150可进一步包括提供字线电压的电压供应单元310,字线电压包括根据操作模式供应至字线的编程电压、读取电压和通过电压。电压供应单元310的电压生成操作可通过控制电路(未示出)来控制。在控制电路的控制下,电压供给单元310可选择存储器单元阵列的存储块(或扇区)中的一个,选择所选择的存储块的字线中的一个,并且将字线电压提供给所选择的字线和可能需要的未选择的字线。
存储器装置150可包括由控制电路控制的读取/写入电路320。在验证/正常读取操作期间,读取/写入电路320可用作读出放大器,其用于从存储器单元阵列读取数据。在编程操作期间,读取/写入电路320可用作根据待被存储在存储器单元阵列中的数据驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可从缓冲器(未示出)接收待被存储到存储器单元阵列中的数据,并根据接收的数据驱动位线。读取/写入电路320可包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322至326,并且页面缓冲器322至326中的每一个可包括多个锁存器(未示出)。
存储器装置150可通过2D或3D存储器装置来实施。特别地,如图4所示,存储器装置150可由具有3D堆叠结构的非易失性存储器装置来实施。当存储器装置150具有3D结构时,存储器装置150可包括多个存储块BLK0至BLKN-1。此处,图4是示出图1所示的存储器装置150的存储块152、154和156的框图。存储块152、154和156中的每一个可以3D结构(或垂直结构)来实现。例如,存储块152、154和156可包括在例如x轴方向、y轴方向和z轴方向的第一至第三方向上延伸的三维结构的结构。
包括在存储器装置150中的每一个存储块330可包括在第二方向上延伸的多个NAND串NS以及在第一方向和第三方向上延伸的多个NAND串NS。此处,NAND串NS中的每一个可联接到位线BL、至少一个串选择线SSL、至少一个接地选择线GSL、多个字线WL、至少一个虚拟字线DWL和共源线CSL,并且NAND串NS中的每一个可包括多个晶体管结构TS。
简而言之,存储器装置150的存储块152、154和156之中的每一个存储块330可联接到多个位线BL、多个串选择线SSL、多个接地选择线GSL、多个字线WL、多个虚拟字线DWL以及多个共源线CSL,并且每一个存储块330可包括多个NAND串NS。而且,在每一个存储块330中,一个位线BL可联接到多个NAND串NS,以在一个NAND串NS中实现多个晶体管。而且,每一个NAND串NS的串选择晶体管SST可联接到对应的位线BL,并且每一个NAND串NS的接地选择晶体管GST可联接到共源线CSL。此处,存储器单元MC可被设置在每一个NAND串NS的串选择晶体管SST和接地选择晶体管GST之间。换言之,多个存储器单元可被实现在存储器装置150的存储块152、154和156的每一个存储块330中。在下文中,参照图5至图9详细描述在根据本发明的实施例的存储器系统中对存储器装置的数据处理操作,特别是当执行与从主机102接收的多个命令相对应的多个命令的操作时执行的数据处理操作。
图5至图8示例性地示出了根据本发明的实施例的当对存储器系统中的存储器装置执行前台操作和后台操作时的数据处理操作。在本发明的该实施例中,对存储器装置150的前台操作(例如,与从主机102接收的多个命令相对应的多个命令操作)和对存储器装置150的后台操作(例如,作为复制操作的垃圾收集操作或读取回收操作,以及作为交换操作的损耗均衡操作,或映射清除操作)被作为示例并进行具体描述。
特别地,在本发明的该实施例中,为便于描述,将以下情况作为示例并进行具体描述:图1所示的存储器系统110从主机102接收多个命令并执行与接收的命令相对应的命令操作。例如,存储器系统110可从主机102接收多个写入命令并执行对应于写入命令的编程操作,或者存储器系统110可从主机102接收多个读取命令并执行对应于读取命令的读取操作,或者存储器系统110可从主机102接收多个擦除命令并执行对应于擦除命令的擦除操作,或者存储器系统110可从主机102一起接收多个写入命令和多个读取命令并执行对应于写入命令和读取命令的编程操作和读取操作。
而且,在本发明的实施例中以下列情况作为示例并进行描述:将与从主机102接收的多个写入命令相对应的写入数据存储在控制器130的存储器144中包括的缓冲器/高速缓存中,然后将存储在缓冲器/高速缓存中的数据编程并存储在存储器装置150中包括的多个存储块中(简而言之,执行编程操作),并且还对应于对存储器装置150的编程操作而更新映射数据,然后将更新的映射数据存储在存储器装置150中包括的存储块中。简而言之,将执行与从主机102接收的多个写入命令相对应的编程操作的情况作为示例并进行描述。
而且,在本发明的实施例中以下列情况作为示例并进行描述:当从主机102接收到针对存储器装置150中存储的数据的多个读取命令时,通过检测对应于读取命令的数据的映射数据而从存储器装置150读取对应于读取命令的数据,并且将读取的数据存储在控制器130的存储器144中包括的缓冲器/高速缓存中,并且将存储在缓冲器/高速缓存中的数据传输到主机102。简而言之,在本发明的实施例中,将执行与从主机102接收的读取命令相对应的读取操作的情况作为示例并进行描述。
而且,在本发明的实施例中以下列情况作为示例并进行描述:当从主机102接收到针对存储器装置150中包括的存储块的多个擦除命令时,检测对应于擦除命令的存储块,并且擦除存储在检测到的存储块中的数据,并且对应于被擦除的数据更新映射数据,并且将更新的映射数据存储在存储器装置150中包括的存储块中。简而言之,在本发明的实施例中,将执行与从主机102接收的擦除命令相对应的擦除操作的情况作为示例并进行描述。
此处,在本发明的实施例中,由控制器130执行对存储器系统110的命令操作。然而,这不过是一个示例,并且如上所述,包括在控制器130中的处理器134,例如FTL,可执行命令操作。
而且,在本发明的该实施例中,控制器130可将与从主机102接收的写入命令相对应的用户数据和元数据编程并存储在存储器装置150中包括的存储块之中的一些存储块中,从存储器装置150中包括的存储块之中的、存储用户数据和元数据的存储块读取与从主机102接收的读取命令相对应的用户数据和元数据并且将读取的用户数据和元数据传输到主机102,或者从包括在存储器装置150中的存储块之中的、存储用户数据和元数据的存储块擦除与从主机102接收的擦除命令相对应的用户数据和元数据。
此处,元数据可包括第一映射数据和第二映射数据,其中第一映射数据包括针对通过编程操作而被存储在存储块中的数据的逻辑到物理(L2P)信息(以下称为逻辑信息),第二映射数据包括物理到逻辑(P2L)信息(以下称为物理信息)。而且,元数据可包括:关于与从主机102接收的命令相对应的命令数据的信息;关于与命令相对应的命令操作的信息;关于存储器装置150的、其中执行命令操作的存储块的信息;以及关于与命令操作相对应的映射数据的信息。换言之,元数据可包括除对应于从主机102接收的命令的用户数据以外的所有其它信息和数据。
根据本发明的实施例,控制器130可执行与从主机102接收的多个命令相对应的命令操作。例如,当控制器130从主机102接收写入命令时,控制器130可执行对应于写入命令的编程操作。此处,控制器130可将对应于写入命令的用户数据编程并存储在存储器装置150的存储块中,诸如其中执行了擦除操作的空存储块、开放存储块或空闲存储块。而且,控制器130可将存储块中存储的用户数据的逻辑地址和物理地址之间的映射信息(其为第一映射数据,包括具有逻辑信息的L2P映射表或L2P映射列表)和存储用户数据的存储块的物理地址和逻辑地址之间的映射信息(其为第二映射数据,包括具有物理信息的P2L映射表或P2L映射列表)编程并存储在存储器装置150中包括的存储块之中的空存储块、开放存储块或空闲存储块中。
当控制器130从主机102接收写入命令时,控制器130可将对应于写入命令的用户数据编程并存储在存储块中并且将元数据存储在存储块中,其中元数据包括针对存储块中存储的用户数据的第一映射数据和第二映射数据。特别地,因为用户数据的数据段被存储在存储器装置150的存储块中,所以控制器130可生成并更新元数据的元段并将它们存储在存储器装置150的存储块中,其中元数据的元段为包括第一映射数据的L2P段和第二映射数据的P2L段的映射数据的映射段。此处,存储在存储器装置150的存储块中的映射段可被加载到控制器130的存储器144上以被更新。
而且,当控制器130从主机102接收多个读取命令时,控制器130可从存储器装置150读出对应于读取命令的读取数据,将读取的数据存储在控制器130的存储器144中包括的缓冲器/高速缓存中,将存储在缓冲器/高速缓存中的数据传输到主机102。以这种方式,可执行对应于读取命令的读取操作。
而且,当控制器130从主机102接收多个擦除命令时,控制器130可检测存储器装置150的、对应于擦除命令的存储块,并对检测到的存储块执行擦除操作。
根据本发明的实施例,当控制器130一起执行与从主机102接收的多个命令相对应的命令操作和后台操作时,其中后台操作诸如用于复制操作的垃圾收集操作或读取回收操作、用于交换操作的损耗均衡操作、或映射清除操作,控制器130可将对应于后台操作的、包括元数据和用户数据的数据加载并存储在控制器130的存储器144中包括的缓冲器/高速缓存中并将它们存储在存储器装置150中。例如,当控制器130执行后台操作时,控制器130可在存储器装置150的存储块中检查与后台操作相对应的元数据和用户数据,将存储在存储器装置150的存储块之中的一些存储块中的元数据和用户数据加载并存储在控制器130的存储器144中包括的缓冲器/高速缓存中并将它们存储在存储器装置150的存储块之中的其它存储块中。在下文中,参照图5至图8详细描述根据本发明的实施例的对存储器系统执行的数据处理操作。
首先,参照图5,控制器130可执行与从主机102接收的多个命令相对应的命令操作。例如,控制器130可执行与从主机102接收的多个写入命令相对应的编程操作。此处,控制器130可将对应于写入命令的用户数据编程并存储在存储器装置150的存储块552、554、562、564、572、574、582和584中,并且当对存储块552、554、562、564、572、574、582和584执行编程操作时生成并更新针对用户数据的元数据,然后将生成和更新的元数据存储在存储器装置150的存储块552、554、562、564、572、574、582和584中。
此处,控制器130可生成和更新表示用户数据被存储在存储器装置150的存储块552、554、562、564、572、574、582和584中包括的页面中的信息,例如第一映射数据和第二映射数据,并且将生成和更新的信息存储在存储器装置150的存储块552、554、562、564、572、574、582和584中包括的页面中。换言之,控制器130可生成并更新包括L2P段的第一映射数据的逻辑段和包括P2L段的第二映射数据的物理段,并且将生成和更新的逻辑段存储在存储器装置150的存储块552、554、562、564、572、574、582和584中包括的页面中。
例如,控制器130可将与从主机102接收的写入命令相对应的用户数据高速缓存和缓冲在控制器130的存储器144中包括的第一缓冲器510中,换言之,控制器130可将用户数据的数据段512存储在作为数据缓冲器/高速缓存的第一缓冲器510中,并且将存储在第一缓冲器510中的数据段512存储在存储器装置150的存储块552、554、562、564、572、574、582和584中包括的页面中。因为与从主机102接收的写入命令相对应的用户数据的数据段512被编程并存储在存储器装置150的存储块552、554、562、564、572、574、582和584中包括的页面中,所以控制器130可生成并更新第一映射数据和第二映射数据并将它们存储在控制器130的存储器144中包括的第二缓冲器520中。简而言之,控制器130可将用户数据的第一映射数据的L2P段522和用户数据的第二映射数据的P2L段524存储在作为映射缓冲器/高速缓存的第二缓冲器520中。此处,如上所述,第一映射数据的L2P段522和第二映射数据的P2L段524或者第一映射数据的L2P段522的映射列表和第二映射数据的P2L段524的映射列表可被存储在控制器130的存储器144中的第二缓冲器520中。此外,控制器130可将存储在第二缓冲器520中的第一映射数据的L2P段522和第二映射数据的P2L段524存储在存储器装置150的存储块552、554、562、564、572、574、582和584中包括的页面中。
而且,控制器130可执行与从主机102接收的多个命令相对应的命令操作。例如,控制器130可执行与从主机102接收的多个读取命令相对应的读取操作。此处,控制器130可将与读取命令对应的用户数据的映射数据的映射段,例如第一映射数据的L2P段522和第二映射数据的P2L段524,加载到第二缓冲器520上并检验加载的映射数据的映射段,然后读取存储在存储器装置150的存储块552、554、562、564、572、574、582和584之中的相应存储块的页面中的用户数据,将读取的用户数据的数据段512存储在第一缓冲器510中并将它们传输到主机102。
而且,控制器130可执行与从主机102接收的多个命令相对应的命令操作。换言之,控制器130可执行与从主机102接收的多个擦除命令相对应的擦除操作。此处,控制器130可检查存储器装置150的存储块552、554、562、564、572、574、582和584之中的、对应于擦除命令的存储块,并且对检查到的存储块执行擦除操作。
当执行后台操作,例如从包括在存储器装置150中的存储块复制数据或交换数据的操作,诸如读取回收操作、垃圾收集操作或损耗均衡操作时,控制器130可将相应的用户数据的数据段512存储在第一缓冲器510中,将对应于用户数据的映射数据的映射段522和524加载到第二缓冲器520上,并且执行读取回收操作、垃圾收集操作或损耗均衡操作。此外,控制器130可执行后台操作。例如,当控制器130执行映射数据的映射更新操作和映射清除操作时,其中映射数据为用于存储器装置150的存储块的元数据,控制器130可将相应的映射段522和524加载到第二缓冲器中520并且执行映射更新操作和映射清除操作。
而且,参照图6,存储器装置150可包括多个存储器管芯,例如存储器管芯0 610、存储器管芯1 630、存储器管芯2 650和存储器管芯3670。存储器管芯610、630、650和670中的每一个可包括多个平面。例如,存储器管芯0 610可包括平面0 612、平面1 616、平面2 620和平面3 624。存储器管芯1 630可包括平面0 632、平面1 636、平面2 640和平面3 644。存储器管芯2 650可包括平面0 652、平面1 656、平面2660和平面3 664。存储器管芯3 670可包括平面0 672、平面1 676、平面2 680和平面3 684。存储器管芯610、630、650和670的平面612、616、620、624、632、636、640、644、652、656、660、664、672、676、680和684中的每一个可包括多个存储块614、618、622、626、634、638、642、646、654、658、662、666、674、678、682和686。例如,如前面参照图2所述,N个块,即块0、块1、……、块N-1包括多个页面,例如2M个页面。而且,存储器装置150可包括分别对应于存储器管芯610、630、650和670的多个缓冲器。例如,存储器装置150可包括对应于存储器管芯0 610的缓冲器0 628、对应于存储器管芯1630的缓冲器1 648、对应于存储器管芯2 650的缓冲器2 668以及对应于存储器管芯3 670的缓冲器3 688。
当执行与从主机102接收的多个命令相对应的命令操作时,对应于命令操作的数据可被存储在存储器装置150中包括的缓冲器628、648、668和688中。例如,当执行编程操作时,对应于编程操作的数据可被存储在缓冲器628、648、668和688中,然后被存储在存储器管芯610、630、650和670的存储块中包括的页面中。当执行读取操作时,可从包括在存储器管芯610、630、650和670的存储块中的页面读取对应于读取操作的数据并将其存储在缓冲器628、648、668和688中,并通过控制器130将其传输到主机102。
此处,在本发明的实施例中,将以下列情况作为示例并进行描述:包括在存储器装置150中的缓冲器628、648、668和688存在于相应存储器管芯610、630、650和670的外部。然而,包括在存储器装置150中的缓冲器628、648、668和688可存在于相应存储器管芯610、630、650和670的内部。而且,缓冲器628、648、668和688可对应于平面612、616、620、624、632、636、640、644、652、656、660、664、672、676、680和684,或者对应于存储器管芯610、630、650和670中的存储块614、618、622、626、634、638、642、646、654、658、662、666、674、678、682和686。在本发明的实施例中,如前面参照图3所述,将以下情况描述为示例:包括在存储器装置150中的缓冲器628、648、668和688是包括在存储器装置150中的多个页面缓冲器322、324和326。然而,包括在存储器装置150中的缓冲器628、648、668和688可以是包括在存储器装置150中的多个高速缓存或多个寄存器。
而且,包括在存储器装置150中的存储块可被分组成多个超级存储块,然后可对超级存储块执行命令操作。此处,超级存储块中的每一个可包括多个存储块,例如包括在第一存储块组和第二存储块组中的存储块。此处,当第一存储块组被包括在第一存储器管芯的第一平面中时,第二存储块组可被包括在第一存储器管芯的第一平面或第一存储器管芯的第二平面中。而且,第二存储块组可被包括在第二存储器管芯的平面中。在下文中,当对存储器装置150执行前台操作和后台操作时,将参照图7和图8通过举例来详细描述根据本发明的实施例的以下进程:调度与前台操作和后台操作相对应的队列,将被调度的队列分配至控制器130的存储器144,并且通过相应队列在存储器系统中执行前台操作和后台操作。
参照图7,当对包括在存储器装置150中的存储块执行前台操作和后台操作时,控制器130可检查前台操作和后台操作,特别地,检查前台操作和后台操作的优先级和权重,根据优先级和权重来调度与前台操作和后台操作相对应的队列,可将队列分配至控制器130的存储器144,并且可通过被分配至控制器130的存储器144的队列来执行前台操作和后台操作。
此处,当执行与从主机102接收的多个命令相对应的命令操作(例如,编程操作、读取操作或擦除操作)或后台操作(例如,诸如磨损均衡操作、读取回收操作、垃圾收集操作的交换操作或复制操作,或映射清除操作)时,控制器130可通过根据操作的优先级和权重来调度对应于操作的队列,将对应于操作的队列分配至控制器130的存储器144。
具体而言,控制器130可对包括在存储器装置150中的多个存储块(例如,存储块10750、存储块11 752、存储块12 754、存储块13 756、存储块14 758、存储块15 760、存储块16762、存储块17 764、存储块18 766、存储块19 768、存储块20 770、存储块21 772、存储块i-1 774、存储块i 776和存储块i+1 778)执行前台操作和后台操作。
此处,控制器130可调度与前台操作和后台操作相对应的队列,并将被调度的队列分配至控制器130的存储器144,以对存储块750、752、754、756、758、760、762、764、766、768、770、772、774、776和778执行前台操作和后台操作。
此处,当执行前台操作和后台操作时,控制器130可检查前台操作和后台操作的优先级和权重,然后根据前台操作和后台操作的优先级和权重来调度与前台操作和后台操作相对应的队列。此处,控制器130可检查与前台操作和后台操作相对应的队列,并且还检查前台操作和后台操作的优先级和权重,即检查与前台操作和后台操作相对应的队列的优先级和权重。
控制器130可针对与前台操作和后台操作相对应的队列的每一个索引705,将与前台操作和后台操作相对应的队列的优先级和权重记录在调度表700中。此处,调度表700可以是存储器装置150的元数据。因此,调度表700可被存储在包括在控制器130的存储器144中的第二缓冲器520中并且也被存储在存储器装置150中。
例如,当执行作为前台操作的命令操作时,如上所述,控制器130可检查对应于命令操作的队列的优先级和权重,根据优先级和权重来调度对应于命令操作的队列,将被调度的队列分配至控制器130的存储器144,并且通过被分配至控制器130的存储器144的队列来执行命令操作。此处,控制器130可将对应于命令操作的队列的优先级和权重记录在调度表700,从调度表700中检查对应于命令操作的队列的优先级和权重,并且调度对应于命令操作的队列。
例如,调度表700中的队列0可表示与命令操作之中的编程操作相对应的编程任务队列。调度表700中的队列1可表示与命令操作之中的读取操作相对应的读取任务队列。调度表700中的队列2可表示与命令操作之中的擦除操作相对应的擦除任务队列。
而且,如上所述,当执行后台操作时,控制器130可检查对应于后台操作的队列的优先级和权重,根据优先级和权重来调度对应于后台操作的队列,将被调度的队列分配至控制器130的存储器144,并且通过分配至控制器130的存储器144的队列来执行后台操作。此处,控制器130可将对应于后台操作的队列的优先级和权重记录在调度表700中,从调度表700中检查对应于后台操作的队列的优先级和权重,并且调度对应于后台操作的队列。
例如,调度表700中的队列3可表示与后台操作的映射更新操作和映射清除操作相对应的映射任务队列。调度表700中的队列4可表示与交换操作,即损耗均衡操作相对应的损耗均衡任务队列。调度表700中的队列5可表示与复制操作,即垃圾收集操作相对应的垃圾收集任务队列。调度表700中的队列6可表示与复制操作,即读取回收操作相对应的读取回收任务队列。
此处,映射任务队列也可表示与后台操作的映射数据相对应的队列。因此,映射任务队列可包括与损耗均衡操作的映射数据相对应的损耗均衡映射任务队列、与垃圾收集操作的映射数据相对应的垃圾收集映射任务队列以及与读取回收操作的映射数据相对应的读取回收映射任务队列。
而且,控制器130可判定对存储器装置150执行的前台操作和后台操作的优先级。特别地,根据前台操作和后台操作的重要性和可靠性或者根据与前台操作和后台操作相对应的数据的重要性和可靠性,控制器130可判定前台操作和后台操作的优先级。控制器130可基于前台操作和后台操作的优先级来判定与前台操作和后台操作相对应的队列的优先级710,并且针对队列的每一个索引705将优先级710记录在调度表700中。
此处,控制器130可判定对应于前台操作的队列(例如,编程任务队列、读取任务队列和擦除任务队列)和对应于后台操作的队列之中的映射任务队列的固定优先级。
此外,控制器可判定对应于后台操作的队列之中的耗损均衡任务队列、垃圾收集任务队列以及读取回收任务队列的动态优先级。
特别地,控制器130可以这种方式来判定优先级710:具有固定优先级的队列比具有动态优先级的任务队列具有更高的优先级。而且,控制器130可以这种方式来判定优先级710:在具有固定优先级的任务队列中,编程任务队列、读取任务队列和擦除任务队列比映射任务队列具有更高的优先级。
此外,当需要在其它后台操作(例如,损耗均衡操作或读取回收操作)之前对存储器装置150执行垃圾收集操作时,控制器130可以这样的方式来判定优先级710:垃圾收集任务队列具有更高的优先级。而且,当需要在其它后台操作(例如,垃圾收集操作或读取回收操作)之前对存储器装置150执行损耗均衡操作时,控制器130可以这样的方式来判定优先级710:损耗均衡任务队列具有更高的优先级。而且,当需要在其它后台操作(例如,垃圾收集操作或损耗均衡操作)之前对存储器装置150执行读取回收操作时,控制器130可以这样的方式来判定优先级710:读取回收任务队列具有更高的优先级。
此外,控制器130可判定对存储器装置150执行的前台操作和后台操作的权重。特别地,控制器130可根据所执行的前台操作和后台操作的频率数和操作率来判定前台操作和后台操作的权重。控制器130可基于前台操作和后台操作的权重来判定与前台操作和后台操作相对应的队列的基础权重715,并且针对队列中的每一个索引705将基础权重715记录在调度表700中。
此处,控制器130可判定对应于前台操作的队列(例如,编程任务队列、读取任务队列和擦除任务队列)和对应于后台操作的队列之中的映射任务队列为第一权重。
此外,控制器可判定对应于后台操作的队列之中的耗损均衡任务队列、垃圾收集任务队列以及读取回收任务队列为第二权重。
特别地,控制器130可以这样的方式来判定基础权重715:第一权重大于第二权重。
此外,每当对存储器装置150执行前台操作和后台操作时,控制器130可累计对与前台操作和后台操作相对应的队列设置的基础权重715。随着根据对存储器装置150执行的前台操作和后台操作而对基础权重715进行累计,控制器130可判定与前台操作和后台操作相对应的队列的累计权重730,并且针对队列中的每一个索引705,将累计权重730记录在调度表700中。
此外,当对存储器装置150执行前台操作和后台操作时,控制器130可根据与前台操作和后台操作相对应的数据的大小来判定前台操作和后台操作的权重。控制器130可基于根据与前台操作和后台操作相对应的数据的大小而判定的权重,来判定与前台操作和后台操作相对应的队列的动态权重720,并且针对队列的每一个索引705将动态权重720记录在调度表700中。
此处,控制器130可根据与前台操作和后台操作相对应的数据的大小,换言之,根据对应于编程操作的写入数据的大小、对应于读取操作的读取数据的大小、对应于擦除操作的擦除数据的大小,来判定编程任务队列、读取任务队列和擦除任务队列的动态权重720。
特别地,控制器130可对编程任务队列、读取任务队列和擦除任务队列的基础权重715或优先级710和写入数据的大小、读取数据的大小、擦除数据的大小进行计算,以针对队列的每一个索引705来判定动态权重720。
例如,控制器130可通过将编程任务队列的基础权重Bw0或优先级P0乘以写入数据的大小来判定编程任务队列的动态权重Dw0。此外,控制器130可通过将读取任务队列的基础权重Bw1或优先级P1乘以读取数据的大小来判定读取任务队列的动态权重Dw1。此外,控制器130可通过将擦除任务队列的基础权重Bw2或优先级P2乘以擦除数据的大小来判定擦除任务队列的动态权重Dw2。
此外,控制器130可根据对应于后台操作的数据的大小,换言之,根据与映射更新操作和映射清除操作相对应的映射数据的大小以及与后台操作(例如,损耗均衡操作、垃圾收集操作和读取回收操作)相对应的映射数据的大小、对应于损耗均衡操作的损耗均衡数据的大小、对应于垃圾收集操作的垃圾收集数据的大小以及对应于读取回收操作的读取回收数据的大小,来判定映射任务队列、损耗均衡任务队列、垃圾收集任务队列和读取回收任务队列的动态权重720。
特别地,控制器130可对映射任务队列、损耗均衡任务队列、垃圾收集任务队列和读取回收任务队列的基础权重715或优先级710,以及映射数据的大小、损耗均衡数据的大小、垃圾收集数据的大小及读取回收数据的大小执行计算,以针对队列的每一个索引705判定动态权重720。
此处,可基于在存储器装置150的存储块之中的被执行损耗均衡操作、垃圾收集操作和读取回收操作的存储块的数量、包括在这些存储块中的有效页面的数量以及存储在这些存储块中的有效数据的大小来判定损耗均衡数据的大小、垃圾收集数据的大小及读取回收数据的大小。此外,在存储器装置150的存储块之中,其中执行损耗均衡操作、垃圾收集操作和读取回收操作的存储块可成为根据针对存储器装置150的存储块的参数(例如,擦除计数、编程计数、有效页面计数(VPC)或读取计数)而选择的源存储块或牺牲存储块。
例如,控制器130可通过将映射任务队列的基础权重Bw3或优先级P3乘以映射数据的大小来判定映射任务队列的动态权重Dw3。而且,控制器130可通过将损耗均衡任务队列的基础权重Bw4或优先级P4乘以损耗均衡数据的大小来判定损耗均衡任务队列的动态权重Dw4。而且,控制器130可通过将垃圾收集任务队列的基础权重Bw5或优先级P5乘以垃圾收集数据的大小来判定垃圾收集任务队列的动态权重Dw5。而且,控制器130可通过将读取回收任务队列的基础权重Bw6或优先级P6乘以读取回收数据的大小来判定读取回收任务队列的动态权重Dw6。
简而言之,如上所述,控制器130可针对与对存储器装置150的存储块执行的前台操作和后台操作相对应的队列的每一个索引705判定优先级710和权重(即,基础权重715、动态权重720和累计权重730),并且将所判定的优先级710和权重记录在调度表700中。此外,根据记录在调度表700中的队列的优先级710和权重715、720和730,控制器130可调度与对存储器装置150的存储块执行的前台操作和后台操作相对应的队列并且将被调度的队列分配至控制器130的存储器144。
此处,控制器130可根据记录在调度表700中的队列的优先级710和权重715、720和730,从较高优先级或较高权重的队列开始顺序地调度队列并且将被调度的队列分配至控制器130的存储器144。特别地,当存储器144的容量小于与前台操作和后台操作相对应的队列的容量时,控制器130可从调度表700中记录的优先级710中的最高优先级的队列开始或从调度表700中记录的权重715、720和730之中的最大权重的队列开始顺序地调度队列,并将被调度的队列分配至控制器130的存储器144。
例如,当在记录在调度表700中的累计权重730等于或小于累计阈值时,如上所述,控制器130可根据基于对队列的优先级710或基础权重715以及数据大小的计算而判定的动态权重720,来从较高动态权重的队列开始顺序地调度队列。
此外,当记录在调度表700中的累计权重730超过累计阈值时,如上所述,控制器130可根据累计权重730和基于对队列的优先级710或基础权重715以及数据大小的计算而判定的动态权重720来调度队列。例如,控制器130可通过累计权重730来对动态权重720进行归一化,然后根据归一化动态权重来顺序地调度队列,换言之,从较大的归一化动态权重的队列开始顺序地调度队列。
此处,控制器130可通过利用累计权重Aw0对编程任务队列的动态权重Dw0进行归一化(例如,Dw0*Aw0/累计阈值),来计算编程任务队列的归一化动态权重。此外,控制器130可通过利用累计权重Aw1对读取任务队列的动态权重Dw1进行归一化例如,Dw1*Aw1/累计阈值),来计算读取任务队列的归一化动态权重。此外,控制器130可通过利用累计权重Aw2对擦除任务队列的动态权重Dw2进行归一化(例如,Dw2*Aw2/累计阈值),来计算擦除任务队列的归一化动态权重。此外,控制器130可通过利用累计权重Aw3对映射任务队列的动态权重Dw3进行归一化(例如,Dw3*Aw3/累计阈值),来计算映射任务队列的归一化动态权重。此外,控制器130可通过利用累计权重Aw4对损耗均衡任务队列的动态权重Dw4进行归一化(例如,Dw4*Aw4/累计阈值),来计算损耗均衡任务队列的归一化动态权重。而且,控制器130可通过利用累计权重Aw5对垃圾收集任务队列的动态权重Dw5进行归一化(例如,Dw5*Aw5/累计阈值),来计算垃圾收集任务队列的归一化动态权重。而且,控制器130可通过利用累计权重Aw6对读取回收任务队列的动态权重Dw6进行归一化(例如,Dw6*Aw6/累计阈值),来计算读取回收任务队列的归一化动态权重。
此外,控制器130可对记录在调度表700中的队列的优先级710和权重715、720和730进行初始化。简而言之,控制器130可对与前台操作和后台操作相对应的队列的优先级710和权重715、720和730进行初始化。特别地,当在存储器装置150的存储块中执行前台操作和后台操作的次数超过阈值时或者通过被分配至控制器130的存储器144的队列来执行前台操作和后台操作时,控制器130可对与前台操作和后台操作相对应的队列的优先级710和权重715、720和730进行初始化。
在下文中,参照图8详细描述根据本发明的实施例的根据记录在存储器系统中的调度表700中的优先级710和权重715、720和730,由控制器130在存储器装置150的存储块中执行前台操作和后台操作。
参照图8,当对存储器装置150的存储块750、752、754、756、758、760、762、764、766、768、770、772、774、776和778执行前台操作和后台操作时,控制器130可根据记录在调度表700中的队列的优先级710和权重715、720和730,通过调度模块805调度与前台操作和后台操作相对应的队列并且将被调度的队列分配至控制器130的存储器144。因此,用于与前台操作和后台操作相对应的队列的排队模块810、815、820、825、835、840和845可被分配至控制器130的存储器144。
此处,可通过包括在控制器130中的处理器134来实现调度模块805。换言之,调度模块805可通过处理器134,即FTL来调度队列。而且,当控制器130对存储器装置150的存储块750、752、754、756、758、760、762、764、766、768、770、772、774、776和778执行前台操作和后台操作时,排队模块810、815、820、825、835、840和845可以是存储器144中的、用于存储与前台操作和后台操作相对应的数据的区域。也就是说,排队模块810、815、820、825、835、840和845可以是包括在控制器130的存储器144中的缓冲器或高速缓存。而且,为便于描述,在本发明的该实施例中描述了7个与前台操作和后台操作相对应的排队模块810、815、820、825、835、840和845被分配至控制器130的存储器144。然而,可根据对存储器装置150的存储块的前台操作和后台操作的优先级和权重,针对每种类型的前台操作和后台操作在控制器130的存储器144中调度相应队列,然后多个排队模块可被分配为存储针对每种类型的前台操作和后台操作的数据。
为了对存储器装置150的存储块750、752、754、756、758、760、762、764、766、768、770、772、774、776和778执行编程操作,控制器130可根据记录在调度表700中的队列的优先级710和权重715、720和730来调度编程任务队列,然后将被调度的编程任务队列分配至控制器130的存储器144中的排队模块0 810。当对存储器装置150的存储块750、752、754、756、758、760、762、764、766、768、770、772、774、776和778执行编程操作时,对应于编程操作的数据可被存储在排队模块0 810中。
此外,为了对存储器装置150的存储块750、752、754、756、758、760、762、764、766、768、770、772、774、776和778执行读取操作,控制器130可根据记录在调度表700中的队列的优先级710和权重715、720和730来调度读取任务队列,然后将被调度的读取任务队列分配至控制器130的存储器144中的排队模块1 815。当对存储器装置150的存储块750、752、754、756、758、760、762、764、766、768、770、772、774、776和778执行读取操作时,对应于读取操作的数据可被存储在排队模块1 815中。
此外,为了对存储器装置150的存储块750、752、754、756、758、760、762、764、766、768、770、772、774、776和778执行擦除操作,控制器130可根据记录在调度表700中的队列的优先级710和权重715、720和730来调度擦除任务队列,然后将被调度的擦除任务队列分配至控制器130的存储器144中的排队模块2 820。当对存储器装置150的存储块750、752、754、756、758、760、762、764、766、768、770、772、774、776和778执行擦除操作时,对应于擦除操作的数据可被存储在排队模块2 820中。
此外,为了对存储器装置150的存储块750、752、754、756、758、760、762、764、766、768、770、772、774、776和778执行映射更新操作和映射清除操作,控制器130可根据记录在调度表700中的队列的优先级710和权重715、720和730来调度映射任务队列,然后将被调度的映射任务队列分配至控制器130的存储器144中的排队模块3 825。当对存储器装置150的存储块750、752、754、756、758、760、762、764、766、768、770、772、774、776和778执行映射更新操作和映射清除操作时,对应于映射更新操作和映射清除操作的数据可被存储在排队模块3 825中。
此外,为了对存储器装置150的存储块750、752、754、756、758、760、762、764、766、768、770、772、774、776和778执行损耗均衡操作,控制器130可根据记录在调度表700中的队列的优先级710和权重715、720和730来调度损耗均衡任务队列,然后将被调度的损耗均衡任务队列分配至控制器130的存储器144中的排队模块4 835。当对存储器装置150的存储块750、752、754、756、758、760、762、764、766、768、770、772、774、776和778执行损耗均衡操作时,对应于损耗均衡操作的数据可被存储在排队模块4 835中。
此外,为了对存储器装置150的存储块750、752、754、756、758、760、762、764、766、768、770、772、774、776和778执行垃圾收集操作,控制器130可根据记录在调度表700中的队列的优先级710和权重715、720和730来调度垃圾收集任务队列,然后将被调度的垃圾收集任务队列分配至控制器130的存储器144中的排队模块5 840。当对存储器装置150的存储块750、752、754、756、758、760、762、764、766、768、770、772、774、776和778执行垃圾收集操作时,对应于垃圾收集操作的数据可被存储在排队模块5 840中。
此外,为了对存储器装置150的存储块750、752、754、756、758、760、762、764、766、768、770、772、774、776和778执行读取回收操作,控制器130可根据记录在调度表700中的队列的优先级710和权重715、720和730来调度读取回收任务队列,然后将被调度的读取回收任务队列分配至控制器130的存储器144中的排队模块6 845。当对存储器装置150的存储块750、752、754、756、758、760、762、764、766、768、770、772、774、776和778执行读取回收操作时,对应于读取回收操作的数据可被存储在排队模块6 845中。
此外,控制器130可通过排队模块810、815、820、825、835、840和845来对存储器装置150的存储块750、752、754、756、758、760、762、764、766、768、770、772、774、776和778执行前台操作和后台操作。
在根据本发明的实施例的存储器系统中,当对包括在存储器装置150中的多个存储块执行前台操作和后台操作时,控制器130可判定与前台操作和后台操作相对应的队列的优先级和权重,然后根据所判定的优先级和权重来调度与前台操作和后台操作相对应的队列,并且将被调度的队列分配至控制器130的存储器144,并且通过被分配至控制器130的存储器144的队列来对包括在存储器装置150中的多个存储块执行前台操作和后台操作。以下参照图9详细描述根据本发明的实施例的在存储器系统中处理数据的操作。
图9是描述根据本发明的实施例的在存储器系统中处理数据的操作的流程图。
参照图9,在步骤S910中,存储器系统110可检查对存储器装置150的存储块执行的前台操作和后台操作。此处,存储器系统110可检查作为对存储器装置150的存储块执行的前台操作的、与从主机102接收到的多个命令相对应的命令操作,并且检查对其中执行了命令操作的存储块的后台操作。
在步骤S920中,存储器系统110可检查对存储器装置150的存储块执行的前台操作和后台操作的优先级和权重。
随后,在步骤S930中,存储器系统110可根据优先级和权重来调度与前台操作和后台操作相对应的队列,并且将与被调度的队列相对应的区域分配至控制器130的存储器144。
在步骤S940中,存储器系统110可通过被分配至控制器130的存储器144的区域,即通过与前台操作和后台操作相对应的队列来对存储器装置150的存储块执行前台操作和后台操作。
此处,当对存储器装置150的存储块执行前台操作和后台操作时,检查前台操作和后台操作的优先级和权重,并且可基于前台操作和后台操作的优先级和权重来判定与前台操作和后台操作相对应的队列的优先级和权重,并且还可根据优先级和权重来调度与前台操作和后台操作相对应的队列,然后将其分配至控制器130的存储器144。前文参照图5至图8详细描述了通过分配至控制器130的存储器144的队列而对存储器装置150的存储块执行的前台操作和后台操作,此处省略对其的进一步描述。在下文中,下面将参照图10至图18详细描述应用了包括通过参照图1至图9描述的根据本发明的实施例的存储器装置150和控制器130的存储器系统110的数据处理系统和电子装置。
图10是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的示图。图10示意性地示出应用了根据本实施例的存储器系统的存储卡系统。
参照图10,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可被连接至通过非易失性存储器实施的存储器装置6130,并被配置成访问存储器装置6130。例如,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机之间的接口并驱动固件以控制存储器装置6130。也就是说,存储器控制器6120可对应于参照图1描述的存储器系统110的控制器130,并且存储器装置6130可对应于参照图1描述的存储器系统110的存储器装置150。
因此,存储器控制器6120可包括RAM、处理单元、主机接口、存储器接口和错误校正单元。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1所述,存储器控制器6120可被配置成通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WIFI以及蓝牙。因此,根据本实施例的存储器系统和数据处理系统可应用于有线/无线电子装置,或者特别是移动电子装置。
存储器装置6130可由易失性存储器来实施。例如,存储器装置6130可被实施为诸如以下的各种非易失性存储器装置:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移力矩磁性RAM(STT-RAM)。
存储器控制器6120和存储器装置6130可被集成至单个半导体装置中。例如,存储器控制器6120和存储器装置6130可通过集成至单个半导体装置中构成固态驱动器(SSD)。并且,存储器控制器6120和存储器装置6130可构造诸如以下的存储卡:PC卡(PCMCIA:个人计算机存储卡国际协会)、标准闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、SD卡(例如,SD、迷你SD、微型SD和SDHC)以及通用闪存(UFS)。
图11是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的图。
参照图11,数据处理系统6200可包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图11所示的数据处理系统6200可作为如参照图1所描述的诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质。存储器装置6230可对应于图1所示的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于图1所示的存储器系统110中的控制器130。
存储器控制器6220可响应于主机6210的请求控制对存储器装置6230的读取操作、写入操作或擦除操作,并且存储器控制器6220可包括一个或多个CPU 6221、诸如RAM 6222的缓冲存储器、ECC电路6223、主机接口6224以及诸如NVM接口6225的存储器接口。
CPU 6221可控制对存储器装置6230的全部操作,例如读取操作、写入操作、文件系统管理操作和坏页面管理操作。RAM 6222可根据CPU 6221的控制来操作且用作工作存储器、缓冲存储器或高速缓冲存储器。当RAM 6222用作工作存储器时,通过CPU 6221处理的数据可被临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM6222可用于缓冲从主机6210传输到存储器装置6230的数据或从存储器装置6230传输到主机6210的数据。当RAM6222用作高速缓冲存储器时,RAM 6222可辅助低速存储器装置6230以高速运行。
ECC电路6223可对应于图1所示的控制器130的ECC单元138。如参照图1描述的,ECC电路6223可以生成用于校正从存储器装置6230提供的数据的失效位或错误位的ECC(错误校正码)。ECC电路6223可对提供给存储器装置6230的数据执行错误校正编码,从而形成具有奇偶校验位的数据。奇偶校验位可被存储在存储器装置6230中。ECC电路6223可对从存储器装置6230输出的数据执行错误校正解码。此时,ECC电路6223可使用奇偶校验位来校正错误。例如,如参照图1所述,ECC电路6223可使用LDPC码、BCH码、turbo码、里德-所罗门码、卷积码、RSC或诸如TCM或BCM的编码调制来校正错误。
存储器控制器6220可通过主机接口6224向主机6210传输数据/接收来自主机6210的数据,并通过NVM接口6225向存储器装置6230传输数据/接收来自存储器装置6230的数据。主机接口6224可通过PATA总线、SATA总线、SCSI、USB、PCIe或NAND接口连接至主机6210。存储器控制器6220可利用诸如WiFi或长期演进(LTE)的移动通信协议具有无线通信功能。存储器控制器6220可连接至外部装置,例如主机6210或另一个外部装置,然后向外部装置传输数据/接收来自外部装置的数据。特别地,由于存储器控制器6220被配置成通过各种通信协议中的一种或多种与外部装置通信,因此根据本实施例的存储器系统和数据处理系统可被应用于有线/无线电子装置或特别是移动电子装置。
图12是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的图。图12示意性地示出应用了根据本实施例的存储器系统的SSD。
参照图12,SSD 6300可包括控制器6320和包括多个非易失性存储器的存储器装置6340。控制器6320可对应于图1的存储器系统110中的控制器130,并且存储器装置6340可对应于图1的存储器系统中的存储器装置150。
更具体地,控制器6320可通过多个通道CH1至CHi连接至存储器装置6340。控制器6320可包括一个或多个处理器6321、缓冲存储器6325、ECC电路6322、主机接口6324以及诸如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可临时存储从主机6310提供的数据或从包括在存储器装置6340中的多个闪速存储器NVM提供的数据,或者临时存储多个闪速存储器NVM的元数据,例如,包括映射表的映射数据。缓冲存储器6325可通过诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器来实施。为便于描述,图8示出缓冲存储器6325存在于控制器6320内部。然而,缓冲存储器6325可存在于控制器6320的外部。
ECC电路6322可在编程操作期间计算待被编程到存储器装置6340的数据的ECC值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与诸如主机6310的外部装置的接口功能,并且非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口功能。
此外,可提供应用了图1的存储器系统110的多个SSD 6300来实施数据处理系统,例如,RAID(独立磁盘冗余阵列)系统。此时,RAID系统可包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的写入命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD6300,并将对应于写入命令的数据输出到选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的读取命令的RAID级别信息,在SSD6300中选择一个或多个存储器系统或SSD6300,并将从所选择的SSD 6300读取的数据提供给主机6310。
图13是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的示图。图13示意性地示出应用了根据本实施例的存储器系统的嵌入式多媒体卡(eMMC)。
参照图13,eMMC 6400可包括控制器6430和通过一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1的存储器系统110中的控制器130,并且存储器装置6440可对应于图1的存储器系统110中的存储器装置150。
更具体地,控制器6430可通过多个通道连接至存储器装置6440。控制器6430可包括一个或多个内核6432、主机接口6431和诸如NAND接口6433的存储器接口。
内核6432可控制eMMC 6400的全部操作,主机接口6431可提供控制器6430和主机6410之间的接口功能,并且NAND接口6433可提供存储器装置6440和控制器6430之间的接口功能。例如,主机接口6431可用作并行接口,例如参照图1所描述的MMC接口。此外,主机接口6431可作为串行接口,例如UHS((超高速)-I/UHS-II)接口。
图14至图17是示意性示出包括根据本实施例的存储器系统的数据处理系统的其它示例的示图。图14至图17示意性地示出应用了根据本实施例的存储器系统的UFS(通用闪速存储)系统。
参照图14至图17,UFS系统6500、6600、6700和6800可分别包括主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830。主机6510、6610、6710和6810可用作有线/无线电子装置或特别是移动电子装置的应用处理器,UFS装置6520、6620、6720和6820可用作嵌入式UFS装置,并且UFS卡6530、6630、6730和6830可用作外部嵌入式UFS装置或可移除UFS卡。
各个UFS系统6500、6600、6700和6800中的主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过UFS协议与诸如有线/无线电子装置或特别是移动电子装置的外部装置通信,并且UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过图1所示的存储器系统110来实施。例如,在UFS系统6500、6600、6700和6800中,UFS装置6520、6620、6720和6820可参照图11至图13描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730和6830可参照图10描述的存储卡系统6100的形式来实施。
此外,在UFS系统6500、6600、6700和6800中,主机6510、6610、6710和6810、UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过例如MIPI(移动工业处理器接口)中的MIPI M-PHY和MIPI UniPro(统一协议)的UFS接口彼此通信。此外,UFS装置6520、6620、6720和6820与UFS卡6530、6630、6730和6830可通过除UFS协议以外的各种协议,例如,UFD、MMC、SD、迷你SD和微型SD彼此通信。
在图14所示的UFS系统6500中,主机6510、UFS装置6520以及UFS卡6530中的每一个可包括UniPro。主机6510可执行交换操作,以便与UFS装置6520和UFS卡6530通信。特别地,主机6510可通过例如UniPro处的L3交换的链路层交换与UFS装置6520或UFS卡6530通信。此时,UFS装置6520和UFS卡6530可通过主机6510的UniPro处的链路层交换来彼此通信。在本实施例中,为便于描述,已经例示了其中一个UFS装置6520和一个UFS卡6530连接至主机6510的配置。然而,多个UFS装置和UFS卡可并联或以星型形式连接至主机6510,并且多个UFS卡可并联或以星型形式连接至UFS装置6520,或者串联或以链型形式连接至UFS装置6520。
在图15所示的UFS系统6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可包括UniPro,并且主机6610可通过执行交换操作的交换模块6640,例如,通过在UniPro处执行链路层交换例如L3交换的交换模块6640,与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可通过UniPro处的交换模块6640的链路层交换来彼此通信。在本实施例中,为便于描述,已经例示了其中一个UFS装置6620和一个UFS卡6630连接至交换模块6640的配置。然而,多个UFS装置和UFS卡可并联或以星型形式连接至交换模块6640,并且多个UFS卡可串联或以链型形式连接至UFS装置6620。
在图16所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可包括UniPro,并且主机6710可通过执行交换操作的交换模块6740,例如通过在UniPro处执行链路层交换例如L3交换的交换模块6740,与UFS装置6720或UFS卡6730通信。此时,UFS装置6720和UFS卡6730可通过UniPro处的交换模块6740的链路层交换来彼此通信,并且交换模块6740可在UFS装置6720内部或外部与UFS装置6720集成为一个模块。在本实施例中,为便于描述,已经例示了其中一个UFS装置6720和一个UFS卡6730连接至交换模块6740的配置。然而,每个都包括交换模块6740和UFS装置6720的多个模块可并联或以星型形式连接至主机6710,或者串联或以链型形式彼此连接。此外,多个UFS卡可并联或以星型形式连接至UFS装置6720。
在图17所示的UFS系统6800中,主机6810、UFS装置6820和UFS卡6830中的每一个可包括M-PHY和UniPro。UFS装置6820可执行交换操作,以便与主机6810和UFS卡6830通信。特别地,UFS装置6820可通过用于与主机6810通信的M-PHY和UniPro模块和用于与UFS卡6830通信的M-PHY和UniPro模块之间的交换操作,例如通过目标ID(标识符)交换操作,来与主机6810或UFS卡6830通信。此时,主机6810和UFS卡6830可通过UFS装置6820的M-PHY和UniPro模块之间的目标ID交换来彼此通信。在本实施例中,为便于描述,已经例示了其中一个UFS装置6820连接至主机6810且一个UFS卡6830连接至UFS装置6820的配置。然而,多个UFS装置可并联或以星型形式连接至主机6810,或串联或以链型形式连接至主机6810,并且多个UFS卡可并联或以星型形式连接至UFS装置6820,或串联或以链型形式连接至UFS装置6820。
图18是示意性地示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图18是示意性示出应用了根据本实施例的存储器系统的用户系统的示图。
参照图18,用户系统6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可驱动包括在用户系统6900中的诸如OS的部件,并且包括控制用户系统6900中包括的组件的控制器、接口和图形引擎。应用处理器6930可被设置成片上系统(SoC)。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性RAM或诸如PRAM、ReRAM、MRAM和FRAM的非易失性RAM。例如,应用处理器6930和存储器模块6920可基于POP(堆叠封装)被封装并安装。
网络模块6940可与外部装置通信。例如,网络模块6940不仅可支持有线通信,还可支持诸如以下的各种无线通信:码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(Wimax)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI-DI),从而与有线/无线电子装置或特别是移动电子装置通信。因此,根据本发明的实施例,存储器系统和数据处理系统可应用于有线和/或无线电子装置。网络模块6940可被包括在应用处理器6930中。
存储模块6950可存储数据,例如从应用处理器6930接收的数据,然后可将所存储的数据传输到应用处理器6930。存储模块6950可由诸如以下的非易失性半导体存储器装置实现:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪存、NOR闪存和3D NAND闪存,并且可被提供为诸如用户系统的存储卡或外部驱动器的可移除存储介质。存储模块6950可对应于参照图1描述的存储器系统110。此外,存储模块6950可被实施为如上参照图12至图17所述的SSD、eMMC和UFS。
用户接口6910可包括用于将数据或命令输入到应用处理器6930或用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、发光二极管(LED)、扬声器和马达的用户输出接口。
此外,当图1的存储器系统110被应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的全部操作,并且网络模块6940可用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示由处理器6930处理的数据,或支持从触摸面板接收数据的功能。
根据本发明的实施例,存储器系统和存储器系统的操作方法可以通过最小化存储器系统的复杂性和性能劣化并最大化存储器装置的利用效率来快速且稳定地处理存储器装置中的数据。
虽然已经针对具体实施例描述了本发明,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可进行各种改变和修改。

Claims (20)

1.一种存储器系统,其包括:
存储器装置,其包括多个存储块,所述多个存储块中的每一个包括用于存储数据的多个页面;以及
控制器,其包括第一存储器,
其中所述控制器对所述存储块执行前台操作和后台操作,检查所述前台操作和所述后台操作的优先级和权重,基于所述优先级和所述权重对与所述前台操作和所述后台操作相对应的队列进行调度,将与被调度的队列相对应的区域分配至所述第一存储器,并且通过被分配至所述第一存储器的所述区域来执行所述前台操作和所述后台操作。
2.根据权利要求1所述的存储器系统,其中基于所述前台操作和所述后台操作的重要性和可靠性以及与所述前台操作和所述后台操作相对应的数据的重要性和可靠性中的至少一个来判定所述优先级。
3.根据权利要求1所述的存储器系统,其中所述权重包括基础权重、动态权重和累计权重。
4.根据权利要求3所述的存储器系统,其中所述基础权重包括执行所述前台操作和所述后台操作的频率数和操作率。
5.根据权利要求3所述的存储器系统,其中所述控制器通过基于对与所述前台操作和所述后台操作相对应的数据的大小,和所述基础权重或所述优先级的计算来判定所述动态权重。
6.根据权利要求5所述的存储器系统,其中所述控制器基于所述存储块的参数来选择第一存储块,并且基于所述第一存储块的数量、包括在所述第一存储块中的有效页面的数量以及存储在所述第一存储块中的有效数据的大小之中的至少一个来判定所述动态权重。
7.根据权利要求3所述的存储器系统,其中所述控制器基于与所述前台操作和所述后台操作的执行相对应的所述基础权重的累计来判定所述累计权重,并且通过所述累计权重对所述动态权重进行归一化。
8.根据权利要求1所述的存储器系统,其中所述控制器以所述优先级和所述权重的降序来对与所述前台操作和所述后台操作相对应的队列进行调度。
9.根据权利要求1所述的存储器系统,其中所述控制器针对与所述前台操作和所述后台操作相对应的队列的每一个索引,将所述优先级和所述权重记录在表中,并且从所述表中检查所述优先级和所述权重。
10.根据权利要求1所述的存储器系统,
其中所述控制器确定与所述前台操作和所述后台操作相对应的队列之中的第一队列的固定优先级,并且确定与所述前台操作和所述后台操作相对应的队列之中的第二队列的动态优先级,并且
其中相比所述动态优先级,所述固定优先级具有更高的优先级。
11.一种存储器系统的操作方法,其包括:
对存储器装置执行前台操作和后台操作,其中所述存储器装置包括多个存储块,所述多个存储块中的每一个包括用于存储数据的多个页面;
检查所述前台操作和所述后台操作的优先级和权重;
基于所述优先级和所述权重,对与所述前台操作和所述后台操作相对应的队列进行调度;
将与被调度的队列相对应的区域分配至包括在所述存储器装置的控制器中的第一存储器;并且
通过被分配至所述第一存储器的所述区域来执行所述前台操作和所述后台操作。
12.根据权利要求11所述的方法,其中基于所述前台操作和所述后台操作的重要性和可靠性以及与所述前台操作和所述后台操作相对应的数据的重要性和可靠性中的至少一个来判定所述优先级。
13.根据权利要求11所述的方法,其中所述权重包括基础权重、动态权重和累计权重。
14.根据权利要求13所述的方法,其中所述基础权重包括执行所述前台操作和所述后台操作的频率数和操作率。
15.根据权利要求13所述的方法,其进一步包括:
通过对与所述前台操作和所述后台操作相对应的数据的大小和所述基础权重或所述优先级的计算,来判定所述动态权重。
16.根据权利要求15所述的方法,其中判定所述动态权重包括:
基于所述存储块的参数来选择第一存储块;以及
基于所述第一存储块的数量、包括在所述第一存储块中的有效页面的数量以及存储在所述第一存储块中的有效数据的大小之中的至少一个来判定所述动态权重。
17.根据权利要求13所述的方法,其进一步包括:
基于与所述前台操作和所述后台操作的执行相对应的所述基础权重的累计来判定所述累计权重;并且
通过所述累计权重对所述动态权重进行归一化。
18.根据权利要求11所述的方法,其中基于所述优先级和所述权重来对与所述前台操作和所述后台操作相对应的队列进行调度包括:以所述优先级和所述权重的降序来对与所述前台操作和所述后台操作相对应的队列进行调度。
19.根据权利要求11所述的方法,其中检查所述前台操作和所述后台操作的所述优先级和所述权重包括:
针对与所述前台操作和所述后台操作相对应的队列的每一个索引,将所述优先级和所述权重记录在表中,并且
从所述表中检查所述优先级和所述权重。
20.根据权利要求11所述的方法,
其进一步包括确定与所述前台操作和所述后台操作相对应的队列之中的第一队列的固定优先级,并且确定与所述前台操作和所述后台操作相对应的队列之中的第二队列的动态优先级,
其中相比所述动态优先级,所述固定优先级具有更高的优先级。
CN201810587013.1A 2017-09-04 2018-06-06 存储器系统及其操作方法 Active CN109426449B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170112711A KR20190026231A (ko) 2017-09-04 2017-09-04 메모리 시스템 및 메모리 시스템의 동작 방법
KR10-2017-0112711 2017-09-04

Publications (2)

Publication Number Publication Date
CN109426449A true CN109426449A (zh) 2019-03-05
CN109426449B CN109426449B (zh) 2021-12-14

Family

ID=65514513

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810587013.1A Active CN109426449B (zh) 2017-09-04 2018-06-06 存储器系统及其操作方法

Country Status (3)

Country Link
US (1) US10534705B2 (zh)
KR (1) KR20190026231A (zh)
CN (1) CN109426449B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111562888A (zh) * 2020-05-14 2020-08-21 上海兆芯集成电路有限公司 存储器自更新的调度方法
CN113282230A (zh) * 2020-02-04 2021-08-20 三星电子株式会社 支持多个主机的存储设备及其操作方法
CN113971091A (zh) * 2021-10-25 2022-01-25 重庆大学 一种考虑制程差异的持久内存的分配方法
CN114064588A (zh) * 2021-11-24 2022-02-18 建信金融科技有限责任公司 存储空间调度方法及系统
CN113971091B (zh) * 2021-10-25 2024-05-14 重庆大学 一种考虑制程差异的持久内存的分配方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102422032B1 (ko) * 2017-08-16 2022-07-19 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
CN110209493B (zh) * 2019-04-11 2023-08-01 腾讯科技(深圳)有限公司 内存管理方法、装置、电子设备及存储介质
KR20200142698A (ko) * 2019-06-13 2020-12-23 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
CN110580932B (zh) * 2019-08-29 2021-04-06 华中科技大学 一种应用于损耗均衡的存储单元质量度量方法
US11036415B2 (en) 2019-10-30 2021-06-15 International Business Machines Corporation Managing memory block calibration based on priority levels
US20210303340A1 (en) * 2020-03-24 2021-09-30 Micron Technology, Inc. Read counter for quality of service design
KR20210151372A (ko) * 2020-06-05 2021-12-14 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR20220165980A (ko) * 2021-06-09 2022-12-16 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작 방법

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1510579A (zh) * 2002-10-04 2004-07-07 前摄存储器管理的方法和机制
US20080294813A1 (en) * 2007-05-24 2008-11-27 Sergey Anatolievich Gorobets Managing Housekeeping Operations in Flash Memory
US20120137302A1 (en) * 2010-06-18 2012-05-31 Panasonic Corporation Priority information generating unit and information processing apparatus
CN103688248A (zh) * 2013-06-29 2014-03-26 华为技术有限公司 一种存储阵列的管理方法、装置和控制器
CN104951404A (zh) * 2014-03-26 2015-09-30 三星电子株式会社 操作存储器系统的非易失性存储器的方法
CN105320561A (zh) * 2015-11-09 2016-02-10 深圳市万普拉斯科技有限公司 任务管理方法和系统
US20160092272A1 (en) * 2014-09-30 2016-03-31 Nimble Storage, Inc. Congestion avoidance in network storage device using dynamic weights
US20160103630A1 (en) * 2014-10-09 2016-04-14 Sandisk Technologies Inc. Health indicator of a storage device
CN107015760A (zh) * 2016-01-14 2017-08-04 爱思开海力士有限公司 存储器系统和存储器系统的操作方法
US20170228172A1 (en) * 2016-02-05 2017-08-10 Phison Electronics Corp. Memory management method, memory control circuit unit and memory storage device

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9535614B2 (en) 2013-11-21 2017-01-03 Sandisk Technologies Llc Temperature based flash memory system maintenance
KR20160078611A (ko) 2014-12-24 2016-07-05 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
KR102301772B1 (ko) 2015-03-09 2021-09-16 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 가비지 컬렉션 방법
US10514984B2 (en) * 2016-02-26 2019-12-24 Netapp, Inc. Risk based rebuild of data objects in an erasure coded storage system
KR20180006164A (ko) * 2016-07-08 2018-01-17 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US20190102227A1 (en) * 2017-09-29 2019-04-04 Intel Corporation Thread scheduling using processing engine information
US20190042314A1 (en) * 2018-01-12 2019-02-07 Intel Corporation Resource allocation

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1510579A (zh) * 2002-10-04 2004-07-07 前摄存储器管理的方法和机制
US20080294813A1 (en) * 2007-05-24 2008-11-27 Sergey Anatolievich Gorobets Managing Housekeeping Operations in Flash Memory
US20120137302A1 (en) * 2010-06-18 2012-05-31 Panasonic Corporation Priority information generating unit and information processing apparatus
CN103688248A (zh) * 2013-06-29 2014-03-26 华为技术有限公司 一种存储阵列的管理方法、装置和控制器
CN104951404A (zh) * 2014-03-26 2015-09-30 三星电子株式会社 操作存储器系统的非易失性存储器的方法
US20160092272A1 (en) * 2014-09-30 2016-03-31 Nimble Storage, Inc. Congestion avoidance in network storage device using dynamic weights
US20160103630A1 (en) * 2014-10-09 2016-04-14 Sandisk Technologies Inc. Health indicator of a storage device
CN105320561A (zh) * 2015-11-09 2016-02-10 深圳市万普拉斯科技有限公司 任务管理方法和系统
CN107015760A (zh) * 2016-01-14 2017-08-04 爱思开海力士有限公司 存储器系统和存储器系统的操作方法
US20170228172A1 (en) * 2016-02-05 2017-08-10 Phison Electronics Corp. Memory management method, memory control circuit unit and memory storage device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YOON JAE SEONG 等: ""Hydra: A Block-Mapped Parallel Flash Memory Solid-State Disk Architecture"", 《IEEE TRANSACTIONS ON COMPUTERS》 *
王蓉晖: ""大规模闪存固态存储并行访问控制关键技术的研究与实现"", 《中国博士学位论文全文数据库(信息科技辑)》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282230A (zh) * 2020-02-04 2021-08-20 三星电子株式会社 支持多个主机的存储设备及其操作方法
US11861238B2 (en) 2020-02-04 2024-01-02 Samsung Electronics Co., Ltd. Storage device for supporting multiple hosts and operation method thereof
CN111562888A (zh) * 2020-05-14 2020-08-21 上海兆芯集成电路有限公司 存储器自更新的调度方法
CN113971091A (zh) * 2021-10-25 2022-01-25 重庆大学 一种考虑制程差异的持久内存的分配方法
CN113971091B (zh) * 2021-10-25 2024-05-14 重庆大学 一种考虑制程差异的持久内存的分配方法
CN114064588A (zh) * 2021-11-24 2022-02-18 建信金融科技有限责任公司 存储空间调度方法及系统
CN114064588B (zh) * 2021-11-24 2023-04-25 建信金融科技有限责任公司 存储空间调度方法及系统

Also Published As

Publication number Publication date
CN109426449B (zh) 2021-12-14
US10534705B2 (en) 2020-01-14
KR20190026231A (ko) 2019-03-13
US20190073295A1 (en) 2019-03-07

Similar Documents

Publication Publication Date Title
CN109426449A (zh) 存储器系统及其操作方法
CN108572927A (zh) 存储器系统及其操作方法
CN110244907A (zh) 存储器系统及该存储器系统的操作方法
CN109388594A (zh) 存储器系统及其操作方法
CN109656472A (zh) 存储器系统及其操作方法
CN108121665A (zh) 存储器系统及其操作方法
CN109284202A (zh) 控制器及其操作方法
CN107346213A (zh) 存储器系统及其操作方法
CN109947358A (zh) 存储器系统及其操作方法
CN110058797A (zh) 存储器系统及其操作方法
CN109656837A (zh) 存储器系统及其操作方法
CN110321069A (zh) 存储器系统及其操作方法
CN110473582A (zh) 存储器系统及其操作方法
CN110347330A (zh) 存储器系统及其操作方法
CN108108308A (zh) 存储器系统及其操作方法
CN108932203A (zh) 数据处理系统和数据处理方法
CN109390003A (zh) 存储器系统及其操作方法
CN109671459A (zh) 存储器系统及其操作方法
CN109032501A (zh) 存储器系统及其操作方法
CN109271328A (zh) 存储器系统及其操作方法
CN110531922A (zh) 存储器系统、控制器及其操作方法
CN109656749A (zh) 存储器系统及其操作方法
CN110322915A (zh) 存储器装置及其操作方法
CN110457230A (zh) 存储器系统及其操作方法
CN109656469A (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