CN111241001A - 数据处理***及其操作方法 - Google Patents

数据处理***及其操作方法 Download PDF

Info

Publication number
CN111241001A
CN111241001A CN201910958343.1A CN201910958343A CN111241001A CN 111241001 A CN111241001 A CN 111241001A CN 201910958343 A CN201910958343 A CN 201910958343A CN 111241001 A CN111241001 A CN 111241001A
Authority
CN
China
Prior art keywords
memory
data
host
target data
target
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
CN201910958343.1A
Other languages
English (en)
Other versions
CN111241001B (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
SK Hynix 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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN111241001A publication Critical patent/CN111241001A/zh
Application granted granted Critical
Publication of CN111241001B publication Critical patent/CN111241001B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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/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
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • 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

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)
  • Memory System (AREA)

Abstract

本申请提供一种在数据处理***中执行后台操作的方法。该方法包括:从存储器装置中设置的多个存储块中选择牺牲存储块;并且当主机中的第一存储器的可用容量大于或等于所选择的牺牲存储块中存储的当前有效数据的大小时,将当前有效数据传送到第一存储器。

Description

数据处理***及其操作方法
相关申请的交叉引用
本申请要求于2018年11月29日提交的申请号为10-2018-0150798的 韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
示例性实施例涉及一种数据处理***及其操作方法,且更特别地, 涉及一种能够提高数据处理效率的数据处理***及其操作方法。
背景技术
计算机环境范例已经转变成使计算***可被随时随地使用的普适 计算。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子 装置的使用已经迅速增加。这些便携式电子装置各自使用具有一个或 多个存储器装置的存储器***来存储数据。存储器***可用作便携式 电子装置的主存储器***或辅助存储器***。
与硬盘装置相比,因为这种存储器***没有机械驱动部件,所以 它们提供优良的稳定性、耐用性、高信息访问速度以及低功耗。具有 这种优点的存储器***的示例包括通用串行总线(USB)存储器装置、 具有各种接口的存储卡、固态驱动器(SSD)等。
发明内容
各个实施例涉及一种能够使用主机的集成存储器来在后台操作中 有效地处理数据的数据处理***及该数据处理***的操作方法。
根据本发明的实施例,一种在数据处理***中执行后台操作的方 法,该方法包括:从存储器装置中设置的多个存储块中选择牺牲存储 块;并且当主机中的第一存储器的可用容量大于或等于所选择的牺牲 存储块中存储的当前有效数据的大小时,将当前有效数据传送到第一 存储器。
根据本发明的另一实施例,一种数据处理***包括:主机,包括 第一存储器;以及存储器***,包括存储器装置和控制器,其中,为 了执行后台操作,存储器***被配置成:从存储器装置中设置的多个 存储块中选择牺牲存储块;并且当主机中的第一存储器的可用容量大 于或等于所选择的牺牲存储块中存储的当前有效数据的大小时,将当 前有效数据传送到第一存储器。
根据本发明的另一实施例,一种存储器***包括:存储器装置, 包括牺牲存储块和至少一个目标存储块;以及控制器,联接到存储器 装置并且具有第一存储器,该控制器被配置成:将牺牲存储块中存储 的当前有效数据加载到第一存储器中,并且当主机的第二存储器的可 用容量大于或等于当前有效数据的大小时,将该当前有效数据传送到 主机。
根据本发明的另一实施例,一种数据处理***包括:主机,包括 集成存储器;以及存储器***,被配置成:当执行后台操作时,从多 个存储块中选择至少一个牺牲存储块,读取牺牲存储块中存储的牺牲 数据,将至少一个集成存储器的可用容量与牺牲数据的大小进行比较, 并且当集成存储器的可用容量大于或等于牺牲数据的大小时,将牺牲 数据提供到主机,其中主机将牺牲数据存储在集成存储器中,并且其 中牺牲数据是牺牲存储块中存储的有效数据。
根据本发明的另一实施例,一种操作数据处理***的方法,该数 据处理***包括主机和存储器***,其中主机包括集成存储器,存储 器***包括控制器和存储器装置,该方法包括:从存储器装置中包括 的多个存储块中选择牺牲存储块;将牺牲存储块中存储的牺牲数据从 存储器装置加载到控制器中包括的存储器中;将集成存储器的可用容 量与牺牲数据的大小进行比较;并且当集成存储器的可用容量大于或 等于牺牲数据的大小时,将牺牲数据存储在集成存储器中,其中牺牲 数据是牺牲存储块中存储的有效数据。
附图说明
图1是示出根据本公开的实施例的包括存储器***的数据处理系 统的框图。
图2是示出图1所示的存储器***中采用的存储器装置的示意图。
图3是示出图1所示的存储器装置中的存储块的存储器单元阵列的 电路图。
图4是示出根据本公开的实施例的存储器***的存储器装置的框 图。
图5是示出垃圾收集操作的概念图。
图6A是示出根据实施例的垃圾收集操作的概念图。
图6B是示出根据实施例的垃圾收集操作的流程图。
图7A是示出根据实施例的垃圾收集操作的概念图。
图7B是示出根据实施例的垃圾收集操作的概念图。
图7C是示出根据实施例的垃圾收集操作的流程图。
图8至图16是示意性示出根据本公开的各个实施例的图1所示的数 据处理***的示例性应用的示图。
具体实施方式
以下将参照附图更详细地描述本公开的示例性实施例。然而,本 发明可以不同的形式来实现,并且不应被解释为限于本文阐述的实施 例。相反的,提供这些实施例以便使本公开将是彻底且完整的,并且 将本发明的范围充分地传达给本领域的技术人员。在整个公开中,贯 穿本发明的各个附图和实施例,相同的附图标记始终表示相同的部 件。
注意的是,对“实施例”的参考不一定意味着仅针对一个实施例, 并且对“实施例”的不同参考不一定针对相同的实施例。
将理解的是,虽然可在本文中使用术语“第一”和/或“第二” 来描述各个元件,但是这些元件不应受这些术语的限制。这些术语仅 用于将一个元件与另一元件区分开。例如,在不脱离本公开的教导的 情况下,以下讨论的第一元件也可被称为第二元件。同样,第二元件 也可被称为第一元件。
将理解的是,当元件被称为“联接”或“连接”到另一元件时, 其可以直接联接或连接到另一元件,或者在其间可存在中间元件。相 反地,应理解的是,当元件被称为“直接联接”或“直接连接”到另 一元件时,不存在中间元件。应以相同的方式来解释元件之间关系的 其它表述,诸如“在……之间”、“直接在……之间”、“相邻于” 或“直接相邻于”。
本文使用的术语仅是为了描述特定实施例的目的,并不旨在限制。 在本公开中,除非上下文另有明确说明,否则单数形式也旨在包括复 数形式。将进一步理解的是,当在本说明书中使用时,术语“包括”、 “包含”、“具有”等指定存在所陈述的特征、数字、步骤、操作、 元件、组件和/或其组合,但并不排除存在或添加一个或多个其它特 征、数字、步骤、操作、元件、组件和/或其组合。
上述示例性实施例仅用于理解本公开的技术方案的目的,并且本 公开的范围不应限于上述示例性实施例。对于本公开所属领域的技术 人员显而易见的是,除了上述示例性实施例之外,还可基于本公开的 技术方案进行其它修改。
除非另有定义,否则本文使用的包括技术和科学术语的所有术语 具有与本公开所属领域的普通技术人员通常理解的相同的含义。除非 在本公开中另有定义,否则这些术语不应被解释为是理想化的或过于 形式化的。
在下文中,将参照附图详细描述本公开的各个实施例。
图1是示出根据本发明的实施例的包括存储器***110的数据处理 ***100的框图。
参照图1,数据处理***100可包括主机102和存储器***110。
主机102可包括诸如移动电话、MP3播放器、膝上型计算机等便 携式电子装置中的任意一种,或诸如台式计算机、游戏机、TV、投影 仪等非便携式电子装置中的任意一种。
主机102可包括至少一个操作***(OS)或多个操作***。主机 102可运行OS以对存储器***110执行对应于用户请求的操作。此处, 主机102可向存储器***110提供对应于用户请求的多个命令。因此, 存储器***110可执行对应于多个命令的多个操作,即执行对应于用 户请求的多个操作。OS可管理和控制主机102的全部功能和操作。OS 可支持主机102和使用数据处理***100或存储器***110的用户之间 的操作。
另外,主机102可包括集成存储器104,该集成存储器104能够存 储利用操作***或存储器***110执行操作所需的数据。例如,主机 102可将从存储器***110提供的数据存储在集成存储器104中。此外, 主机102可向存储器***110提供关于集成存储器104的可用容量的信 息。基于集成存储器104的可用容量,主机102可执行与存储器*** 110的数据通信。在实施例中,集成存储器104可以是设置在主机102 中的统一存储器(UM),包括主机102中的随机存取存储器(RAM) 的至少一部分。存储器***110可基于电子装置的诸如通用闪存(UFS) 的闪存规范来使用UM。
存储器***110可响应于来自主机102的请求操作或执行特定的功 能或操作,并且特别地,可存储待由主机102访问的数据。存储器系 统110可用作主机102的主存储器***或辅助存储器***。根据主机接 口的协议,存储器***110可利用可与主机102电联接的各种类型的存 储装置中的一种或多种来实施。存储器***110可包括固态驱动器 (SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)等。
各种类型的存储装置可包括诸如DRAM动态随机存取存储器(DRAM)、静态RAM(SRAM)等的易失性存储器装置和诸如只读 存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、 可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、 铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、 电阻式RAM(RRAM)、闪速存储器等的非易失性存储器装置。
存储器***110可包括存储器装置150和控制器130。
在实施例中,控制器130和存储器装置150可被集成到单个半导体 装置中,单个半导体装置可被包括在如上所述的存储器***中的任意 一种中。例如,控制器130和存储器装置150可被集成为单个半导体装 置,以构成SSD、MMC、eMMC、个人计算机存储卡国际协会(PCMCIA)卡、安全数字(SD)卡、迷你-SD卡、微型-SD卡、安全 数字高容量(SDHC)卡、通用闪存(UFS)装置等中的任意一种。存 储器***110可被配置成计算机、智能电话、便携式游戏机或配置计 算***的各种组件的一部分。
在存储器***110中,即使不向存储器装置150供应电力,存储器 装置150也可保留其中存储的数据。特别地,存储器装置150通过执行 编程或写入操作来存储从主机102接收的数据,并且通过执行读取操 作向主机102提供存储在其中的数据。
如图1所示,存储器装置150可包括多个存储块152。存储块152中 的每一个可包括多个页面,并且页面中的每一个可包括联接到多个字 线WL中的相应字线的多个存储器单元。因此,多个页面的数量可对 应于多个字线WL的数量。
在实施例中,存储器装置150可包括多个存储器管芯(未示出), 并且每个存储器管芯可包括多个平面(未示出)。在实施例中,存储 器装置150可以是具有三维(3D)堆叠结构的闪速存储器。
稍后将参照图2至图4描述存储器装置150的以上结构。
控制器130可响应于来自主机102的请求控制存储器装置150。例 如,控制器130可响应于读取请求而向主机102提供从存储器装置150 读取的数据,并且响应于写入请求而将来自主机102的数据存储到存 储器装置150中。对于这些操作,控制器130可控制存储器装置150的 读取操作、写入操作、编程操作和擦除操作。
更具体地,控制器130可包括主机接口(I/F)132、处理器134、存 储器接口(I/F)142和存储器144,其全部都经由内部总线可操作地彼 此联接或接合。
主机接口132可将控制器130物理连接和电连接到主机102。因此, 控制器130可通过主机接口132接收由主机102提供的命令和数据,并 且可通过主机接口132将来自存储器装置150的数据输出到主机102。 也就是说,控制器130可通过主机接口132与主机102通信。主机接口 132可使用诸如以下的各种接口协议中的一种或多种来与主机102通信: 通用串行总线(USB)、多媒体卡(MMC)、高速***组件互连(PCI-E)、 小型计算机***接口(SCSI)、串列SCSI(SAS)、串行高级技术附 件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)、 电子集成驱动器(IDE)等。主机接口132可由固件,即主机接口层 (HIL)来驱动以与主机102交换数据。
存储器接口142可用作控制器130与存储器装置150之间的存储器/ 存储接口,使得控制器130可响应于来自主机102的请求来控制存储器 装置150。
存储器144可用作存储器***110和控制器130的工作存储器,并 且存储用于驱动存储器***110和控制器130的数据。
存储器144可利用易失性存储器装置来实施。例如,存储器144可 包括静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。 存储器144可设置在控制器130的内部或外部。图1示出设置在控制器 130的内部的存储器144。在另一实施例中,存储器144可以是设置在 控制器130的外部并且具有在存储器144与控制器130之间传送数据的 存储器接口的外部易失性存储器装置。
存储器144可包括编程存储器、数据存储器、写入缓冲器/高速缓 存、读取缓冲器/高速缓存、数据缓冲器/高速缓存以及映射缓冲器/高 速缓存中的一个或多个,以便存储在主机102与存储器装置150之间执 行数据写入和读取操作所需的数据以及控制器130和存储器装置150执 行这些操作所需的其它数据。
处理器134可控制存储器***110的全部操作。处理器134可使用 固件以控制存储器***110的全部操作。固件可被称为闪存转换层 (FTL)。处理器134可利用微处理器或中央处理单元(CPU)来实施。
例如,控制器130可使用处理器134在存储器装置150中执行由主 机102请求的操作。而且,控制器130可使用处理器134对存储器装置 150执行后台操作。对存储器装置150执行的后台操作可包括垃圾收集 (GC)操作、损耗均衡(WL)操作、映射清除(flush)操作、坏块 管理操作等中的任意一种。参照图5,将详细描述存储器装置150的垃 圾收集操作。
尽管未在附图中示出,但控制器130可进一步包括错误校正码 (ECC)单元和电源管理单元(PMU)。
ECC单元可校正存储器装置150处理的数据的错误位,并且包括 ECC编码器和ECC解码器。
ECC编码器可通过对待被编程到存储器装置150的数据执行错误 校正编码来生成具有奇偶校验位的数据,并且具有奇偶校验位的数据 可存储在存储器装置150中。当存储器装置150中存储的数据被读取时, ECC解码器检测并校正从存储器装置150读取的数据中包括的错误。
ECC单元可使用诸如以下的编码调制来执行错误校正:低密度奇 偶校验(LDPC)码、博斯-查德胡里-霍昆格姆 (Bose-Chaudhuri-Hocquenghem,BCH)码、汉明(Hamming)码、turbo码、里德-所罗门码、卷积码、递归***码(RSC)、网格编码调 制(TCM)、分组编码调制(BCM)等。ECC单元可包括用于错误校 正的所有电路、模块、***或装置。
PMU可提供并管理控制器130的电力,即控制器130中包括的组件 的电力。
在下文中,参照图2至图4,将更详细地描述根据实施例的存储器 ***110中的存储器装置150。
图2是示出根据实施例的图1所示的存储器装置150的示意图。图3 是示出根据实施例的存储器装置150中的存储块330的存储器单元阵列 的电路图。图4是示出根据实施例的存储器装置150的示例性3D结构的 示意图。
参照图2,存储器装置150可包括多个存储块BLOCK0至 BLOCKN-1,其中N为大于1的整数。存储块BLOCK0至BLOCKN-1中 的每一个可包括多个页面,例如2M或M个页面,并且多个页面的数量 可根据电路设计而变化,M是大于1的整数。页面中的每一个可包括 联接到多个字线WL中的相应字线的多个存储器单元。
而且,存储块BLOCK0至BLOCKN-1中的存储器单元中的每一个 可以是存储1位数据的单层单元(SLC)或存储例如2位或更多位数据 的多位数据的多层单元(MLC)。因此,根据存储块BLOCK0至 BLOCKN-1中的存储器单元中的每一个中可存储的位的数量,存储器 装置150可包括SLC存储块或MLC存储块。SLC存储块可包括每个包 括存储器单元的多个页面,该每个存储器单元存储一位数据。SLC存 储块通常可比MLC存储块具有更高的数据计算性能和更高的耐用性。 MLC存储块可包括每个包括存储器单元的多个页面,该每个存储器单 元存储多位数据(例如,2位或更多位数据)。MLC存储块通常可比 SLC存储块具有更大的数据存储空间,即更高的集成密度。
在另一实施例中,存储器装置150可包括多个三层单元(TLC)存 储块。在又一实施例中,存储器装置150可包括多个四层单元(QLC) 存储块。TLC存储块可包括多个页面,该页面包括每个能够存储3位数 据的存储器单元。QLC存储块可包括多个页面,该页面包括每个能够 存储4位数据的存储器单元。
存储器装置150可由相变随机存取存储器(PCRAM)、电阻式随 机存取存储器(ReRAM)、铁电随机存取存储器(FRAM)、自旋转 移力矩磁性随机存取存储器(STT-MRAM)等中的一个或多个来实施。
存储器装置150中的存储块210、220、230和240可通过执行编程 操作而在其中存储从主机102传送的数据,并且可通过执行读取操作 将其中存储的数据传送到主机102。
接下来,参照图3,对应于图2所示的存储器装置150中的存储块 的存储块330可包括作为存储器单元阵列的多个单元串340,多个单元 串340分别联接到多个位线BL0至BLm-1,m是大于1的整数。
每列的单元串340可包括一个或多个漏极选择晶体管DST和一个 或多个源极选择晶体管SST。多个存储器单元MC0至MCn-1可串联联 接在漏极选择晶体管DST与源极选择晶体管SST之间。在实施例中, 存储器单元晶体管MC0至MCn-1中的每一个可以是能够存储多位数据 的MLC。多个存储器单元MC0至MCn-1可分别联接到多个字线WL0至 WLn-1,n是大于1的整数。
单元串340中的每一个可电联接到多个位线BL0至BLm-1之中的相 应位线。例如,如图3所示,多个单元串340之中的第一单元串联接到 多个位线BL0至BLm-1之中的第一位线BL0,并且多个单元串340之中 的最后单元串联接到多个位线BL0至BLm-1之中的最后位线BLm-1。
作为示例,图3示出包括NAND闪速存储器单元的存储块330。然 而,实施例不限于此。在另一实施例中,存储器装置150中的存储块 330可利用NOR型闪速存储器、其中混合两种或多种类型的存储器单 元的混合闪速存储器或者控制器嵌入在存储器芯片中的1-NAND闪速 存储器来实施。
图3所示的存储器装置150可进一步包括电压供应电路310。电压 供应电路310可根据操作模式而向多个字线WL0至WLn-1提供字线电 压(例如,编程电压、读取电压、通过电压等),并且向其中形成存 储器单元的体材料(例如,阱区)提供体电压。电压供应电路310可在 存储器装置150的控制电路(未示出)的控制下执行电压生成操作。此 外,电压供应电路310可生成多个可变读取电压,以便从存储块330读 取多个读取数据。
当响应于控制电路的控制信号而选择存储器装置150中的多个存 储块(或扇区)中的一个存储块,并且然后选择所选择存储块的多个 字线中的一个字线时,电压供应电路310可向所选择字线和未选择字 线提供字线电压。
存储器装置150可进一步包括由控制电路控制的读取/写入电路 320。在验证/正常读取操作期间,读取/写入电路320可用作用于从存 储块330读取(感测和放大)数据的读出放大器。在编程或写入操作期 间,读取/写入电路320可用作用于根据待被存储在存储块330中的写 入数据而将电压或电流供应到位线的写入驱动器。在编程或写入操作 期间,读取/写入电路320可从缓冲器(未示出)接收写入数据,并根 据所接收的写入数据来驱动位线。读取/写入电路320可包括分别对应 于列(或位线)或者列对(或位线对)的多个页面缓冲器322至326。 页面缓冲器322至326中的每一个可包括多个锁存器(未示出)。
存储器装置150可具有二维或三维结构。特别地,如图4所示,存 储器装置150可包括具有三维堆叠结构的非易失性存储器装置。图4所 示的存储器装置150可包括在第三方向上堆叠的多个存储块BLK0至 BLKN-1。存储块BLK0至BLKN-1中的每一个可包括在第一至第三方 向(例如,x轴方向、y轴方向和z轴方向)上延伸的结构,因而可被实 施为三维结构。
参照图3和图4,存储器装置150中包括的每个存储块330可包括多 个单元串340,每个单元串340在第二方向上延伸,并且多个单元串 340可布置在第一和第三方向上。在实施例中,多个单元串340中的每 一个可联接到多个位线BL0至BLm-1中的相应位线BL、至少一个串选 择线SSL、至少一个接地选择线GSL(未示出)、多个字线WL0至 WLn-1、至少一个虚设(dummy)字线DWL(未示出)和共源线CSL。 在实施例中,多个单元串340中的每一个可包括多个晶体管结构TS(未 示出)。然而,实施例不限于此。
在另一实施例中,每个存储块330可包括联接到一个位线BL的多 个NAND串NS,从而多个晶体管可在一个NAND串NS中实施。此外, 各个NAND串NS的串选择晶体管SST可联接到相应位线BL,并且各个 NAND串NS的接地选择晶体管GST可联接到共源线CSL。存储器单元MC可被设置在各个NAND串NS的串选择晶体管SST与接地选择晶体 管GST之间。也就是说,多个存储器单元可在存储器装置150的多个 存储块中的每个存储块330中实施。
图5是示出包括控制器501和存储器装置511的存储器***中的垃 圾收集(GC)操作的概念图。
控制器501可在存储器装置511中包括的多个存储块之中选择可擦 除数据的存储块513(在下文中,称为“牺牲存储块”)。为了确保用 于存储高容量数据的空间,或者执行垃圾收集操作或损耗均衡操作, 控制器501可将牺牲存储块513中存储的有效数据(在下文中,称为 “牺牲数据”)移动到目标存储块515中。
在上述操作中,图5涉及垃圾收集操作。垃圾收集操作可包括从 存储器装置511中动态分配的存储器区域中搜索在编程或写入操作中 不再可用或不需要被使用的不可用区域的第一操作、将搜索到的不可 用区域中的有效数据移动到在编程或写入操作中可用的可用或空闲区 域的第二操作以及删除搜索到的不可用区域中存储的所有数据的第三 操作。通过执行垃圾收集操作,不可用区域变为空闲区域。不可用区 域可对应于牺牲存储块513,并且可用或空闲区域可对应于目标存储 块515。
特别地,控制器501可通过第一操作来选择存储器装置511中的牺 牲存储块513。此时,控制器501可优先选择存储器装置511中的多个 存储块之中具有最小数量的有效数据的存储块作为牺牲存储块513。 在第二操作中,控制器501可从牺牲存储块513读取牺牲数据,将所读 取的牺牲数据存储在控制器501中的存储器503中,并且然后将牺牲数 据编程在存储器装置511的目标存储块515中。然后,在第三操作中, 控制器501可删除牺牲存储块513中存储的所有数据。从中已删除所有 数据的牺牲存储块513可被称为“空闲存储块”。控制器501可将新数 据存储在曾为牺牲存储块513的空闲存储块中。如上所述,空闲存储块可表示其中没有存储数据并且因此具有用于编程或写入操作的可用 空间的存储块。
为了有效地执行垃圾收集操作,控制器501应当有效地执行将牺 牲存储块513的有效数据存储在控制器501的存储器503中的第一子操 作和将存储器503中存储的有效数据存储在目标存储块515中的第二子 操作。特别地,在第一子操作中,如果可以一次从多个牺牲存储块读 取大量的有效数据并将所读取的有效数据存储在存储器503中,则可 提高垃圾收集操作的效率。
然而,因为存储器503具有有限的容量,所以在垃圾收集操作中, 控制器501只能在有限的容量内使用存储器503。
在下文中,将参照图6A至图7C描述能够使用主机的集成存储器 来解决上述缺点的数据处理***。除了控制器501中的存储器503之外, 还可以通过使用主机的集成存储器来增加垃圾收集操作中可使用的存 储器容量。
图6A是示出根据实施例的图1所示的数据处理***100的操作的 概念图。
首先,控制器130的处理器134可搜索存储器装置150中包括的多 个存储块,从而从多个存储块中选择至少一个牺牲存储块610。特别 地,处理器134可选择多个存储块之中具有最小数量的有效数据的存 储块作为牺牲存储块610。然后,处理器134可控制存储器装置150读 取牺牲存储块610中存储的有效数据(在下文中,称为“牺牲数据”)。 此外,处理器134可将所读取的牺牲数据存储在控制器130的存储器 144中。
此外,处理器134可将集成存储器104的可用容量与存储器144中 存储的牺牲数据的大小进行比较。基于比较结果,处理器134可确定 是否向主机102提供存储器144中存储的牺牲数据。例如,当集成存储 器104的可用容量大于或等于牺牲数据的大小时,处理器134可向主机 102提供存储器144中存储的牺牲数据。关于集成存储器104的可用容 量的信息可存储在存储器144中。
然后,主机102可将从控制器130提供的牺牲数据存储在集成存储 器104中。在牺牲数据存储在集成存储器104中之后,主机102可向控 制器130提供关于集成存储器104的可用容量的更新信息。基于从主机 102提供的关于集成存储器104的可用容量的更新信息,处理器134可 更新存储器144中存储的关于集成存储器104的可用容量的信息。
图6B是示出根据实施例的图1所示的数据处理***100的操作的流 程图。特别地,图6B示出参照图6A描述的数据处理***100的操作。
在步骤S601中,处理器134可从存储器装置150中包括的多个存储 块中选择至少一个牺牲存储块。基于多个存储块中的每一个中存储的 有效数据的数量,处理器134可选择牺牲存储块。
在步骤S603中,处理器134可将牺牲存储块中存储的有效数据, 即牺牲数据,加载到存储器144。具体地,处理器134可控制存储器装 置150读取所选择牺牲存储块中存储的牺牲数据。然后,处理器134可 将所读取的牺牲数据存储在存储器144中。
在步骤S605中,处理器134可将集成存储器104的可用容量与存储 器144中存储的牺牲数据的大小进行比较,以便确定是否向主机102提 供存储器144中存储的牺牲数据。
当集成存储器104的可用容量大于或等于牺牲数据的大小(步骤 S605中为“是”)时,在步骤S607中,处理器134可在处理器134的控 制下将牺牲数据提供到主机102。然后,主机102可将牺牲数据存储在 集成存储器104中。在将存储器144中存储的牺牲数据提供到主机102 之后,从存储器144删除牺牲数据。
然而,当集成存储器104的可用容量小于牺牲数据的大小(步骤 S605中为“否”)时,执行将在图7C中描述的步骤S701、S703和S705 的操作,并且然后可执行步骤S607的操作。
图7A是示出根据实施例的数据处理***100的操作的概念图。特 别地,图7A示出当在图6B的步骤S605中确定集成存储器104的可用容 量小于存储器144中存储的牺牲数据的大小时执行的数据处理***100 的操作。
如上参照图6A和图6B所述,处理器134可将集成存储器104的可 用容量与存储器144中存储的牺牲数据的大小进行比较。当集成存储 器104的可用容量小于存储器144中存储的牺牲数据的大小时,控制器 130可读出集成存储器104中存储的数据(在下文中,称为“目标数 据”)。当存储器144中存储的牺牲数据是当前牺牲数据时,目标数据 可对应于在从存储器装置150读取当前牺牲数据之前已从先前搜索到 的牺牲存储块读取并存储在集成存储器104中的先前牺牲数据。
在控制器130读出目标数据之后,不论控制器130和存储器装置 150将执行何种类的操作,主机102可删除集成存储器104中存储的目标 数据。尽管未在图中示出,但在主机102删除集成存储器104中存储的 目标数据之后,处理器134可向主机102提供存储器144中存储的当前 牺牲数据。然后,在向主机102提供当前牺牲数据时,主机102可将所 提供的当前牺牲数据存储在集成存储器104中。此后,主机102可向控 制器130提供关于集成存储器104的可用容量的更新信息,使得处理器 134可更新存储器144中存储的关于集成存储器104的可用容量的信 息。
控制器130可在处理器134的控制下将从主机102读出的目标数据 存储在存储器144中。然后,处理器134可根据预定标准对存储器144 中存储的目标数据进行排列或分类。
根据实施例,处理器134可基于对应于目标数据的逻辑地址来对 目标数据进行排列。例如,处理器134可以对应于目标数据的逻辑地 址的顺序来对目标数据进行排列。
根据另一实施例,处理器134可根据目标数据是热数据还是冷数 据来对目标数据进行分类。例如,处理器134可基于在读取操作中对 与目标数据对应的逻辑地址的每单位时间的访问数量,将目标数据分 类为热数据或冷数据。当对与第一目标数据对应的逻辑地址的每单位 时间的访问数量大于或等于预定阈值时,处理器134可将第一目标数 据分类为热数据。另一方面,当对与第二目标数据对应的逻辑地址的 每单位时间的访问数量小于预定阈值时,处理器134可将第二目标数 据分类为冷数据。然而,这仅仅是示例,且实施例不限于此。
在完成对目标数据的排列或分类之后,处理器134可控制存储器 装置150将目标数据存储在至少一个目标存储块710中。目标存储块 710可以是存储器装置150中包括的多个存储块之中的空闲存储块。
例如,处理器134可根据存储器144中排列的目标数据的顺序来将 目标数据存储在目标存储块710中。
在另一实施例中,处理器134可将已被分类为热数据的第一目标 数据存储在第一目标存储块中。另一方面,处理器134可将已被分类 为冷数据的第二目标数据存储在第二目标存储块中。也就是说,被分 类为热数据和冷数据的目标数据可存储在不同的目标存储块中。
通过对目标数据进行排列并将所排列的目标数据存储在至少一个 目标存储块中,可以提高存储器装置150中的数据管理效率。图7B是 示出根据实施例的图1所示的数据处理***100的操作的概念图。特别 地,图7B示出基于相应逻辑地址排列的目标数据的移动路径。此时, 假设集成存储器104的可用容量小于存储器144中存储的当前牺牲数据 的大小。
参照图7B,集成存储器104存储对应于第四逻辑地址LBA 4的目 标数据A、对应于第一逻辑地址LBA 1的目标数据B、对应于第三逻辑 地址LBA 3的目标数据C和对应于第二逻辑地址LBA 2的目标数据D。 当集成存储器104的可用容量小于存储器144中存储的当前牺牲数据的 大小时,主机102可向控制器130提供先前牺牲数据,即目标数据A、 目标数据B、目标数据C和目标数据D。另外,在所有那些目标数据都 被提供到控制器130之后,不论控制器130和存储器装置150将执行何 种类的操作,主机102可删除目标数据A、目标数据B、目标数据C和目 标数据D。
控制器130可在处理器134的控制下将从主机102提供的目标数据 A、目标数据B、目标数据C和目标数据D存储在存储器144中。然后, 处理器134可根据对应于目标数据A、目标数据B、目标数据C和目标 数据D的逻辑地址的顺序来对目标数据A、目标数据B、目标数据C和 目标数据D进行排列。
例如,处理器134可根据第一逻辑地址LBA 1到第四逻辑地址LBA 4的顺序来对目标数据A、目标数据B、目标数据C和目标数据D进行 排列。具体地,处理器134可以按照对应于第一逻辑地址LBA 1的目标 数据B、对应于第二逻辑地址LBA 2的目标数据D、对应于第三逻辑地 址LBA 3的目标数据C和对应于第四逻辑地址LBA 4的目标数据A的顺 序来对目标数据A、目标数据B、目标数据C和目标数据D进行排列。
在完成排列之后,处理器134可控制存储器装置150将存储器144 中存储的目标数据A、目标数据B、目标数据C和目标数据D顺序地存 储在至少一个目标存储块710中。
图7C是示出根据实施例的数据处理***100的操作的流程图。特 别地,图7C所示的步骤S701、S703和S705指示待在图6B所示的步骤 S605之后执行的操作。
在步骤S701中,主机102可向控制器130提供集成存储器104中存 储的作为目标数据的先前牺牲数据。然后,控制器130可在处理器134 的控制下将从主机102提供的目标数据存储在存储器144中。
在步骤S703中,处理器134可根据预定标准对存储器144中存储的 目标数据进行排列或分类。例如,处理器134可基于对应于目标数据 的逻辑地址对目标数据进行排列。在另一示例中,处理器134可根据 目标数据是热数据还是冷数据来对目标数据进行分类。
在步骤S705中,处理器134可将所排列或分类的目标数据存储在 存储器装置150的目标存储块中。
在实施例中,可在处理器134向主机102提供存储器144中存储的 当前牺牲数据之后执行步骤S703和S705。在另一实施例中,处理器 134可在执行步骤S703和S705之后向主机102提供存储器144中存储的 当前牺牲数据。然而,实施例不限于此。
如上所述,将牺牲存储块610中存储的有效数据存储在集成存储 器104中,而不是存储器144中,从而可减少在后台操作中对存储器 144的使用。因为在后台操作期间存储器144被使用的容量减少,所以 存储器***110可使用存储器144来执行其它操作。因此,可提高存储 器***110的整体操作性能。
在下文中,参照图8至图16,将提供根据本公开的实施例的采用 存储器***110的数据处理***和电子装置的更详细的描述,存储器系 统110包括以上参照图1至图5、图6A、图6B和图7A至图7C所描述的存 储器装置150和控制器130。
图8是示意性地示出根据实施例的包括图1所示的存储器***的数 据处理***的另一示例的示图。图8示意性地示出可应用图1所示的存 储器***的存储卡***6100。
参照图8,存储卡***6100可包括存储器控制器6120、存储器装 置6130和连接器6110。
更具体地,存储器控制器6120可电连接到存储器装置6130并被配 置成对该存储器装置6130进行访问。例如,存储器控制器6120可被配 置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操 作。存储器控制器6120可被配置成提供存储器装置6130和主机之间的 接口连接,并且使用用于控制存储器装置6130的固件。也就是说,存 储器控制器6120可对应于上面参照图1描述的存储器***110的控制器 130,并且存储器装置6130可对应于上面参照图1描述的存储器*** 110的存储器装置150。
因此,存储器控制器6120可包括存储器、处理器、主机接口、存 储器接口,并且进一步包括错误校正单元。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部 装置通信。例如,如上面参照图1所述,存储器控制器6120可被配置 成通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通 用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、***组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、 串行ATA、并行ATA、小型计算机***接口(SCSI)、增强型小型磁 盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、 WIFI、蓝牙等。因此,根据本公开的存储器***和数据处理***可应 用于有线/无线电子装置,或者特别是移动电子装置。
存储器装置6130可利用非易失性存储器(NVM)来实施。例如, 存储器装置6130可利用诸如以下的各种非易失性存储器装置中的任意 一种来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM (EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)、自旋转 移力矩磁性RAM(STT-RAM)等。
存储器控制器6120和存储器装置6130可被集成至单个半导体装置 中。存储卡***6100可包括以下中的任意一种:PC卡(PCMCIA:个 人计算机存储卡国际协会)、紧凑式闪存(CF)卡、智能媒体卡(例 如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微 型MMC或eMMC)、SD卡(例如,SD、迷你SD、微型SD或SDHC)、 通用闪存(UFS)等。
图9是示意性地示出根据实施例的包括图1所示的存储器***的数 据处理***的另一示例的示图。
参照图9,数据处理***6200可包括具有一个或多个非易失性存 储器的存储器装置6230和用于控制存储器装置6230的存储器控制器 6220。如上所述,图9所示的数据处理***6200可用作诸如存储卡(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用作缓冲存储器时, RAM 6222可缓冲待从主机6210传送到存储器装置6230的数据或待从 存储器装置6230传送到主机6210的数据。当RAM 6222用作高速缓冲 存储器时,RAM 6222可辅助低速存储器装置6230以高速操作。
ECC电路6223可生成用于校正从存储器装置6230提供的数据的失 败位或错误位的ECC(错误校正码)。ECC电路6223可对待被提供到 存储器装置6230的数据执行错误校正编码,从而生成包括奇偶校验位 的数据。奇偶校验位可被存储在存储器装置6230中。ECC电路6223可 对从存储器装置6230输出的数据执行错误校正解码。ECC电路6223可 在错误校正解码期间使用奇偶校验位来校正错误。例如,ECC电路 6223可使用LDPC码、BCH码、turbo码、里德-所罗门码、卷积码、 RSC或诸如TCM或BCM的编码调制来校正错误。
存储器控制器6220可通过主机接口6224向主机6210传送数据/从 主机6210接收数据。存储器控制器6220可通过NVM接口6225向存储 器装置6230传送数据/从存储器装置6230接收数据。主机接口6224可 通过PATA总线、SATA总线、SCSI、USB、PCIe或NAND接口连接到 主机6210。存储器控制器6220可利用诸如WiFi或长期演进(LTE)的 移动通信协议具有无线通信功能。存储器控制器6220可连接到例如主 机6210的外部装置,并且向外部装置传送数据/从外部装置接收数据。 特别地,由于存储器控制器6220被配置成根据各种通信协议中的一种 或多种与外部装置通信,因此存储器控制器6220可被应用于有线/无 线电子装置,特别是移动电子装置。
图10是示意性地示出根据实施例的包括图1所示的存储器***的 数据处理***的另一示例的示图。图10示意性地示出可应用图1所示 的存储器***的SSD 6300。
参照图10,SSD 6300可包括控制器6320和包括多个非易失性存储 器NVM的存储器装置6340。控制器6320可对应于图1的存储器*** 110中的控制器130,并且存储器装置6340可对应于图1的存储器*** 110中的存储器装置150。
更具体地,控制器6320可通过多个通道CH1至CHi连接到存储器 装置6340,i是大于1的整数。控制器6320可包括一个或多个处理器 6321、缓冲存储器6325、ECC电路6322、主机接口6324以及例如非易 失性存储器接口的存储器接口6326。
缓冲存储器6325可临时存储从主机6310提供的数据或从包括在存 储器装置6340中的多个非易失性存储器NVM提供的数据。进一步地, 缓冲存储器6325可临时存储多个非易失性存储器NVM的元数据,例 如,包括映射表的映射数据。缓冲存储器6325可包括诸如DRAM、 SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的多种易失性存 储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储 器中的任意一种。图10示出缓冲存储器6325被实现在控制器6320中。 然而,缓冲存储器6325可位于控制器6320的外部。
ECC电路6322可在编程操作期间计算待被编程到存储器装置6340 的数据的ECC值,在读取操作期间基于ECC值对从存储器装置6340读 取的数据执行错误校正操作,并在失败数据恢复操作期间对从存储器 装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与诸如主机6310的外部装置的接口连接功能, 并且非易失性存储器接口6326可提供与通过多个通道CH1至CHi连接 的存储器装置6340的接口连接功能。
此外,可提供可应用图1的存储器***110的多个SSD 6300来实施 数据处理***,例如,RAID(独立磁盘冗余阵列)***。RAID*** 可包括多个SSD 6300和用于控制多个SSD6300的RAID控制器。当 RAID控制器响应于从主机6310提供的写入命令执行编程操作时,根据从主机6310提供的写入命令的多个RAID级别,即RAID级别信息, RAID控制器可在SSD6300中选择一个或多个存储器***或SSD 6300, 并将对应于写入命令的数据输出到选择的SSD 6300。此外,当RAID 控制器响应于从主机6310提供的读取命令执行读取操作时,根据从主 机6310提供的读取命令的多个RAID级别,即RAID级别信息,RAID 控制器可在SSD6300中选择一个或多个存储器***或SSD 6300,并将 从所选择的SSD 6300读取的数据提供到主机6310。
图11是示意性地示出根据实施例的包括图1所示的存储器***的 数据处理***的另一示例的示图。图11示意性地示出应用图1的存储 器***的嵌入式多媒体卡(eMMC)6400。
参照图11,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)接口。
图12至图15是示意性地示出根据实施例的包括图1所示的存储器 ***的数据处理***的其它示例的示图。图12至图15示意性地示出可 应用图1的存储器***的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协议之外的例如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可通过UniPro处的交换模块6640的链路层交换来彼此通 信。在所示实施例中,一个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可通过UniPro处的交换模块6740的链路层交换来彼此通信。 交换模块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是示意性地示出根据本发明的实施例的包括图1所示的存储 器***的数据处理***的另一示例的示图。图16示意性地示出可应用 图1的存储器***的用户***6900。
参照图16,用户***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可被设置为用户*** 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 (20)

