CN111258920A - 存储器系统、存储器系统的操作方法和控制器 - Google Patents
存储器系统、存储器系统的操作方法和控制器 Download PDFInfo
- Publication number
- CN111258920A CN111258920A CN201911030807.9A CN201911030807A CN111258920A CN 111258920 A CN111258920 A CN 111258920A CN 201911030807 A CN201911030807 A CN 201911030807A CN 111258920 A CN111258920 A CN 111258920A
- Authority
- CN
- China
- Prior art keywords
- memory
- valid data
- controller
- blocks
- memory blocks
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本申请涉及一种存储器系统。该存储器系统包括:存储器装置,包括多个存储器块;以及控制器,适用于:基于多个存储块的各自有效页面计数来选择候选存储块,将所选择的候选存储块分组为牺牲存储块组,从存储器装置读取存储在牺牲存储块组中的有效数据,并且将有效数据存储在多个存储块之中的一个或多个目标存储块中。
Description
相关申请的交叉引用
本申请要求于2018年12月3日提交的申请号为10-2018-0153625的韩国专利申请的优先权,该韩国专利申请的公开内容通过引用全部并入本文。
技术领域
各个示例性实施例涉及一种存储器系统及其操作方法,且更特别地,涉及一种能够提高数据处理效率的存储器系统及其操作方法。
背景技术
计算机环境范例已经转变成能够随时随地使用计算系统的普适计算。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统来存储数据。存储器系统可用作便携式电子装置的主存储器装置或辅助存储器装置。
因为存储器系统不具有移动部件,所以其提供诸如以下的优点:优异的稳定性和耐用性、高信息访问速度和低功耗。具有这些优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
发明内容
本发明的各个实施例涉及一种能够有效地处理数据的存储器系统。
根据实施例,一种存储器系统,包括:存储器装置,包括多个存储器块;以及控制器,适用于:基于多个存储块的各个有效页面计数来选择候选存储块;将所选择的候选存储块分组为牺牲存储块组;从存储器装置读取存储在牺牲存储块组中的有效数据;以及将有效数据存储在多个存储块中的一个或多个目标存储块中。
根据实施例,一种存储器系统的操作方法,该存储器系统包括:存储器装置,包括多个存储块;以及控制器,适用于控制该存储器装置,该操作方法包括:基于多个存储块的各个有效页面计数来选择候选存储块;将所选择的候选存储块分组为牺牲存储块组;从存储器装置向控制器读取存储在牺牲存储块组中的有效数据;将所读取的有效数据存储在控制器中包括的存储器中;并且将存储在存储器中的有效数据存储在多个存储块中的一个或多个目标存储块中。
根据实施例,一种控制器包括:存储器,适用于存储数据以驱动控制器;以及处理器,适用于:选择多个候选存储块;将候选存储块分组为牺牲存储块组;读取存储在牺牲存储块组中的有效数据;将有效数据存储在存储器中;以及将存储在存储器中的有效数据存储在目标存储块中。
根据实施例,一种存储器系统包括:存储器装置,包括多个存储块;以及控制器,包括存储器,适用于:基于多个存储块的有效页面计数,在多个存储块中选择包括候选存储块的牺牲存储块组;读取存储器中的有效数据;对所存储的有效数据进行排序;以及将排序后的有效数据存储在多个存储块中的至少一个目标存储块中。
附图说明
图1是示出根据本发明的实施例的包括存储器系统的数据处理系统的框图。
图2是示出存储器系统中采用的存储器装置的示意图。
图3是示出存储器装置中的存储块的存储器单元阵列的电路图。
图4是示出存储器装置的示例性三维结构的框图。
图5A是示意性地示出根据实施例的存储器系统的操作的示图。
图5B是示出根据实施例的存储器系统的操作进程的流程图。
图6A至图6C是示意性地示出根据实施例的存储器系统的操作的示图。
图7是示出根据实施例的存储器系统的操作进程的流程图。
图8至图16是示意性地示出根据本发明的各个实施例的数据处理系统的应用示例的示图。
具体实施方式
在下文中,以下参照附图更详细地描述本发明的各个实施例。在下面的描述中,将仅描述理解根据本实施例的操作所必需的部件,并且将省略对其它部件的描述,以免模糊本实施例的构思和要点。
图1是示出根据本发明的实施例的数据处理系统100的框图。
参照图1,数据处理系统100可包括存储器系统110以及被可操作地联接至存储器系统110的主机102。
主机102可包括诸如移动电话、MP3播放器和膝上型计算机的各种便携式电子装置中的任意一种或诸如台式计算机、游戏机、电视(TV)和投影仪的各种非便携式电子装置中的任意一种。
主机102可包括至少一个操作系统(OS),其可管理和控制主机102的全部功能和操作,并且提供主机102和使用数据处理系统100或存储器系统110的用户之间的操作。OS可支持与用户的使用目的和用途相对应的功能和操作。例如,根据主机102的移动性,OS可被划分为通用OS和移动OS。根据用户的环境,通用OS可被分为个人OS和企业OS。
存储器系统110可响应于主机102的请求来操作,以存储用于主机102的数据。存储器系统110的非限制性示例包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用存储总线(USB)装置、通用闪存(UFS)装置、紧凑型闪存(CF)卡、智能媒体卡(SMC)、个人计算机存储卡国际协会(PCMCIA)卡和记忆棒。MMC可包括嵌入式MMC(eMMC)、尺寸减小的MMC(RS-MMC)和微型-MMC等。SD卡可包括迷你-SD卡和微型-SD卡。
存储器系统110可通过各种类型的存储装置来实施。这种存储装置的示例可以包括但不限于诸如动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置和诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM或ReRAM)和闪速存储器的非易失性存储器装置。
存储器系统110可包括控制器130和存储器装置150。
控制器130和存储器装置150可被集成到单个半导体装置中。例如,控制器130和存储器装置150可集成为一个半导体装置以构成固态驱动器(SSD)。当存储器系统110用作SSD时,可提高连接到存储器系统110的主机102的操作速度。另外,控制器130和存储器装置150可集成为一个半导体装置以构成存储卡。例如,控制器130和存储器装置150可构成诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)卡,标准闪存(CF)卡,智能媒体(SM)卡,记忆棒,包括尺寸减小的MMC(RS-MMC)和微型-MMC的多媒体卡(MMC),包括迷你-SD卡、微型-SD卡和SDHC卡的安全数字(SD)卡,或通用闪存(UFS)装置。存储器系统110的非限制性应用示例可以包括计算机、智能电话、便携式游戏机或构成计算系统的各种组件之一。
存储器装置150可以是非易失性存储器装置,并且即使不供应电力也可保留其中存储的数据。存储器装置150可通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供至主机102。存储器装置150可包括多个存储块152,多个存储块152中的每一个可包括多个页面,并且多个页面中的每一个可包括联接到字线的多个存储器单元。在实施例中,存储器装置150可以是闪速存储器。闪速存储器可具有三维(3D)堆叠结构。
因为稍后将参照图2至图4详细描述包括其3D堆叠结构的存储器装置150的结构,因此在此省略对这些元件和特征的进一步描述。
控制器130可响应于来自主机102的请求来控制存储器装置150。例如,控制器130可将从存储器装置150读取的数据提供给主机102,并将从主机102提供的数据存储至存储器装置150中。对于该操作,控制器130可控制存储器装置150的读取操作、编程操作和擦除操作。
控制器130可包括主机接口(I/F)132、处理器134、诸如NAND闪速控制器(NFC)的存储器I/F 142以及存储器144,其全部通过内部总线可操作地联接。
主机I/F 132可被配置成处理主机102的命令和数据,并可通过诸如以下的各种接口协议中的一种或多种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-e或PCIe)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。可以通过被称为主机接口层(HIL)的固件来驱动主机I/F 132,以便与主机102交换数据。
存储器I/F 142可用作用于将控制器130和存储器装置150接口连接的存储器/存储接口,使得控制器130响应于来自主机102的请求来控制存储器装置150。
存储器144可用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。
存储器144可以被实现为易失性存储器。例如,存储器144可以被实现为静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。存储器144可设置在控制器130内部或外部。图1例示了设置在控制器130内部的存储器144。在实施例中,存储器144可被实现为具有在存储器144和控制器130之间传输数据的存储器接口的外部易失性存储器。
如上所述,存储器144可以存储在主机和存储器装置150之间执行数据写入/读取操作所需的数据,以及在执行数据写入/读取操作时的数据。为了存储这样的数据,存储器144可以包括程序存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存、映射缓冲器/高速缓存等。
处理器134可以控制存储器系统110的全部操作。处理器134可以驱动固件以控制存储器系统110的全部操作。固件可以被称为闪存转换层(FTL)。而且,处理器134可以被实现为微处理器或中央处理单元(CPU)。
控制器130通过处理器134在存储器装置150中执行从主机102请求的操作。换言之,控制器130利用存储器装置150执行与从主机102接收的命令相对应的命令操作。控制器130还可以对存储器装置150执行后台操作。后台操作可以包括垃圾收集(GC)操作、损耗均衡(WL)操作、映射清除(flush)操作、坏块管理操作等。参照图5A和图5B,将详细描述垃圾收集操作。
尽管未示出,但是控制器130可进一步包括错误校正码(ECC)单元和电源管理单元(PMU)。
ECC单元可以校正在存储器装置150中处理的数据的错误位,并且包括ECC编码器和ECC解码器。
ECC编码器可以通过对待被被编程到存储器装置150中的数据执行错误校正编码来生成具有奇偶校验位的数据,并且可以将具有奇偶校验位的数据存储在存储器装置150中。当读取存储在存储器装置150中的数据时,ECC解码器检测并校正从存储器装置150读取的数据中包括的错误。
ECC单元可以使用低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhri-Hocquenghem,BCH)码、turbo码、Reed-Solomon码、卷积码、递归系统码(RSC)和诸如网格编码调制(TCM)和分组编码调制(BCM)的编码调制。然而,本实施例不限于此。ECC单元可以包括用于校正错误的所有电路、模块、系统或装置。
PMU可以提供和管理控制器130的电力,即控制器130中包括的组件的电力。
参照图2至图4详细描述根据本发明的实施例的存储器系统的存储器装置。
图2是示出存储器装置150的示意图。图3是示出存储器装置150中的存储块的存储器单元阵列的电路图。图4是示出存储器装置150的示例性3D结构的示意图。
参照图2,存储器装置150可包括多个存储块BLOCK0至BLOCKN-1,例如,BLOCK0(210)、BLOCK1(220)、BLOCK2(230)和BLOCKN-1(240)。存储块210、220、230和240中的每一个可包括多个页面,例如2M个页面,页面的数量可根据电路设计而变化。例如,在一些应用中,存储块中的每一个可包括M个页面。每个页面可以包括联接到字线WL的多个存储器单元。
存储器装置150可以包括多层单元(MLC)存储块、三层单元(TLC)存储块、四层单元(QLC)存储块和/或多层单元存储块。每个MLC存储块包括由在一个存储器单元中能够存储两位数据的存储器单元实现的多个页面。每个TLC存储块包括由在一个存储器单元中能够存储三位数据的存储器单元实现的多个页面。每个QLC存储块包括由在一个存储器单元中能够存储四位数据的存储器单元实现的多个页面。每个多层单元存储块包括由在一个存储器单元中能够存储五位或更多位数据的存储器单元实现的多个页面。
根据本发明的实施例,存储器装置150被描述为非易失性存储器,诸如闪速存储器,例如NAND闪速存储器。然而,存储器装置150可被实现为以下中的任何一种:相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM或ReRAM)、铁电随机存取存储器(FRAM)、自旋转移力矩磁性随机存取存储器(STT-RAM或STT-MRAM)。
存储块210至240可通过编程操作存储从主机102接收的数据,并且通过读取操作来将其中存储的数据传送到主机102。
参照图3,存储器系统110的存储器装置150可以包括存储块330。存储块330可以对应于存储器装置150中的多个存储块152中的任意一个。存储块330可包括联接到多个相应位线BL0至BLm-1的多个单元串340。每列单元串340可包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。在漏极和源极选择晶体管DST和SST之间,多个存储器单元或存储器单元晶体管MC0到MCn-1可以串联联接。在实施例中,存储器单元MC0至MCn-1中每一个可以由能够存储具有多个位的数据信息的MLC来实现。单元串340中的每一个可被电联接到多个位线BL0至BLm-1之中的相应位线。例如,如图3所示,第一单元串被联接到第一位线BL0,并且最后的单元串被联接到最后的位线BLm-1。作为参考,在图3中,“DSL”表示漏极选择线,“SSL”表示源极选择线,并且“CSL”表示共源线。
虽然图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可包括多个存储块BLOCK0至BLOCKN-1。
存储器装置150中的每个存储块330可包括在第二方向上延伸的多个NAND串NS以及在第一方向和第三方向上延伸的多个NAND串NS(未示出)。NAND串NS中的每一个可以联接到位线BL、至少一个漏极选择线DSL、至少一个源极选择线SSL、多个字线WL、至少一个虚设(dummy)字线DWL(未示出)和共源极线CSL,并且NAND串NS中的每一个可以包括多个晶体管结构。
简而言之,存储器装置150的每个存储块330可以联接到多个位线BL、多个漏极选择线DSL、多个源极选择线SSL、多个字线WL、多个虚设字线DWL和多个共源极线CSL。每个存储块330可以包括多个NAND串NS。在每一个存储块330中,一个位线BL可联接到多个NAND串NS,以在一个NAND串NS中实现多个晶体管。每个NAND串NS的漏极选择晶体管DST可以联接到相应位线BL,并且每个NAND串NS的源极选择晶体管SST可以联接到共源线CSL。可以在每个NAND串NS的漏极选择晶体管DST和源极选择晶体管SST之间提供存储器单元MC。换言之,多个存储器单元可被实现在存储器装置150的每个存储块330中。
图5A和图5B是示出根据实施例的存储器系统110的操作的示图。通过示例的方式,图5A和图5B示出执行控制器130对存储器装置150执行的后台操作之中的垃圾收集操作的进程。尽管下面代表性地描述垃圾收集操作,但这仅是示例,并且本实施例不限于此。
图5A是示意性地示出根据实施例的存储器系统110的操作的示图。
参照图5A,垃圾收集操作可以包括以下操作:在动态分配的存储区域之中搜索不再可用或不再需要的区域,并且通过擦除该区域中的数据来准备编程新数据。可以在没有主机102的请求的情况下在存储器系统110中执行垃圾收集操作。
控制器130可以在存储器装置150中的多个存储块之中选择可擦除数据的存储块(以下称为“牺牲存储块510”)。为了获得用于存储大量数据或执行垃圾收集(GC)操作或损耗均衡操作的空间,控制器130可以将存储在牺牲存储块510中的有效数据传送到目标存储块530。
具体地,控制器130可以选择存储器装置150中的牺牲存储块510。此时,控制器130可以在多个存储块之中优先选择具有最少有效页面数量的存储块作为牺牲存储块510。有效页面表示其中存储有效数据的页面。控制器130可以从牺牲存储块510读取有效数据,将所读取的有效数据存储在控制器130中设置的存储器144中,并且然后将牺牲数据编程到存储器装置150中的目标存储块530中。控制器130可以擦除存储在牺牲存储块510中的所有数据。控制器130可以将新数据存储在擦除所有数据的牺牲存储块510中。
图5B是示出根据实施例的存储器系统110的操作进程的流程图。
参照图5B,在步骤S501中,控制器130基于预定标准在存储器装置150中的多个存储块之中选择牺牲存储块。特别地,控制器130在多个存储块之中选择具有小于预定阈值的有效页面计数的存储块作为牺牲存储块。可以在控制器130中的处理器134的控制下执行选择牺牲存储块的操作。
在步骤S503中,控制器130可以加载存储器装置150的牺牲存储块中有效数据,并且将所加载的有效数据存储在控制器130的存储器144中。此时,可以在处理器134的控制下从存储器装置150读取牺牲存储块中的有效数据并将该有效数据存储在存储器144中。
在步骤S505中,控制器130可以将存储器144的有效数据存储在存储器装置150中的多个存储块之中的目标存储块中。具体地,处理器134可以控制存储器144和存储器装置150以将存储器144的有效数据存储在目标存储块中。目标存储块可以是存储器装置150中的多个存储块之中的空闲存储块。空闲存储块表示未存储数据的存储块。
在步骤S507中,控制器130可以擦除存储在牺牲存储块中的数据。具体地,处理器134可以控制存储器装置150擦除存储在牺牲存储块中的数据。此时,处理器134可以控制存储器装置150擦除存储在牺牲存储块中的无效数据以及有效数据。
如以上参照图5A和图5B所述,垃圾收集操作是用于有效地执行稍后待执行的例如读取操作和写入操作的主要操作的准备操作。因此,一种提高存储器系统110的性能的方法是有效地执行垃圾收集操作。
为了有效地执行垃圾收集操作,控制器130需要有效地执行将有效数据从牺牲存储器块510复制到目标存储块530的第一操作和擦除牺牲存储块510中存储的数据的第二操作。特别地,当控制器130在第一操作期间有效地执行选择存储有效数据的牺牲存储块510作为垃圾收集操作的目标的操作以及将有效数据存储在目标存储块530中的操作时,垃圾收集操作的效率可以提高。
在下文中,将描述根据实施例的存储器系统110选择牺牲存储块510并将有效数据存储在目标存储块530中的操作。
图6A至图6C是示意性示出根据实施例的存储器系统110的操作的示图。通过示例的方式,图6A至图6C示出存储器系统110执行后台操作的进程。在下文中,存储器系统110执行垃圾收集操作,并且第一阈值为“5”,且第二阈值为“3”。然而,其它阈值可以用于第一阈值和第二阈值。第一阈值和第二阈值可以由设计者设置。可以在处理器134的控制下执行以下将描述的控制器130的操作。
控制器130可以基于预定标准来检测存储器装置150中的多个存储块之中的候选存储块。具体地,控制器130可以基于与多个存储块之中的每个存储块相对应的有效页面数量(以下称为“有效页面计数,VPC”)来搜索候选存储块。
当在多个存储块之中存在其有效页面计数的值小于第一阈值的存储块时,控制器130可以选择该存储块作为候选存储块。此时,当候选存储块的数量小于第二阈值时,控制器130可以继续检测候选存储块。
参照图6A,控制器130可以检查第一至第六存储块610至660中的每一个的有效页面计数。例如,第一存储块610的有效页面计数是“1”,第二存储块620的有效页面计数为“11”,第三存储块630的有效页面计数为“55”,第四存储块640的有效页面计数为“16”,第五存储块650的有效页面计数为“21”,且第六存储块660的有效页面计数为“11”。由于第一存储块610的有效页面计数为“1”,因此控制器130可以选择其VPC的值小于第一阈值“5”的第一存储块610作为候选存储块。
此时,候选存储块仅为第一存储块610。换言之,候选存储块的数量小于第二阈值“3”。因此,控制器130可以不对第一存储块610执行垃圾收集操作,而是继续搜索候选存储块。
不同于图6A的实施例,当候选存储块的数量大于或等于第二阈值“3”时,控制器130可以对牺牲存储块组执行垃圾收集操作。牺牲存储块组可以包括由控制器130选择的多个候选存储块。换言之,控制器130可以读取存储在牺牲存储块组中的有效数据,并将该有效数据存储在存储器144中。具体地,处理器134可以控制存储器装置150读取存储在牺牲存储块组中的有效数据,并将从存储器装置150提供的有效数据存储在存储器144中。
参照图6B,第一存储块610的有效页面计数为“1”,第二存储块620的有效页面计数为“4”,第三存储块630的有效页面计数为“2”,第四存储块640为开放块,第五存储块650的有效页面计数为“21”,且第六存储块660的有效页面计数为“11”。控制器130可以选择VPC小于第一阈值“5”的第一至第三存储块610、620和630作为候选存储块。由于候选存储块的数量大于或等于第二阈值“3”,所以控制器130可以将第一至第三存储块610、620和630分组为牺牲存储块组670。进一步,控制器130可以读取存储在牺牲存储块组670中的有效数据,并将该有效数据存储在存储器144中。具体地,处理器134可以控制存储器装置150读取存储在第一至第三存储块610、620和630中的每一个中的有效数据,并且将有效数据从存储器装置150存储在存储器144中。
控制器130可以基于预定标准对存储在存储器144中的有效数据进行排序,然后将排序的有效数据存储在存储器装置150中的目标存储块中。例如,控制器130可以基于与存储器144中存储的每个有效数据相对应的逻辑地址来对有效数据的存储顺序进行排序,并且根据排序的顺序将有效数据存储在目标存储块中。进一步,控制器130可以擦除牺牲存储块组中的候选存储块中存储的数据。
参照图6C,控制器130可以基于预定标准对从第一至第三存储块610、620和630中的每一个读取的有效数据进行排序。例如,控制器130可以以逻辑地址的升序对待存储在存储器装置150中的数据进行排序。当对应于第三逻辑地址的A数据、对应于第一逻辑地址的B数据和对应于第二逻辑地址的C数据以上述顺序存储在存储器144中时,控制器130可以基于逻辑地址以B数据、C数据和A数据的顺序对待存储在存储器装置150中的数据进行排序。控制器130可以根据排序的顺序将数据存储在第四存储块640中。
控制器130可以擦除在牺牲存储块组670中的第一至第三存储块610、620和630中的每一个中存储的数据。随后,控制器130可以将新数据存储在已从其完全擦除数据的第一至第三存储块610、620和630中的每一个中。
图7是示出根据实施例的存储器系统110的操作进程的流程图。通过示例的方式,图7示出选择牺牲存储块组的进程。换言之,图5B所示的步骤S501可以包括图7所示的步骤S701至S705。
参照图7,在步骤S701中,控制器130可以基于预定标准来检测存储器装置150中的多个存储块之中的候选存储块。例如,控制器130可以将其VPC小于第一阈值(例如,5)的存储块检测为候选存储块。
在步骤S703中,控制器130可以确定所检测到的候选存储块的数量是否大于或等于第二阈值“N”,其中“N”可以是大于1的自然数,并且由设计者来设置。
当所检测到的候选存储块的数量小于第二阈值(即,在步骤S703中为“否”)时,控制器130可以继续检测候选存储块。
当所检测到的候选存储块的数量大于或等于第二阈值(即,在步骤S703中为“是”)时,在步骤S705中,控制器130可以将所检测到的候选存储块分组为单个牺牲存储块组。
随后,控制器130可以对分组的存储块执行图5B所示的步骤S503至S507的操作。
如上所述,根据本实施例的存储器系统110选择多个牺牲存储块作为牺牲存储块组,并且对牺牲存储块组一次执行后台操作,从而相对于通过仅选择一个牺牲存储块而执行的后台操作,更大程度地减少执行时间。此外,由于从多个牺牲存储块读取并存储在存储器144中的有效数据被重新排序,并然后被存储在存储器装置150中,所以稍后待执行的读取操作的性能也可以提高。因此,存储器系统110的整体操作性能可以提高。
图8至图16是示意性示出根据各个实施例的图1至图7的存储器系统的应用示例的示图。
图8是示意性地示出根据实施例的包括存储器系统的数据处理系统的示图。通过示例的方式,图8示出应用根据实施例的存储器系统的存储卡系统6100。
参照图8,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
存储器控制器6120可被连接至通过非易失性存储器(NVM)实施的存储器装置6130,并被配置成访问存储器装置6130。例如,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机(未示出)之间的接口连接并驱动用于控制存储器装置6130的固件。也就是说,存储器控制器6120可对应于参照图1描述的存储器系统110的控制器130,并且存储器装置6130可对应于参照图1描述的存储器系统110的存储器装置150。
如图1所示,存储器控制器6120可包括随机存取存储器(RAM)、处理器、主机接口、存储器接口和错误校正组件。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1所述,存储器控制器6120可被配置成通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、无线保真(Wi-Fi或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卡和SDHC卡)和通用闪存(UFS)。
图9是示意性地示出根据实施例的包括存储器系统的数据处理系统6200的另一示例的示图。
参照图9,数据处理系统6200可包括具有一个或多个非易失性存储器(NVM)的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。数据处理系统6200可用作诸如存储卡(CF卡、SD卡等)或USB装置的存储介质,如参照图1描述的。存储器装置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用作缓冲存储器时,RAM 6222可用于缓冲从主机6210传输到存储器装置6230或从存储器装置6230传输到主机6210的数据。当RAM 6222用作高速缓冲存储器时,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)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhri-Hocquenghem,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被配置成通过各种通信协议中的一种或多种与外部装置进行通信,因此根据实施例的存储器系统和数据处理系统可应用于有线和/或无线电子装置,特别是移动电子装置。
图10是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。通过示例的方式,图10示出可以应用存储器系统的固态驱动器(SSD)6300。
参照图10,SSD 6300可包括控制器6320和包括多个非易失性存储器(NVM)的存储器装置6340。控制器6320可对应于图1的存储器系统110中的控制器130,并且存储器装置6340可对应于图1的存储器系统中的存储器装置150。
控制器6320可通过多个通道CH1至CHi连接至存储器装置6340。控制器6320可包括一个或多个处理器6321、错误校正码(ECC)电路6322、主机接口6324、缓冲存储器6325和例如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可临时存储从主机6310提供的数据或从存储器装置6340中包括的多个非易失性存储器NVM提供的数据,或者临时存储多个非易失性存储器NVM的元数据,例如,包括映射表的映射数据。缓冲存储器6325可由诸如动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、低功率DDR(LPDDR)SDRAM和图形RAM(GRAM)的易失性存储器实现,或者由诸如铁电RAM(FRAM)、电阻式RAM(RRAM或ReRAM)、自旋转移力矩磁性RAM(STT-MRAM)和相变RAM(PRAM)的非易失性存储器来实现。为了方便起见,图10示出缓冲存储器6325存在于控制器6320中。然而,缓冲存储器6325可存在于控制器6320的外部。
ECC电路6322可在编程操作期间计算待被编程到存储器装置6340的数据的错误校正码(ECC)值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并在失败数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可以提供与例如主机6310的外部装置的接口功能。非易失性存储器接口6326可以提供与通过多个通道连接的存储器装置6340的接口功能。
此外,可提供应用了图1的存储器系统110的多个SSD 6300来实施数据处理系统,例如,独立磁盘冗余阵列(RAID)系统。RAID系统可包括多个SSD 6300和用于控制多个SSD6300的RAID控制器。当RAID控制器响应于从SSD 6300中的主机6310提供的写入命令执行编程操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的写入命令的RAID级别信息,选择一个或多个存储器系统或SSD 6300,并将对应于写入命令的数据输出到所选择的SSD 6300。此外,当RAID控制器响应于从SSD 6300中的主机6310提供的读取命令执行读取操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的读取命令的RAID级别信息,选择一个或多个存储器系统或SSD 6300,并将从所选择的SSD 6300读取的数据提供给主机6310。
图11是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。通过示例的方式,图11示出可以应用存储器系统的嵌入式多媒体卡(eMMC)6400。
参照图11,eMMC 6400可包括控制器6430和通过一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1的存储器系统110中的控制器130,并且存储器装置6440可对应于图1的存储器系统110中的存储器装置150。
控制器6430可通过多个通道连接至存储器装置6440。控制器6430可包括一个或多个内核6432、主机接口(I/F)6431和诸如NAND接口(I/F)6433的存储器接口。
内核6432可控制eMMC 6400的全部操作,主机接口6431可提供控制器6430和主机6410之间的接口功能,并且NAND接口6433可提供存储器装置6440和控制器6430之间的接口功能。例如,主机接口6431可用作例如参照图1所述的MMC接口的并行接口。此外,主机接口6431可用作例如超高速(UHS)-I和UHS-II接口的串行接口。
图12至图15是示意性地示出根据一个或多个实施例的包括存储器系统的数据处理系统的其它示例的示图。通过示例的方式,图12至图15示出可以应用存储器系统的通用闪存(UFS)系统。
参照图12至图15,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可以参照图9至图11描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730和6830可以参照图8描述的存储卡系统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协议以外的各种协议,例如通用串行总线(USB)闪存驱动器(UFD)、多媒体卡(MMC)、安全数字(SD)、迷你-SD和微型-SD彼此通信。
在图12所示的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。
在图13所示的UFS系统6600中,主机6610、UFS装置6620、UFS卡6630中的每一个可包括UniPro,并且主机6610可通过执行交换操作的交换模块6640,例如,通过在UniPro处执行例如L3交换的链路层交换的交换模块6640,与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可通过交换模块6640在UniPro处的链路层交换来彼此通信。在实施例中,为便于描述,已经例示一个UFS装置6620和一个UFS卡6630连接到交换模块6640的配置。然而,多个UFS装置和UFS卡可并联或以星型形式连接至交换模块6640,并且多个UFS卡可串联或以链型形式连接至UFS装置6620。
在图14所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可包括UniPro。主机6710可通过执行交换操作的交换模块6740,例如通过在UniPro处执行例如L3交换的链路层交换的交换模块6740,与UFS装置6720或UFS卡6730通信。UFS装置6720和UFS卡6730可通过交换模块6740在UniPro处的链路层交换来彼此通信,并且交换模块6740可在UFS装置6720内部或外部与UFS装置6720集成为一个模块。在本实施例中,为便于描述,已经例示一个UFS装置6720和一个UFS卡6730连接到交换模块6740的配置。然而,每个都包括交换模块6740、UFS装置6720的多个模块可并联或以星型形式连接至主机6710,或者串联或以链型形式彼此连接。此外,多个UFS卡可并联或以星型形式连接至UFS装置6720。
在图15所示的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。
图16是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。通过示例的方式,图16是示出可以应用存储器系统的用户系统6900的示图。
参照图16,用户系统6900可包括用户接口6910、存储器模块6920、应用处理器6930、网络模块6940和存储模块6950。
应用处理器6930可驱动包括在用户系统6900中的诸如操作系统(OS)的组件,并且包括控制包括在用户系统6900中的组件的控制器、接口和图形引擎。应用处理器6930可设置为片上系统(SoC)。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可包括诸如动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、DDR2 SDRAM、DDR3 SDRAM、LPDDR SDRAM、LPDDR2 SDRAM或LPDDR3 SDRAM的易失性随机存取存储器(RAM),或诸如相变RAM(PRAM)、电阻式RAM(ReRAM)、磁阻RAM(MRAM)或铁电RAM(FRAM)的非易失性RAM。例如,可基于堆叠封装(POP)来封装和安装应用处理器6930和存储器模块6920。
网络模块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闪存,并且可被设置为诸如存储卡可移除存储介质或用户系统6900的外部驱动器。存储模块6950可对应于参照图1所述的存储器系统110。此外,存储模块6950可被实施为如上参照图10至图15所述的SSD、eMMC和UFS。
用户接口6910可包括用于将数据或命令输入到应用处理器6930或用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、发光二极管(LED)、扬声器和监视器的用户输出接口。
此外,当图1的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的全部操作,并且网络模块6940可用作用于控制与外部装置的有线和/或无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示由应用处理器6930处理的数据或支持从触摸面板接收数据的功能。
根据本发明实施例的数据处理系统可以有效地执行后台操作。
虽然已经针对具体实施例描述了本发明,但是对于本领域技术人员将显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可进行各种改变和修改。
Claims (21)
1.一种存储器系统,包括:
存储器装置,包括多个存储块;以及
控制器:
基于所述多个存储块的各自有效页面计数来选择候选存储块;
将所选择的候选存储块分组为牺牲存储块组;
从所述存储器装置读取存储在所述牺牲存储块组中的有效数据;并且
将所述有效数据存储在所述多个存储块之中的一个或多个目标存储块中。
2.根据权利要求1所述的存储器系统,其中所述控制器包括:
存储器,存储从所述存储器装置读取的所述有效数据;以及
处理器,选择所述候选存储块,将所述所选择的候选存储块分组为所述牺牲存储块组,从所述存储器装置读取存储在所述牺牲存储块组中的所述有效数据,将所述有效数据存储在所述存储器中,并且将存储在所述存储器中的所述有效数据存储在所述存储器装置中的所述多个存储块之中的所述一个或多个目标存储块中。
3.根据权利要求2所述的存储器系统,其中所述处理器在所述多个存储块之中选择有效页面计数小于第一阈值的存储块作为所述候选存储块。
4.根据权利要求2所述的存储器系统,其中当所述所选择的候选存储块的数量大于或等于第二阈值时,所述处理器将所述所选择的候选存储块分组为所述牺牲存储块组,其中所述第二阈值是大于1的自然数。
5.根据权利要求2所述的存储器系统,其中所述处理器将所述有效数据存储在所述存储器中,并且擦除存储在所述牺牲存储块组中的数据。
6.根据权利要求2所述的存储器系统,其中所述处理器基于预定标准对存储在所述存储器中的所述有效数据进行排序。
7.根据权利要求6所述的存储器系统,其中所述处理器基于与每条所述有效数据相对应的逻辑地址来对所述有效数据进行排序。
8.根据权利要求7所述的存储器系统,其中所述处理器基于排序的顺序将所述有效数据存储在所述目标存储块中。
9.一种存储器系统的操作方法,所述存储器系统包括:存储器装置,包括多个存储块;以及控制器,控制所述存储器装置,所述操作方法包括:
基于所述多个存储块的各自有效页面计数来选择候选存储块;
将所选择的候选存储块分组为牺牲存储块组;
将存储在所述牺牲存储块组中的有效数据从所述存储器装置读取到所述控制器;
将所读取的有效数据存储在所述控制器中包括的存储器中;并且
将存储在所述存储器中的所述有效数据存储在所述多个存储块之中的一个或多个目标存储块中。
10.根据权利要求9所述的操作方法,其中选择所述候选存储块包括在所述多个存储块之中选择有效页面计数小于第一阈值的存储块作为所述候选存储块。
11.根据权利要求9所述的操作方法,其中将所述所选择的候选存储块分组为所述牺牲存储块组包括:当所述所选择的候选存储块的数量大于或等于第二阈值时,将所述所选择的候选存储块分组为所述牺牲存储块组,其中所述第二阈值是大于1的自然数。
12.根据权利要求9所述的操作方法,进一步包括擦除存储在所述牺牲存储块组中的数据。
13.根据权利要求9所述的操作方法,进一步包括基于预定标准对存储在所述存储器中的所述有效数据进行排序。
14.根据权利要求13所述的操作方法,其中对存储在所述存储器中的所述有效数据进行排序包括:基于与每条所述有效数据相对应的逻辑地址,对所述有效数据进行排序。
15.根据权利要求14所述的操作方法,其中存储所述存储器中的所述有效数据包括:基于排序的顺序,将所述有效数据存储在所述目标存储块中。
16.一种控制器,包括:
存储器,存储数据以驱动所述控制器;以及
处理器:
选择多个候选存储块,将所述候选存储块分组为牺牲存储块组;
读取存储在所述牺牲存储块组中的有效数据,将所述有效数据存储在所述存储器中;并且
将存储在所述存储器中的所述有效数据存储在目标存储块中。
17.根据权利要求16所述的控制器,其中所述处理器在多个存储块之中选择有效页面计数小于第一阈值的存储块作为所述候选存储块。
18.根据权利要求16所述的控制器,其中所述处理器将所述有效数据存储在所述存储器中,并且擦除存储在所述牺牲存储块组中的数据。
19.根据权利要求16所述的控制器,其中所述处理器基于与每个所述有效数据相对应的逻辑地址来对所述有效数据进行排序。
20.根据权利要求19所述的控制器,其中所述处理器基于排序的顺序将所述有效数据存储在所述目标存储块中。
21.一种存储器系统,包括:
存储器装置,包括多个存储块;以及
控制器,包括存储器,所述控制器:
基于所述多个存储块的有效页面计数,在所述多个存储块之中选择包括候选存储块的牺牲存储块组;
读取所述牺牲存储块组的有效数据;
将所读取的有效数据存储在所述存储器中;
对所存储的有效数据进行排序;以及
将排序的有效数据存储在所述多个存储块之中的至少一个目标存储块中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0153625 | 2018-12-03 | ||
KR1020180153625A KR20200066906A (ko) | 2018-12-03 | 2018-12-03 | 메모리 시스템, 그것의 동작방법 및 컨트롤러 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111258920A true CN111258920A (zh) | 2020-06-09 |
Family
ID=70849122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911030807.9A Withdrawn CN111258920A (zh) | 2018-12-03 | 2019-10-28 | 存储器系统、存储器系统的操作方法和控制器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20200174702A1 (zh) |
KR (1) | KR20200066906A (zh) |
CN (1) | CN111258920A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11494111B2 (en) * | 2020-12-17 | 2022-11-08 | Micron Technology, Inc. | Data operation based on valid memory unit count |
KR102569823B1 (ko) * | 2021-02-24 | 2023-08-24 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060184718A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US20120239851A1 (en) * | 2008-06-25 | 2012-09-20 | Stec, Inc. | Prioritized erasure of data blocks in a flash storage device |
US20150026391A1 (en) * | 2013-07-17 | 2015-01-22 | Lite-On It Corporation | Block grouping method for garbage collection of solid state drive |
-
2018
- 2018-12-03 KR KR1020180153625A patent/KR20200066906A/ko unknown
-
2019
- 2019-09-10 US US16/566,316 patent/US20200174702A1/en not_active Abandoned
- 2019-10-28 CN CN201911030807.9A patent/CN111258920A/zh not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060184718A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US20120239851A1 (en) * | 2008-06-25 | 2012-09-20 | Stec, Inc. | Prioritized erasure of data blocks in a flash storage device |
US20150026391A1 (en) * | 2013-07-17 | 2015-01-22 | Lite-On It Corporation | Block grouping method for garbage collection of solid state drive |
Also Published As
Publication number | Publication date |
---|---|
KR20200066906A (ko) | 2020-06-11 |
US20200174702A1 (en) | 2020-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109947358B (zh) | 存储器系统及其操作方法 | |
CN110858180B (zh) | 数据处理系统及其操作方法 | |
CN108268212B (zh) | 控制器及操作方法 | |
CN108932203B (zh) | 数据处理系统和数据处理方法 | |
CN110750207B (zh) | 存储器系统及其操作方法 | |
CN111309638B (zh) | 存储器系统及其操作方法 | |
CN109933468B (zh) | 存储器系统及其操作方法 | |
CN110781095A (zh) | 控制器及其操作方法 | |
US11016881B2 (en) | Memory system and operating method thereof | |
US10885992B2 (en) | Memory system and operating method thereof | |
CN110765029B (zh) | 控制器及用于操作该控制器的方法 | |
CN110910941B (zh) | 存储器系统及其操作方法 | |
US20200125488A1 (en) | Memory system and operating method thereof | |
CN110727397A (zh) | 存储器系统以及用于操作该存储器系统的方法 | |
CN110825316A (zh) | 控制器及该控制器的操作方法 | |
CN111078583A (zh) | 存储器系统及其操作方法 | |
CN110688060B (zh) | 存储器系统及该存储器系统的操作方法 | |
CN110716880B (zh) | 存储器系统及其操作方法 | |
CN110716881B (zh) | 存储器系统及其操作方法 | |
CN110045914B (zh) | 存储器系统及其操作方法 | |
CN109426448B (zh) | 存储器系统及其操作方法 | |
CN111241001B (zh) | 数据处理系统及其操作方法 | |
US10983864B2 (en) | Memory system and operating method thereof | |
CN111145818B (zh) | 存储器系统及其操作方法 | |
CN111258920A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200609 |