1.一种在数据处理***中执行后台操作的方法,所述方法包括:
从存储器装置中设置的多个存储块中选择牺牲存储块;并且
当主机中的第一存储器的可用容量大于或等于所选择的牺牲存储块中存储的当前有效数据的大小时,将所述当前有效数据传送到所述第一存储器。
2.根据权利要求1所述的方法,其中所述第一存储器是所述主机中的集成存储器,所述方法进一步包括:
当将所述当前有效数据传送到所述主机的所述第一存储器时,将所述当前有效数据加载到控制器中的第二存储器。
3.根据权利要求2所述的方法,进一步包括:
当所述第一存储器的可用容量小于所述当前有效数据的大小时,将目标数据从所述第一存储器加载到所述第二存储器,所述目标数据是已从所述存储器装置中先前选择的牺牲存储块读取并存储在所述第一存储器中的有效数据;并且
将所述目标数据存储在所述存储器装置中的至少一个目标存储块中。
4.根据权利要求3所述的方法,进一步包括:
在将所述目标数据加载到所述第二存储器之后,从所述第一存储器删除所述目标数据;并且
将所述当前有效数据存储在所述第一存储器中。
5.根据权利要求3所述的方法,进一步包括:
在将所述目标数据存储在所述存储器装置的所述至少一个目标存储块中之前,根据预定标准对所述目标数据进行排列。
6.根据权利要求5所述的方法,其中根据对应于所述目标数据的逻辑地址的顺序对所述目标数据进行排列。
7.根据权利要求5所述的方法,其中根据所述目标数据是热数据还是冷数据来对所述目标数据进行分类,所述热数据是第一目标数据,并且所述冷数据是第二目标数据。
8.根据权利要求7所述的方法,其中所述第一目标数据和所述第二目标数据存储在不同的目标存储块中,并且其中所述后台操作是垃圾收集操作。
9.根据权利要求1所述的方法,进一步包括:
当所述第一存储器的可用容量改变时,在所述第二存储器中存储和更新关于所述第一存储器的可用容量的信息。
10.一种数据处理***,包括:
主机,包括第一存储器;以及
存储器***,包括存储器装置和控制器,其中,为了执行后台操作,所述存储器***:
从所述存储器装置中设置的多个存储块中选择牺牲存储块;并且
当所述主机中的所述第一存储器的可用容量大于或等于所选择的牺牲存储块中存储的当前有效数据的大小时,将所述当前有效数据传送到所述第一存储器。
11.根据权利要求10所述的数据处理***,其中所述第一存储器是所述主机中的集成存储器。
12.根据权利要求11所述的数据处理***,其中所述存储器***进一步:
当将所述当前有效数据传送到所述主机的所述第一存储器时,将所述当前有效数据加载到所述控制器中的第二存储器。
13.根据权利要求12所述的数据处理***,其中所述存储器***进一步:
当所述第一存储器的可用容量小于所述当前有效数据的大小时,将所述第一存储器中存储的目标数据加载到所述第二存储器,所述目标数据是已从所述存储器装置中先前选择的牺牲存储块读取并存储在所述第一存储器中的有效数据;并且
将所述目标数据存储在所述存储器装置中的至少一个目标存储块中。
14.根据权利要求13所述的数据处理***,其中所述主机在将所述目标数据加载到所述第二存储器之后,从所述第一存储器删除所述目标数据,并且将所述当前有效数据存储在所述第一存储器中。
15.根据权利要求13所述的数据处理***,其中所述存储器***进一步:在将所述目标数据存储在所述至少一个目标存储块中之前,根据预定标准对所述目标数据进行排列。
16.根据权利要求13所述的数据处理***,其中所述主机进一步:
当所述第一存储器的可用容量改变时,向所述控制器提供关于所述第一存储器的可用容量的信息,
其中所述第二存储器存储和更新关于所述第一存储器的可用容量的信息。
17.一种存储器***,包括:
存储器装置,包括牺牲存储块和至少一个目标存储块;以及
控制器,联接到所述存储器装置并且具有第一存储器,所述控制器:将所述牺牲存储块中存储的当前有效数据加载到所述第一存储器中,并且当主机的第二存储器的可用容量大于或等于所述当前有效数据的大小时,将所述当前有效数据传送到所述主机。
18.根据权利要求17所述的存储器***,其中所述第二存储器是所述主机中的集成存储器,并且
其中所述控制器加载所述当前有效数据并且将所述当前有效数据传送到所述主机,以便执行后台操作,其中所述控制器进一步:
当所述第二存储器的可用容量小于所述当前有效数据的大小时,将所述第二存储器中存储的目标数据加载到所述第一存储器,所述目标数据是已从所述存储器装置中先前选择的牺牲存储块读取并存储在所述第二存储器中的有效数据;并且
将所述目标数据存储在所述存储器装置中的所述至少一个目标存储块中。
19.根据权利要求18所述的存储器***,其中所述控制器进一步:在将所述目标数据存储在所述至少一个目标存储块中之前,根据预定标准对所述目标数据进行排列。
20.根据权利要求19所述的存储器***,其中根据对应于所述目标数据的逻辑地址的顺序,或者根据所述目标数据是热数据还是冷数据对所述目标数据进行排列。
CN201910958343.1A 2018-11-29 2019-10-10 数据处理***及其操作方法 Active CN111241001B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180150798A KR20200064567A (ko) 2018-11-29 2018-11-29 데이터 처리 시스템 및 그것의 동작방법
KR10-2018-0150798 2018-11-29

Publications (2)

Publication Number Publication Date
CN111241001A true CN111241001A (zh) 2020-06-05
CN111241001B CN111241001B (zh) 2023-03-31

Family

ID=70850127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910958343.1A Active CN111241001B (zh) 2018-11-29 2019-10-10 数据处理***及其操作方法

Country Status (3)

Country Link
US (1) US11055009B2 (zh)
KR (1) KR20200064567A (zh)
CN (1) CN111241001B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200108650A (ko) * 2019-03-11 2020-09-21 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
TWI750013B (zh) * 2021-01-20 2021-12-11 群聯電子股份有限公司 資料存取方法、記憶體控制電路單元及記憶體儲存裝置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160011790A1 (en) * 2014-07-14 2016-01-14 Sandisk Technologies Inc. Systems and methods to enable access to a host memory associated with a unified memory architecture (uma)
WO2016036720A1 (en) * 2014-09-02 2016-03-10 Sandisk Technologies Inc. Process and apparatus to reduce declared capacity of a storage device by conditionally trimming
US20170060448A1 (en) * 2015-08-26 2017-03-02 OCZ Storage Solutions Inc. Systems, solid-state mass storage devices, and methods for host-assisted garbage collection
CN106648452A (zh) * 2015-11-02 2017-05-10 爱思开海力士有限公司 存储器***及其操作方法
CN107025178A (zh) * 2015-09-22 2017-08-08 三星电子株式会社 存储器控制器、非易失性存储器***及其操作方法
CN107766257A (zh) * 2016-08-19 2018-03-06 爱思开海力士有限公司 存储器***及其操作方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009034821A1 (ja) * 2007-09-11 2009-03-19 Nec Corporation データロガー、データ保存方法およびプログラム
US8977805B2 (en) * 2009-03-25 2015-03-10 Apple Inc. Host-assisted compaction of memory blocks
US8626986B2 (en) 2010-06-30 2014-01-07 Sandisk Technologies Inc. Pre-emptive garbage collection of memory blocks
KR20140050941A (ko) 2012-10-22 2014-04-30 삼성전자주식회사 비휘발성 메모리 장치의 데이터 관리 방법
US9652376B2 (en) * 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US8898410B1 (en) * 2013-02-20 2014-11-25 Google Inc. Efficient garbage collection in a data storage device
JP6021759B2 (ja) * 2013-08-07 2016-11-09 株式会社東芝 メモリシステムおよび情報処理装置
KR20150041873A (ko) * 2013-10-10 2015-04-20 에스케이하이닉스 주식회사 데이터 처리 시스템
KR102391678B1 (ko) 2015-01-22 2022-04-29 삼성전자주식회사 저장 장치 및 그것의 서스테인드 상태 가속 방법
US10126981B1 (en) * 2015-12-14 2018-11-13 Western Digital Technologies, Inc. Tiered storage using storage class memory
US10503524B2 (en) * 2016-03-22 2019-12-10 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Interception of a function call, selecting a function from available functions and rerouting the function call
US10884761B2 (en) * 2016-03-22 2021-01-05 Lenovo Enterprise Solutions (Singapore) Pte. Ltd Best performance delivery in heterogeneous computing unit environment
US10282127B2 (en) * 2017-04-20 2019-05-07 Western Digital Technologies, Inc. Managing data in a storage system
JP6818666B2 (ja) * 2017-09-20 2021-01-20 キオクシア株式会社 メモリシステム
JP6967986B2 (ja) * 2018-01-29 2021-11-17 キオクシア株式会社 メモリシステム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160011790A1 (en) * 2014-07-14 2016-01-14 Sandisk Technologies Inc. Systems and methods to enable access to a host memory associated with a unified memory architecture (uma)
WO2016036720A1 (en) * 2014-09-02 2016-03-10 Sandisk Technologies Inc. Process and apparatus to reduce declared capacity of a storage device by conditionally trimming
US20170060448A1 (en) * 2015-08-26 2017-03-02 OCZ Storage Solutions Inc. Systems, solid-state mass storage devices, and methods for host-assisted garbage collection
CN107025178A (zh) * 2015-09-22 2017-08-08 三星电子株式会社 存储器控制器、非易失性存储器***及其操作方法
CN106648452A (zh) * 2015-11-02 2017-05-10 爱思开海力士有限公司 存储器***及其操作方法
CN107766257A (zh) * 2016-08-19 2018-03-06 爱思开海力士有限公司 存储器***及其操作方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WU M: "eNVy: a non-volatile, main memory storage system" *

Also Published As

Publication number Publication date
CN111241001B (zh) 2023-03-31
US11055009B2 (en) 2021-07-06
KR20200064567A (ko) 2020-06-08
US20200174690A1 (en) 2020-06-04

Similar Documents

Publication Publication Date Title
CN110858180B (zh) 数据处理***及其操作方法
CN109947358B (zh) 存储器***及其操作方法
CN110750207B (zh) 存储器***及其操作方法
CN111309638B (zh) 存储器***及其操作方法
US11016881B2 (en) Memory system and operating method thereof
CN110647290B (zh) 存储器***及其操作方法
CN111367827B (zh) 存储器***及其操作方法
CN110716880B (zh) 存储器***及其操作方法
US20200125488A1 (en) Memory system and operating method thereof
CN110045914B (zh) 存储器***及其操作方法
CN111078583A (zh) 存储器***及其操作方法
CN111290970B (zh) 存储器***及其操作方法
CN111145818B (zh) 存储器***及其操作方法
US10614890B2 (en) Memory system and operating method thereof
US10936484B2 (en) Memory system and operating method thereof
CN111241001B (zh) 数据处理***及其操作方法
CN110865948B (zh) 存储***及其操作方法
US20200174702A1 (en) Memory system, operating method thereof and controller
US10528465B2 (en) Memory system and operating method thereof
CN111176555A (zh) 存储器***及其操作方法
CN111198652B (zh) 存储器***及其操作方法
CN110262981B (zh) 控制器及该控制器的操作方法
US20200090778A1 (en) Memory system and operating method thereof
CN111063383A (zh) 存储器***及其操作方法
KR20190078134A (ko) 메모리 시스템 및 그것의 동작방법

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