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

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

Info

Publication number
CN109947358B
CN109947358B CN201810951411.7A CN201810951411A CN109947358B CN 109947358 B CN109947358 B CN 109947358B CN 201810951411 A CN201810951411 A CN 201810951411A CN 109947358 B CN109947358 B CN 109947358B
Authority
CN
China
Prior art keywords
memory
data
segments
stored
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810951411.7A
Other languages
English (en)
Other versions
CN109947358A (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 CN109947358A publication Critical patent/CN109947358A/zh
Application granted granted Critical
Publication of CN109947358B publication Critical patent/CN109947358B/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/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/0647Migration mechanisms
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of 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/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/0658Controller construction 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/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/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • 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/7201Logical to physical mapping or translation of blocks or pages
    • 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

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)

Abstract

本发明涉及一种存储器系统,该存储器系统可包括:存储器装置,包括多个存储块,多个存储块中的每一个包括用于存储数据的多个页面;以及控制器,包括第一存储器,适于将与从主机接收的多个命令相对应的数据的段存储在第一存储器中,对应于段的数据大小和数据类型,将存储在第一存储器中的段以第一单位大小存储在存储块之中的第一存储块中,以及将存储在第一存储块中的段以第二单位大小存储在存储块之中的第二存储块中。

Description

存储器系统及其操作方法
相关申请的交叉引用
本申请要求于2017年12月20日提交的申请号为10-2017-0176214的韩国专利申请的优先权,其公开全文通过引用并入本文。
技术领域
示例性实施例涉及一种存储器系统,且更特别地,涉及一种关于存储器装置处理数据的存储器系统及其操作方法。
背景技术
计算机环境范例已经转变至可随时随地使用的普适计算系统。诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经快速增长。这些便携式电子装置通常使用具有用于存储数据的一个或多个存储器装置的存储器系统。存储器系统可以用作便携式电子装置的主存储装置或辅助存储装置。
与硬盘驱动器相比,因为存储器系统不具有移动部件(例如,具有读取/写入磁头的机械臂),所以它们提供优良的稳定性、耐久性、高信息访问速度和低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
发明内容
各个实施例涉及一种存储器系统及其操作方法,其能够最小化存储器系统的复杂性和性能劣化并最大化存储器装置的使用效率,从而关于存储器装置快速且稳定地处理数据。
在实施例中,一种存储器系统可包括:存储器装置,包括多个存储块,多个存储块中的每一个包括用于存储数据的多个页面;以及控制器,包括第一存储器,适于将与从主机接收的多个命令相对应的数据的段存储在第一存储器中,对应于段的数据大小和数据类型,将存储在第一存储器中的段以第一单位大小存储在存储块之中的第一存储块中,以及将存储在第一存储块中的段以第二单位大小存储在存储块之中的第二存储块中。
控制器可将存储在第一存储器中的段以第一单位大小存储在主机中包括的第二存储器中,将存储在第二存储器中的段以第二单位大小进行合并,并将在第二存储器中合并的段存储在第二存储块中。
针对段被存储在第二存储块中,控制器可将第二存储器中的相应段删除,并且可将第一存储块中相应段擦除。
在数据大小小于阈值的情况下,控制器可将存储在第一存储器中的段存储在第一存储块中,并且在数据大小等于或大于阈值的情况下,控制器可将存储在第一存储器中的段存储在第二存储块中。
在数据类型为第一类型的情况下,控制器可将存储在第一存储器中的段存储在第一存储块中,并且在数据类型为第二类型的情况下,控制器可将存储在第一存储器中的段存储在第二存储块中。
对应于第一存储块和存储在第一存储块中的段的老化和访问,存储在第一存储块中的段的数据类型被改变成第二类型的情况下,控制器可将存储在第一存储块中的段加载到第二存储器中,以第二单位大小对加载到第二存储器中的段进行合并,并且可将在第二存储器中合并的段存储在第二存储块中。
在主机和存储器系统发生断电之后,主机和存储器系统被再次通电的情况下,控制器可将存储在第一存储块中的段加载到第二存储器中,可以第二单位大小对加载到第二存储器中的段进行合并,并且可将在第二存储器中合并的段存储在第二存储块中。
在检查第一存储块的参数之后,控制器可对应于参数在第一存储块之中选择第三存储块,并且可将存储在第三存储块中的段加载到第二存储器中。
控制器可以第二单位大小对加载到第二存储器中的段进行合并,并且可将在第二存储器中合并的段存储在第二存储块中,并且针对段被存储在第二存储块中,可将第二存储器中的相应段删除并且可将第三存储块中的相应段擦除。
第一存储块可以是存储单个位数据的存储块,第二存储块可以是存储多位数据的存储块。
在实施例中,一种存储器系统的操作方法,其包括:从主机接收用于存储器装置的多个命令,该存储器装置包括多个存储块,多个存储块中的每一个包括用于存储数据的多个页面;将与多个命令相对应的数据的段存储在存储器装置的控制器中包括的第一存储器中;对应于段的数据大小和数据类型,将存储在第一存储器中的段以第一单位大小存储在存储块之中的第一存储块中;以及将存储在第一存储块中的段以第二单位大小存储在存储块之中的第二存储块中。
以第二单位大小进行存储可包括:将存储在第一存储器中的段以第一单位大小存储在包括在主机中的第二存储器中;将存储在第二存储器中的段以第二单位大小进行合并;以及将在第二存储器中合并的段存储在第二存储块中。
方法可进一步包括:针对段被存储在第二存储块中,将第二存储器中的相应段删除,并且将第一存储块中的相应段擦除。
方法可进一步包括:在数据大小小于阈值的情况下,将存储在第一存储器中的段存储在第一存储块中;以及在数据大小等于或大于阈值的情况下,将存储在第一存储器中的段存储在第二存储块中。
方法可进一步包括:在数据类型为第一类型的情况下,将存储在第一存储器中的段存储在第一存储块中,并且在数据类型为第二类型的情况下,将存储在第一存储器中的段存储在第二存储块中。
方法可进一步包括:在对应于第一存储块和存储在第一存储块中的段的老化和访问,存储在第一存储块中的段的数据类型被改变成第二类型的情况下,将存储在第一存储块中的段加载到第二存储器中;以及以第二单位大小对加载到第二存储器中的段进行合并,并将在第二存储器中合并的段存储在第二存储块中。
方法可进一步包括:在主机和存储器系统发生断电之后,主机和存储器系统被再次通电的情况下,将存储在第一存储块中的段加载到第二存储器中;以及以第二单位大小对加载到第二存储器中的段进行合并,并将在第二存储器中合并的段存储在第二存储块中。
方法可进一步包括:在检查第一存储块的参数之后,对应于参数在第一存储块之中选择第三存储块;以及将存储在第三存储块中的段加载到第二存储器中。
方法可进一步包括:以第二单位大小将加载到第二存储器中的段进行合并,并将在第二存储器中合并的段存储在第二存储块中;以及针对段被存储在第二存储块中,将第二存储器中的相应段删除,并将第三存储块中的相应段擦除。
第一存储块可以是存储单个位数据的存储块,第二存储块可以是存储多位数据的存储块。
在实施例中,一种存储器系统可包括:存储器装置,包括多个存储块,多个存储块中的每一个包括多个页面,多个页面中的每一个存储数据,其中多个存储块中包括至少一个第一存储块和至少一个第二存储块;以及控制器,电联接到存储器装置,该控制器可包括用于存储与从主机输入的多个命令相对应的数据段的第一存储器,并且控制器可适于基于数据段的大小和类型,将数据段复制或移动在至少一个第一存储块或至少一个第二存储块中。
附图说明
根据参照附图的以下具体实施方式,本发明的这些和其它特征及优点对于本发明所属领域的技术人员将变得显而易见,其中:
图1是示出根据本发明的实施例的包括存储器系统的数据处理系统的框图;
图2是示出图1所示的存储器系统中采用的存储器装置的示例性配置的示意图;
图3是示出图2所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图;
图4是示出图2所示的存储器装置的示例性三维结构的示意图;
图5至图7是用于帮助解释在根据实施例的存储器系统中执行与多个命令相对应的多个命令操作的情况下的数据处理操作的示例的示意图的代表性示例;
图8是根据实施例的在存储器系统中处理数据的操作过程的流程图;并且
图9至图17是示意性地示出根据本发明的实施例的图1所示的数据处理系统的应用示例的示图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,注意的是,本发明可以在不同的其它实施例、形式和变化中实施,并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开将是彻底且完全的,并且将向本发明所属领域的技术人员完全传达本发明。在整个公开中,相同的附图标记在整个本发明的各个附图和实施例中表示相同的部件。
将理解的是,虽然术语“第一”、“第二”、“第三”等可在本文使用以描述各种元件,但是这些元件不受这些术语限制。这些术语被用于区分一个元件与另一元件。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,在一些情况下,为了清楚地示出实施例的特征,可能已经夸大了比例。
将进一步理解的是,当一个元件被称为“连接至”或“联接至”另一元件时,它可以直接在其它元件上、连接至或联接至其它元件,或可存在一个或多个中间元件。另外,也将理解的是,当元件被称为在两个元件“之间”时,两个元件之间可以仅有一个元件或也可存在一个或多个中间元件。
本文使用的术语的目的仅是描述特定实施例而不旨在限制本发明。如本文使用的,单数形式也旨在包括复数形式,除非上下文另有清楚地说明。将进一步理解的是,当在该说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,它们指定阐述的元件的存在而不排除一个或多个其它元件的存在或增加。
如本文使用的,术语“和/或”包括一个或多个相关的所列项目的任何一个和所有组合。
除非另有限定,否则本文所使用的包括技术术语和科学术语的所有术语具有与本发明所属领域中普通技术人员通常理解的含义相同的含义。将进一步理解的是,诸如在常用词典中限定的那些术语的术语应被理解为具有与它们在本公开的上下文和相关领域中的含义一致的含义并且将不以理想化或过于正式的意义来解释,除非本文如此明确地限定。
在以下描述中,为了提供本发明的彻底理解,阐述了许多具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,为了避免不必要地模糊本发明,未详细地描述公知的进程结构和/或进程。
也应注意的是,在一些情况下,对相关领域的技术人员显而易见的是,结合一个实施例描述的特征或元件可单独使用或与另一实施例的其它特征或元件结合使用,除非另有明确说明。
图1是示出根据本发明的实施例的包括存储器系统110的数据处理系统100的框图。
参照图1,数据处理系统100可包括主机102和存储器系统110。
作为示例而非限制,主机102可包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式计算机、游戏机、TV和投影仪的非便携式电子装置。
存储器系统110可以响应于主机102的请求来操作以存储用于主机102的数据。存储器系统110的非限制性示例可包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用存储总线(USB)装置、通用闪速存储(UFS)装置、标准闪存(CF)卡、智能媒体(SM)卡、个人计算机存储卡国际协会(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)和闪速存储器的非易失性存储器装置。闪速存储器可以具有3维(3D)堆叠结构。
存储器系统110可包括存储器装置150和控制器130。存储器装置150可以存储用于主机120的数据。控制器130可控制将数据存储在存储器装置150中。
在示例中,控制器130和存储器装置150可被集成到单个半导体装置中,其可被包括在如上所述的各种类型的存储器系统中。
存储器系统110的非限制性应用示例可包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、3维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、建立数据中心的存储装置、能够在无线环境下传输/接收信息的装置、建立家庭网络的各种电子装置中的一个、建立计算机网络的各种电子装置中的一个、建立远程信息处理的各种电子装置中的一个、射频识别(RFID)装置或建立计算系统的各种部件中的一个。
在示例中,存储器装置150可以是非易失性存储器装置,并且即使未被供应电力,也可以保留其中存储的数据。存储器装置150可通过写入操作来存储从主机102提供的数据.。存储器装置150可通过读取操作将存储在其中的数据提供给主机102。存储器装置150可包括多个存储器管芯(未示出)。每一个存储器管芯可包括多个平面(未示出)。每一个平面可包括多个存储块152至156。存储块152至156的每一个可包括多个页面。页面中的每一个可包括联接到字线的多个存储器单元。
控制器130可以响应于来自主机102的请求来控制存储器装置150。作为示例而非限制,控制器130可以将从存储器装置150读取的数据提供给主机102,并且将从主机102提供的数据存储到存储器装置150中。对于该操作,控制器130可以控制存储器装置150的读取操作、写入操作、编程操作和擦除操作。
控制器130可包括主机接口(I/F)单元132、处理器134、错误校正码(ECC)单元138、电源管理单元(PMU)140、NAND闪存控制器(NFC)142和存储器144。部件中的每一个都经由内部总线彼此电联接或接合。
主机接口单元132可被配置为处理主机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-Chaudhuri-Hocquenghem,BCH)码、涡轮码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)、分组编码调制(BCM)等的编码调制执行错误校正操作。然而,ECC单元138不限于此。ECC单元138可包括用于错误校正的所有电路、模块、系统或装置。
PMU 140可管理被提供至控制器130且控制器130使用的电力。
NFC 142可以用作用于将控制器130和存储器装置150接口连接的存储器/存储接口,使得控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器或具体地NAND闪速存储器时,NFC142可以在处理器134的控制下生成用于存储器装置150的控制信号并且处理输入到存储器装置150的数据。NFC 142可以用作用于处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。具体地,NFC142可以支持控制器130和存储器装置150之间的数据传输。
存储器144可用作存储器系统110和控制器130的工作存储器。存储器144可存储用于支持存储器系统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)。
控制器130的处理器134可包括用于执行存储器装置150的坏块管理操作的管理单元(未示出)。管理单元可在包括在存储器装置150中的多个存储块152至156之中的坏块进行检查的坏块管理操作。坏块可包括其中在编程操作期间由于NAND闪速存储器的特征而发生编程失败的块。管理单元可以将坏块的编程失败数据写入新存储块。在具有3D堆叠结构的存储器装置150中,坏块管理操作可能降低存储器装置150的使用效率和存储器系统110的可靠性。因此,坏块管理操作需要被更可靠地执行。
而且,在根据本公开的实施例的存储器系统中,例如,控制器130在存储器装置150中执行与从主机102接收的多个命令相对应的多个命令操作。作为示例而非限制,控制器130在存储器装置150中执行对应于多个写入命令的多个编程操作、对应于多个读取命令的多个读取操作以及对应于多个擦除命令的多个擦除操作。对应于命令操作的执行,控制器130更新诸如映射数据的元数据。
在这方面,在根据本公开的实施例的存储器系统中,控制器130根据数据大小和数据类型,将与从主机102接收的多个写入命令相对应的数据存储在存储器装置150中包括的多个存储块之中的相应存储块中。控制器130对存储在任意存储块中的数据执行数据合并操作和数据迁移操作。而且,在根据本公开的实施例的存储器系统中,在与从主机102输入的多个写入命令相对应的数据被存储在主机102中包括的存储器中之后,将数据移动到并存储在存储器装置150的存储块中。进一步地,在根据本公开的实施例的存储器系统中,在包括在存储器装置150中的多个存储块是单层单元(SLC)存储块、多层单元(MLC)存储块、三层单元(TLC)存储块及四层单元(QLC)存储块或能够存储更多位数据的存储块的情况下,对应于写入命令的数据可被存储在相应存储块中。通过使用主机102的存储器来执行数据合并操作和数据迁移操作。因为下面将参照图5至图8详细描述以下内容,所以在此将省略对其的进一步描述:在根据本公开的实施例的存储器系统中,将数据存储在存储器装置150的存储块中,然后执行数据合并操作和数据迁移操作。
用于对存储器装置150执行坏块管理的管理单元(未示出)可被包括在控制器130的处理器134中。管理单元检查包括在存储器装置150中的多个存储块152、154、156中的坏块。然后,管理单元执行将检查到的坏块作为坏的进行处理的坏块管理。对于坏块管理,在存储器装置150是例如NAND闪速存储器的闪速存储器的情况下,由于NAND闪速存储器的特性,则当执行例如数据编程的数据写入时可能发生编程失败。发生编程失败的存储块被处理为坏块,并且将编程失败的数据写入,即编程到新的存储块中。此外,在存储器装置150具有如上所述的三维堆叠结构的情况下,因为存储器装置150的利用效率和存储器系统110的可靠性可能突然劣化,所以如果根据编程失败而将相应存储块处理为坏块,则必须可靠地执行坏块管理。在下文中,下面将参照图2至图4详细描述根据本公开的实施例的存储器系统中的存储器装置。
图2是示出存储器装置150的示意图。
参照图2,存储器装置150可包括多个存储块0至N-1,并且块0到N-1中的每一个可包括例如2M个页面的多个页面,其数量可以根据电路设计而变化。包括在各个存储块0至N-1中的存储器单元可以是每个存储1位数据的单层单元(SLC)、每个存储2位数据或多位数据的多层单元(MLC)中的一个或多个。在实施例中,存储器装置150可包括多个每个存储3位数据的三层单元(TLC)。在另一实施例中,存储器装置可包括多个每个存储4位数据的四层单元(QLC)。
图3是示出存储器装置150中的存储块的存储器单元阵列的示例性配置的电路图。
参照图3,可对应于包括在存储器系统110的存储器装置150中的多个存储块152至156中的任意一个的存储块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示出NAND闪速存储器单元,但是本发明不限于此方式。注意的是,存储器单元可以是NOR闪速存储器单元,或者包括组合在其中的两种或更多种存储器单元的混合闪速存储器单元。并且,应注意的是,存储器装置150可以是包括导电浮栅作为电荷存储层的闪速存储器装置或包括介电层作为电荷存储层的电荷撷取闪存(CTF)。
存储器装置150可以进一步包括电压供给单元310,其提供包括根据操作模式供给到字线的编程电压、读取电压和通过电压的字线电压。电压供给单元310的电压产生操作可以由控制电路(未示出)来控制。在控制电路的控制下,电压供给单元310可以选择存储器单元阵列的存储块(或扇区)中的一个,选择所选择的存储块的字线中的一个,并且按需要将字线电压提供给所选择的字线和未选择的字线。
存储器装置150可包括由控制电路控制的读取/写入电路320。在验证/正常读取操作期间,读取/写入电路320可以用作用于从存储器单元阵列读取数据的读出放大器。在编程操作期间,读取/写入电路320可以根据待存储在存储器单元阵列中的数据用作用于驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可以从缓冲器(未示出)接收待存储到存储器单元阵列中的数据并且根据接收的数据来将电流或电压提供给位线。读取/写入电路320可包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322至326。页面缓冲器322至326中的每一个可包括多个锁存器(未示出)
图4是示出存储器装置150的示例性3D结构的示意图。
存储器150可以由2D或3D存储器装置来实施。具体地,如图4所示,存储器装置150可以由具有3D堆叠结构的非易失性存储器装置来实施。当存储器装置150具有3D结构时,存储器装置150可包括多个存储块BLK0至BLKN-1,其各自具有3D结构(或竖直结构)。
在下文中,将参照图5至图8详细描述根据实施例的关于存储器系统中的存储器装置150的数据处理操作,特别是在从主机102接收多个命令并执行与命令相对应的多个命令操作的情况下的数据处理操作。
图5至图7是用于帮助解释在根据实施例的存储器系统中执行与多个命令相对应的多个命令操作的情况下的数据处理操作的示例的示意图的示例性代表。在本公开的实施例中,为便于说明,将以以下情况作为示例进行详细描述:在图1所示的存储器系统110中,从主机102接收到多个命令并且执行对应于这些命令的命令操作。例如,在本公开的实施例中,将对以下情况中的数据处理操作进行详细描述:从主机102接收多个写入命令并执行对应于写入命令的编程操作、从主机102接收多个读取命令并执行对应于读取命令的读取操作、从主机102接收多个擦除命令并执行对应于擦除命令的擦除操作或者从主机102一起接收多个写入命令和多个读取命令并执行对应于写入命令和读取命令的编程操作和读取操作。
此外,在本公开的实施例中,将对以下情况作为示例进行描述:在与从主机102输入的多个写入命令相对应的写入数据被存储在控制器存储器144中包括的缓冲器/高速缓冲器中之后,存储在缓冲器/高速缓冲器中的写入数据被编程到并存储在存储器装置150中包括的多个存储块中。在与写入数据的存储相对应的映射数据被存储在多个存储块中之后,更新的映射数据被存储在存储器装置150中包括的多个存储块中。在本公开的实施例中,将以下情况作为示例进行描述:执行与从主机102接收的多个写入命令相对应的编程操作。此外,在本公开的实施例中,将以下情况作为示例进行描述:当针对存储在存储器装置150中的数据,从主机102输入多个读取命令时,通过检查与读取命令相对应的数据的映射数据,从存储器装置150中读取与读取命令相对应的数据。在读取数据被存储在控制器存储器144中包括的缓冲器/高速缓冲器中之后,存储在缓冲器/高速缓冲器中的数据被传送到主机102中。换言之,在本公开的实施例中,将以下情况作为示例进行描述:执行与从主机102接收的多个读取命令相对应的读取操作。另外,在本公开的实施例中,将以下情况作为示例进行描述:当针对包括在存储器装置150中的存储块,从主机102接收到多个擦除命令时,在检查对应于擦除命令的存储块之后,擦除存储在检查到的存储块中的数据。在对应于擦除的数据而更新了映射数据之后,更新的映射数据被存储在存储器装置150中包括的多个存储块中。即,在本公开的实施例中,将以下情况作为示例进行描述:执行与从主机102接收的多个擦除命令相对应的擦除操作。
进一步地,在实施例中,为便于说明,将以下内容作为示例进行描述:控制器130在存储器系统110中执行命令操作,需要注意的是,如上所述,包括在控制器130中的处理器134可通过例如FTL(闪存转换层)在存储器系统110中执行命令操作。而且,在本公开的实施例中,控制器130将与从主机102接收的写入命令相对应的用户数据和元数据编程并存储在存储器装置150中包括的多个存储块之中的任意存储块中。控制器130从包括在存储器装置150中的多个存储块之中的任意存储块中读取与从主机102接收的读取命令相对应的用户数据和元数据。控制器130将读取数据提供给主机102,或从包括在存储器装置150中的多个存储块之中的任意存储块中擦除与从主机102接收的擦除命令相对应的用户数据和元数据。
元数据可包括对应于编程操作而被存储在存储块中的数据的第一映射数据和第二映射数据,其中第一映射数据包括逻辑/物理(L2P:逻辑到物理)信息(在下文中,被称为“逻辑信息”),以及第二映射数据包括物理/逻辑(P2L:物理到逻辑)信息(在下文中,被称为“物理信息”)。而且,元数据可包括:关于与从主机102接收的命令相对应的命令数据的信息;关于与命令相对应的命令操作的信息;关于待被执行命令操作的存储器装置150的存储块的信息;以及关于与命令操作相对应的映射数据的信息。换言之,元数据可包括除与从主机102接收的命令相对应的用户数据之外的所有剩余信息和数据。
在本公开的实施例中,在控制器130从主机102接收多个写入命令的情况下,执行对应于写入命令的编程操作。对应于写入命令的用户数据被写入并存储在存储器装置150的存储块之中的空存储块、开放存储块或已执行擦除操作的空闲存储块中。而且,第一映射数据和第二映射数据被写入并存储在存储器装置150的存储块之中的空存储块、开放存储块或空闲存储块中,其中第一映射数据包括其中记录了逻辑信息的L2P映射表或L2P映射列表,其中逻辑信息为存储在存储块中的用户数据的逻辑地址与物理地址之间的映射信息;第二映射数据包括其中记录了物理信息的P2L映射表或P2L映射列表,其中物理信息为存储有用户数据的存储块的物理地址与逻辑地址之间的映射信息。
此处,在从主机102接收到写入命令的情况下,控制器130将对应于写入命令的用户数据写入并存储在存储块中。控制器130将存储在存储块中的用户数据的、包括第一映射数据和第二映射数据的元数据存储在存储块中。对应于用户数据段被存储在存储器装置150的存储块中,控制器130生成并更新第一映射数据的L2P段和第二映射数据的P2L段作为元数据的元段之中的映射数据的映射段。然后,控制器130将它们存储在存储器装置150的存储块中。存储在存储器装置150的存储块中的映射段被加载到包括在控制器130中的存储器144中。然后,可以更新映射段。
进一步地,在从主机102接收多个读取命令的情况下,控制器130从存储器装置150读取与读取命令相对应的读取数据,将读取的数据存储在包括在控制器130内的存储器144中的缓冲器/高速缓冲器中。然后,控制器130将存储在缓冲器/高速缓冲器中的数据提供给主机102,由此执行与多个读取命令相对应的读取操作。
另外,在从主机102接收多个擦除命令的情况下,控制器130检查与擦除命令相对应的存储器装置150的存储块。然后,控制器130对存储块执行擦除操作。在下文中,将参照图5至图7详细描述根据本公开的实施例的存储器系统中的数据处理操作。
首先,参照图5,控制器130执行与从主机102接收的多个命令相对应的命令操作,例如,与从主机102接收的多个写入命令相对应的编程操作。例如,控制器130将对应于写入命令的用户数据编程并存储在存储器装置150的存储块中。而且,对应于关于存储块的编程操作,控制器130生成并更新用户数据的元数据,以将该元数据存储在存储器装置150的存储块中。
控制器130生成并更新第一映射数据和第二映射数据,第一映射数据和第二映射数据包括表示用户数据被存储在包括在存储器装置150的存储块中的页面中的信息。控制器130生成并更新L2P段作为第一映射数据的逻辑段以及生成并更新P2L段作为第二映射数据的物理段。然后,控制器130将它们存储在存储器装置150的存储块中包括的页面中。
作为示例而非限制,控制器130将与从主机102接收的写入命令相对应的用户数据高速缓冲和缓冲在控制器存储器144中包括的第一缓冲器510中。特别地,在将用户数据的数据段512存储在作为数据缓冲器/高速缓冲器的第一缓冲器510中之后,控制器130将存储在第一缓冲器510中的数据段512存储在存储器装置150的存储块中包括的页面中。因为与从主机102接收到的写入命令相对应的用户数据的数据段512被编程并存储在存储器装置150的存储块中包括的页面中,所以控制器130生成并更新第一映射数据和第二映射数据。控制器130将它们存储在控制器存储器144中包括的第二缓冲器520中。特别地,控制器130将用户数据的第一映射数据的L2P段522和第二映射数据的P2L段524存储在作为映射缓冲器/高速缓冲器的第二缓冲器520中。如上所述,可将第一映射数据的L2P段522和第二映射数据的P2L段524存储在控制器存储器144中的第二缓冲器520中。可存储用于第一映射数据的L2P段522的映射列表和用于第二映射数据的P2L段524的映射列表。控制器130将存储在第二缓冲器520中的第一映射数据的L2P段522和第二映射数据的P2L段524存储在存储器装置150的存储块中包括的页面中。
而且,控制器130执行与从主机102接收的多个命令相对应的命令操作,例如,与从主机102接收的多个读取命令相对应的读取操作。控制器130将第一映射数据的L2P段522和第二映射数据的P2L段524作为与读取命令相对应的用户数据的映射段加载到第二缓冲器520中,并且检查L2P段522和P2L段524。此后,控制器130读取存储在存储器装置150的存储块之中的相应存储块的页面中的用户数据,将读取的用户数据的数据段512存储在第一缓冲器510中,并且将数据段512提供给主机102。
此外,控制器130执行与从主机102接收的多个命令相对应的命令操作,例如,与从主机102接收的多个擦除命令相对应的擦除操作。控制器130在存储器装置150的存储块之中检查与擦除命令相对应的存储块。控制器130对检查到的存储块执行擦除操作。
在执行例如垃圾收集操作或损耗均衡操作的后台操作,即在包括在存储器装置150中的存储块之间复制数据或交换数据的操作的情况下,控制器130将相应用户数据的数据段512存储在第一缓冲器510中,将对应于用户数据的映射数据的映射段522和524加载到第二缓冲器520中,并且执行垃圾收集操作或损耗均衡操作。
进一步地,在将与从主机102接收的写入命令相对应的数据存储在存储器装置150的存储块中的情况下,对应于数据大小和数据类型,控制器130将数据存储在存储块之中的相应存储块中。作为示例而非限制,在包括在存储器装置150中的多个存储块是SLC存储块、MLC存储块、TLC存储块、QLC存储块或能够存储更多位数据的存储块的情况下,控制器130将对应于写入命令的数据存储在各个相应存储块中。在这方面,在本公开的实施例中,为便于说明,将以下情况作为示例进行详细描述:控制器130将对应于写入命令的数据存储在SLC存储块或者MLC/TLC存储块中,其中SLC存储块为能够存储单个位数据的存储块,MLC/TLC存储块为能够存储多位数据的存储块。
而且,控制器130对存储在存储器装置150的存储块之中的SLC存储块中的数据执行数据迁移操作。在通过使用包括在主机102中的存储器对存储在SLC存储块中的数据执行数据合并操作之后,控制器130将合并的数据存储在MLC/TLC存储块中,通过这样,存储在SLC存储块中的数据被迁移到MLC/TLC存储块。在这方面,在检查与从主机102接收的写入命令相对应的数据的数据大小和数据类型之后,在数据大小小于阈值或数据类型为第一类型的情况下,数据被存储在SLC存储块中。第一类型的数据可以是热数据、短期数据或随机数据,或者可以是在位置、可靠性、值、优先级或可访问性方面具有较高级别的数据。在检查与从主机102接收的写入命令相对应的数据的数据大小和数据类型之后,在数据大小等于或大于阈值或数据类型为第二类型的情况下,数据被存储在MLC/TLC存储块中。第二类型的数据可以是冷数据、长期数据或顺序数据,或者可以是在位置、可靠性、值、优先级或可访问性方面具有较低级别的数据。
换言之,对应于数据大小和数据类型,控制器130将与从主机102接收的写入命令相对应的数据存储在存储器装置150的SLC存储块中,并且通过使用包括在主机102中的存储器将存储在SLC存储块中的数据进行合并,并且将在主机102的存储器中合并的数据存储在存储器装置150的MLC/TLC存储块中,从而将存储在存储器装置150的SLC存储块中的数据迁移到存储器装置150的MLC/TLC存储块中。
参照图6,存储器装置150包括多个存储器管芯,例如存储器管芯0、存储器管芯1、存储器管芯2及存储器管芯3,并且存储器管芯中的每一个可包括多个平面,例如,平面0、平面1、平面2和平面3。如上参照图2所述,包括在存储器装置150中的存储器管芯中的各个平面包括多个存储块,例如,N个块Block0、Block1、……、BlockN-1,块中的每一个包括多个页面,例如,2M个页面。此外,存储器装置150包括与各个存储器管芯相对应的多个缓冲器,例如,与存储器管芯0相对应的缓冲器0、与存储器管芯1相对应的缓冲器1、与存储器管芯2相对应的缓冲器2及与存储器管芯3相对应的缓冲器3。
在执行与从主机102接收到的多个命令相对应的命令操作的情况下,对应于命令操作的数据被存储在存储器装置150中包括的缓冲器中。作为示例而非限制,在执行编程操作的情况下,对应于编程操作的数据被存储在缓冲器中。然后数据被存储在存储器管芯的存储块中包括的页面中。在执行读取操作的情况下,从包括在存储器管芯的存储块中的页面中读取对应于读取操作的数据。将数据存储在缓冲器中,然后通过控制器130提供给主机102。
在本公开的实施例中,虽然为便于说明,将以下内容作为示例进行描述:包括在存储器装置150中的缓冲器存在于各个相应存储器管芯的外部,但应当注意的是,缓冲器可存在于各个相应存储器管芯的内部,并且应当注意的是,缓冲器可对应于各个存储器管芯中的各个平面或各个存储块。进一步地,在本公开的实施例中,虽然为了便于说明,将以下内容作为示例进行描述:包括在存储器装置150中的缓冲器是如以上参考图3描述的包括在存储器装置150中的多个页面缓冲器322、324、326,但是应当注意的是,缓冲器可以是包括在存储器装置150中的多个高速缓冲器或多个寄存器。
而且,包括在存储器装置150中的多个存储块可被分组为多个超级存储块,并且可在多个超级存储块中执行命令操作。超级存储块中的每一个可包括多个存储块,例如包括在第一存储块组和第二存储块组中的存储块。在这方面,在第一存储块组被包括在某个第一存储器管芯的第一平面中的情况下,第二存储块组可被包括在第一存储器管芯的第一平面中、被包括在第一存储器管芯的第二平面中或被包括在第二存储器管芯的平面中。在下文中,参照图7对以下示例提供详细描述:如上所述,在根据本公开的实施例的存储器系统中,在包括在存储器装置150中的多个存储块中执行与从主机102接收的多个写入命令相对应的编程操作,以及对存储在任意存储块中的数据执行数据合并操作和数据迁移操作。
参照图7,在控制器130从主机102接收多个命令,例如多个写入命令、多个读取命令和/或多个擦除命令的情况下,控制器130在包括在存储器装置150中的多个存储块中执行与从主机102接收到的命令相对应的命令操作,例如编程操作、读取操作和擦除操作。控制器130在包括在存储器装置150中的多个存储块中执行与从主机102接收的多个写入命令相对应的编程操作。当执行编程操作时,对应于与写入命令相对应的数据的数据大小和数据类型,控制器130将与写入命令相对应的数据存储在存储器装置150的存储块之中的SLC存储块或MLC/TLC存储块中。
详细地,在控制器130从主机102接收多个写入命令的情况下,控制器130检查与写入命令相对应的数据的大小和类型。对应于写入命令的数据可包括用户数据和元数据。然后,控制器130将与写入命令相对应的数据的段720(数据段)存储在控制器存储器144中。数据段可以是用户数据段和/或元数据段。在数据段720为用户数据段的情况下,数据段720被存储在存储器144中包括的第一缓冲器510中。在数据段720为元数据段的情况下,数据段720被存储在存储器144中包括的第二缓冲器520中。虽然为便于说明,将以下情况为例在所述实施例中进行详细描述:与从主机102接收的多个写入命令相对应的数据段720为用户数据段,但应当注意的是,本公开也同样适用于数据段720为元数据段的情况。
然后,对应于数据大小和类型,控制器130可将存储在控制器存储器144中的数据段720存储在存储器装置150中包括的多个存储块之中的SLC存储块或者MLC/TLC存储块中,其中SLC存储块例如SLC存储块0、SLC存储块1和SLC存储块2,以及MLC/TLC存储块例如MLC/TLC存储块0、MLC/TLC存储块1和MLC/TLC存储块2。如上所述,存储器装置150包括SLC存储块和MLC/TLC存储块,其中SLC存储块是具有能够存储单个位数据的存储器单元的存储块,MLC/TLC存储块是具有能够存储多位数据的存储器单元的存储块。
换言之,在与从主机102接收的多个写入命令相对应的数据的大小等于或大于阈值的情况下,控制器130将存储在控制器存储器144中的数据段720存储在MLC/TLC存储块,例如存储在MLC/TLC存储块0中。虽然为便于说明,将以下情况为例在本公开的实施例中进行描述:控制器130将数据段存储在一个MLC/TLC存储块中,但应当注意的是,即使在将数据段存储在多个MLC/TLC存储块中的情况下也可应用本公开。在一些实施例中,如以上参照图6所述,可将多个MLC/TLC存储块进行分组以形成MLC/TLC超级存储块。控制器130将与从主机102接收的多个写入命令相对应的数据以MLC/TLC一次性写入(one-shot write)单位大小,存储在存储器装置150的MLC/TLC存储块中。因此,将存储在控制器存储器144中的数据段720以MLC/TLC一次性写入单位大小存储在MLC/TLC存储块0中。在MLC/TLC一次性写入单位大小是例如64K的情况下,将存储在控制器存储器144中的数据段720以64K的单位大小存储在MLC/TLC存储块0中包括的页面中。因此,存储在控制器存储器144中的数据段720以64K的单位大小被分别存储为MLC/TLC存储块0的段740。在将数据存储在存储器装置150的MLC/TLC存储块中的情况下的MLC/TLC一次性写入单位大小对应于在将数据存储在存储器装置150的SLC存储块中的情况下的SLC一次性写入单位大小的数倍。
在与从主机102接收的多个写入命令相对应的数据的大小小于阈值的情况下,控制器130将存储在控制器存储器144中的数据段720存储在SLC存储块中,例如,存储在SLC存储块0中。虽然为便于说明,将控制器130将数据段存储在一个SLC存储块中的情况为例在本公开的实施例中进行描述,但应当注意的是,即使在段被存储在多个SLC存储块,特别是SLC超级存储块中的情况下也可以应用本公开,其中如上参照图6所述,多个SLC存储块被分组到SLC超级存储块中。控制器130以SLC一次性写入单位大小,将与从主机102接收的多个写入命令相对应的数据存储在存储器装置150的SLC存储块中。因此,存储在控制器存储器144中的数据段720以SLC一次性写入单位大小被存储在SLC存储块0中。在SLC一次性写入单位大小是例如16K的情况下,存储在控制器存储器144中的数据段720以16K的单位大小被存储在SLC存储块0中包括的页面中。因此,存储在控制器存储器144中的数据段720以16K的单位大小被分别存储为SLC存储块0的段730。
控制器130将存储在控制器存储器144中的数据段720以相应的一次性写入单位大小存储在SLC存储块或MLC/TLC存储块中,并且对应于相应的一次性写入单位大小来确定阈值。当将数据存储在MLC/TLC存储块中时,控制器130对应于MLC/TLC一次性写入单位大小来确定阈值。例如,在与从主机102接收的多个写入命令相对应的数据的大小小于MLC/TLC一次性写入单位大小的情况下,控制器130将存储在控制器存储器144中的数据段720存储在SLC存储块中。在与存储在控制器存储器144中的数据段720相对应的数据大小小于MLC/TLC一次性写入单位大小的情况下,控制器130将存储在控制器130的存储器144中的数据段720存储在SLC存储块中。
在控制器130将存储在控制器存储器144中的数据段720复制或移动到存储器装置150的SLC存储块0的情况下,控制器130将存储在控制器存储器144中的数据段720传送到主机102中包括的存储器706中,诸如主机存储器706中的统一存储器(UM)708中。
主机102包括处理器702(主机处理器)、主机存储器706(主机存储器)及装置接口单元704。主机处理器702控制主机102的一般操作。主机处理器702控制待传输到存储器系统110的控制器130的、与用户请求相对应的命令,使得在存储器系统110中执行与用户请求相对应的命令操作。主机处理器702可由微处理器或中央处理单元(CPU)实现。
主机存储器706是主机102的主存储器或系统存储器。主机存储器706存储用于驱动主机102的数据。主机存储器706可包括主机使用存储器区域和装置使用存储器区域。在主机102中使用的数据被存储在主机使用存储器区域中,而在存储器系统110中使用的数据被存储在装置使用存储器区域中。在主机存储器706中的、作为系统存储器区域的主机使用存储器区域中,存储有与主机102的系统有关的数据或程序信息,例如文件系统或操作系统。在主机存储器706中的、作为装置使用存储器区域的UM 708中,在存储器系统110执行与从主机102接收的命令相对应的命令操作,即前台操作或后台操作的情况下,UM708中存储有存储器系统110中的数据或信息。主机存储器706可由例如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)的易失性存储器实现。当在存储器系统110从断电状态转换为通电状态之后而执行启动操作时,主机存储器706中的、作为装置使用存储器区域的UM 708被分配并报告至存储器系统110。
主机102的作为主机控制器接口(HCI)的装置接口单元704处理主机102的命令和数据,并且可通过诸如以下的各种接口协议中的至少一个与存储器系统110通信:USB(通用串行总线)、MMC(多媒体卡)、PCI-E(高速外围组件互连)、SAS(串列SCSI)、SATA(串行高级技术附件)、PATA(并行高级技术附件)、SCSI(小型计算机系统接口)、ESDI(增强型小型磁盘接口)、IDE(电子集成驱动器)以及MIPI(移动工业处理器接口)。
在控制器130基于与从主机102输入的写入命令相对应的数据的数据大小和数据类型,将存储在控制器存储器144中的数据段720复制到存储器装置150的SLC存储块0的情况下,控制器130将存储在控制器存储器144中的数据段720传送到主机存储器706的UM 708中。在数据大小小于阈值的情况下,控制器130将存储在控制器存储器144中的数据段720以SLC一次性写入单位大小复制到SLC存储块0。控制器130将存储在SLC存储块0中的数据段720以SLC一次性写入单位大小存储在主机存储器706的UM 708中。因此,包括在存储器装置150的SLC存储块0中的段730也被存储在UM 708中。因为段730以SLC一次性写入单位大小被存储在SLC存储块0中,所以控制器130以SLC一次性写入单位大小将段710存储在UM 708中。即,控制器130将存储在控制器存储器144中的数据段720以SLC一次性写入单位大小存储或复制到存储器装置150的SLC存储块0和主机102的UM 708中。
控制器130将存储在主机102的UM 708中的段710进行合并。控制器130将存储在主机102的UM 708中的段710按照以MLC/TLC一次性写入单位大小存储在存储器装置150的存储块中的方式进行合并。控制器130通过使用主机102的UM 708,对以SLC一次性写入单位大小而被存储在SLC存储块0中的段730执行数据合并操作。控制器130以MLC/TLC一次性写入单位大小来对存储在主机102的UM 708中的段710进行合并,使得以SLC一次性写入单位大小而存储在SLC存储块0中的段730被以MLC/TLC一次性写入单位大小而存储在存储器装置150的MLC/TLC存储块中。
控制器130将在主机102的UM 708中以MLC/TLC一次性写入单位大小进行合并的段710存储在存储器装置150的MLC/TLC存储块中,例如存储在MLC/TLC存储块1中。虽然为便于说明,将以下情况为例在本公开的实施例中进行描述:在主机102的UM 708中以MLC/TLC一次性写入单位大小进行合并的段710和存储在控制器存储器144中的数据段720被存储在不同的MLC/TLC存储块中,但应当注意的是,即使在段710、720被存储在相同的MLC/TLC存储块中的情况下也可以应用本公开。
控制器130对存储在存储器装置150的SLC存储块0中的段730执行数据迁移操作。控制器130将存储在存储器装置150的SLC存储块0中的段730以MLC/TLC一次性写入单位大小存储或复制到MLC/TLC存储块1中。在将段745存储在MLC/TLC存储块1中之后,控制器130对存储器装置150的SLC存储块0执行擦除操作。控制器130擦除存储在SLC存储块0中的段730。而且,控制器130将在主机102的UM 708中以MLC/TLC一次性写入单位大小进行合并的段710删除。控制器130通过使用主机102的UM 708将存储在存储器装置150的SLC存储块0中的段730迁移到存储器装置150的MLC/TLC存储块1中,而不对存储在存储器装置150的SLC存储块0中的段730进行访问和读取操作,从而可以提高存储器系统110的操作性能。
在控制器130通过存储在主机102的UM 708中的段710,在主机102的UM 708中对存储在存储器装置150的SLC存储块0中的段730执行数据合并操作的同时,在存储器系统110和主机102中发生断电的情况下,主机存储器706被初始化。因此,存储在主机102的UM 708中的段710不存在于主机102的UM 708中。具体地,在控制器130在主机102的UM 708中对存储在存储器装置150的SLC存储块0中的段730执行数据合并操作的同时,在存储器系统110和主机102中发生突然断电的情况下,主机存储器706和控制器存储器144被初始化。因此,段710、720不仅不存在于主机102的UM 708中,而且也不存在于控制器存储器144中。
在存储器系统110和主机102被再次通电的情况下,控制器130执行启动和恢复操作。在主机102的UM 708中执行数据合并操作的同时在存储器系统110和主机102中发生断电,并且然后存储器系统110和主机102被再次通电的情况下,控制器130将存储在存储器装置150的SLC存储块0中的段730加载到主机存储器706中的UM 708中。控制器130对加载到主机102的UM 708中的段710进行合并。控制器130将存储在主机102的UM 708中的段710按照以MLC/TLC一次性写入单位大小存储在存储器装置150的存储块中的方式进行合并。控制器130将在主机102的UM 708中以MLC/TLC一次性写入单位大小进行合并的段710存储在存储器装置150的MLC/TLC存储块中,例如存储在MLC/TLC存储块1中。在将段745存储在MLC/TLC存储块1中之后,控制器130对存储器装置150的SLC存储块0执行擦除操作。控制器130擦除存储在SLC存储块0中的段730。而且,控制器130将在主机102的UM 708中以MLC/TLC一次性写入单位大小进行合并的段710删除。因此,即使在通过使用主机102的UM 708而执行数据合并操作的同时在存储器系统110和主机102中发生断电,控制器130也可通过从存储器装置150的SLC存储块0加载待被在主机102的UM 708中执行数据合并操作的段710,来稳定地执行与存储器系统110和主机102中发生断电相对应的恢复操作和数据迁移操作。
为了有效地使用包括在存储器装置150中的多个存储块或者提高存储器系统110的操作性能,控制器130对包括在存储器装置150中的多个存储块执行数据迁移操作。在检查存储器装置150的存储块之中的SLC存储块的参数之后,控制器130对应于各个SLC存储块的参数来选择可选SLC存储块。控制器130将存储在可选SLC存储块中的段加载到主机存储器706中的UM 708中。控制器130对加载到主机102的UM 708中的段710进行合并。控制器130将存储在主机102的UM 708中的段710按照以MLC/TLC一次性写入单位大小存储在存储器装置150的存储块中的方式进行合并。
控制器130将在主机102的UM 708中以MLC/TLC一次性写入单位大小进行合并的段710存储在存储器装置150的MLC/TLC存储块中。在将段745存储在MLC/TLC存储块中之后,控制器130对存储器装置150的可选SLC存储块执行擦除操作,从而擦除存储在可选SLC存储块中的段。而且,控制器130将在主机102的UM 708中以MLC/TLC一次性写入单位大小进行合并的段710删除。
控制器130检查各个SLC存储块中的、与命令操作的执行相对应的计数参数或循环参数作为存储器装置150的SLC存储块的参数。例如,在检查存储器装置150的各个SLC存储块中的有效页面计数(VPC)之后,控制器130对应于有效页面计数在存储器装置150的SLC存储块之中选择可选SLC存储块。在将存储在可选SLC存储块中的有效页面中的有效数据的段加载到主机102的UM 708中之后,控制器130以MLC/TLC一次性写入单位大小对这些段进行合并。控制器130将在主机102的UM 708中以MLC/TLC一次性写入单位大小进行合并的段710存储在存储器装置150的MLC/TLC存储块中。控制器130通过对存储器装置150的可选SLC存储块执行擦除操作来擦除存储在可选SLC存储块中的段。控制器130将在主机102的UM 708中以MLC/TLC一次性写入单位大小进行合并的段710删除。
而且,控制器130检查存储在各个SLC存储块中的段的数据类型作为存储器装置150的SLC存储块的参数。例如,控制器130在存储器装置150的SLC存储块之中选择其中存储的段的数据类型为第二类型的SLC存储块。对应于SLC存储块的老化或对段的访问,可改变存储在SLC存储块中的段的数据类型。即,虽然在控制器130将数据存储在SLC存储块中的初始阶段,存储在SLC存储块中的段的数据类型可能是第一类型,但根据老化和访问,存储在SLC存储块中的段的数据类型可能改变成第二类型。存储在SLC存储块中的段从作为热数据、短期数据或随机数据或在位置、可靠性、值、优先级或可访问性方面具有较高级别的数据的段改变为作为冷数据、长期数据或顺序数据或在位置、可靠性、值、优先级或可访问性方面具有较低级别的数据的段。
在将存储在可选SLC存储块中的作为第二类型数据的段加载到主机102的UM 708中之后,控制器130以MLC/TLC一次性写入单位大小对段进行合并。控制器130将在主机102的UM 708中以MLC/TLC一次性写入单位大小进行合并的段710存储在存储器装置150的MLC/TLC存储块中。控制器130通过对存储器装置150的可选SLC存储块执行擦除操作来擦除存储在可选SLC存储块中的段。控制器130将在主机102的UM 708中以MLC/TLC一次性写入单位大小进行合并的段710删除。
在根据本公开的实施例的存储器系统中,当对应于从主机102输入的写入命令而将数据存储在存储器装置150的存储块中时,基于相应数据的数据大小和数据类型两者,将数据以一次性写入单位大小存储在存储器装置150的存储块之中的相应存储块中。对应于针对写入命令而从主机102输入的清除(flush)命令,数据可被稳定且可靠地存储在存储器装置150中。而且,通过经由包括在主机102中的存储器来执行数据合并操作和数据迁移操作,可提高存储器装置150的利用效率。可提高或增强存储器系统的操作性能。在下文中,将参照图8详细描述根据本公开的实施例的在存储器系统中处理数据的操作。
图8是根据实施例的在存储器系统中处理数据的操作过程的流程图。
参照图8,在步骤805中,存储器系统110从主机102接收多个命令,例如多个写入命令。
在步骤810中,与多个写入命令相对应的数据的段被存储在控制器存储器144中。当存储在控制器存储器144中的数据段的数据大小等于或大于阈值时,在步骤815中,将数据段以MLC/TLC一次性写入单位大小存储在存储器装置150的MLC/TLC存储块中。如果存储在控制器存储器144中的段的数据大小小于阈值,则在步骤820中,将存储在控制器存储器144中的数据段以SLC一次性写入单位大小存储在存储器装置150的SLC存储块和主机存储器706中的UM 708中。
在这方面,不仅根据存储在控制器存储器144中的段的大小而且根据段的类型,存储在控制器存储器144中的段可被存储在存储器装置150的MLC/TLC存储块中或者被存储在存储器装置150的SLC存储块和主机102的UM 708中。
在步骤825中,将存储在主机102的UM 708中的段进行合并。将存储在主机102的UM708中的段以MLC/TLC一次性写入单位大小进行合并,使得存储在主机102的UM 708中的段以MLC/TLC一次性写入单位大小被存储在存储器装置150的MLC/TLC存储块中。
在步骤830中,在主机102的UM 708中合并的段的数据大小等于或大于阈值的情况下,在步骤835中,将在主机102的UM 708中合并的段以MLC/TLC一次性写入单位大小存储在存储器装置150的MLC/TLC存储块中。在步骤825中,对存储在存储器装置150的SLC存储块中的段执行数据合并操作。在步骤835中,对存储在存储器装置150的SLC存储块中的段执行数据迁移操作。在主机102的UM 708中合并的段的数据大小小于阈值的情况下,在步骤825中,对存储在主机102的UM 708中的段进行合并。
在步骤840中,通过对存储器装置150的SLC存储块执行擦除操作来擦除存储在存储器装置150的SLC存储块中的段。将在主机102的UM 708中存储并合并的段删除。
因为以上参照图5至图7对关于以下的操作进行了详细描述,所以在此将省略对其的进一步描述:将与从主机102接收的多个写入命令相对应的数据存储在存储器装置150的存储块之中的相应存储块中,并且通过使用主机存储器706,对存储在各个存储块中的数据执行数据合并操作和数据迁移操作。在下文中,将参照图9至图17对应用了根据本公开的实施例的包括上面参照图1至图8描述的存储器装置150和控制器130的存储器系统110的数据处理系统和电子设备进行详细描述。
图9至图17是示意性示出图1的数据处理系统的应用示例的示图。
图9是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的图。图9示意性地示出应用了根据本实施例的存储器系统的存储卡系统。
参照图9,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可连接到由非易失性存储器实现的存储器装置6130。存储器控制器6120可被配置成访问存储器装置6130。作为示例而非限制,控制器6120可被配置为控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置为提供存储器装置6130和主机之间的接口并且使用用于控制存储器装置6130的固件。也就是说,存储器控制器6120可对应于参照图1至图7描述的存储器系统110的控制器130。存储器装置6130可对应于参照图1至图7描述的存储器系统110的存储器装置150。
因此,存储器控制器6120可包括RAM、处理单元、主机接口、存储器接口和错误校正单元。存储器控制器130可进一步包括图5所示的元件。
存储器控制器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-MRAM)。存储器装置6130可包括图5的存储器装置150中的多个存储器管芯。
存储器控制器6120和存储器装置6130可被集成到单个半导体装置中。作为示例而非限制,存储器控制器6120和存储器装置6130可以通过集成到单个半导体装置中来构造固态驱动器(SSD)。而且,存储器控制器6120和存储器装置6130可构造诸如以下的存储卡:PC卡(PCMCIA:个人计算机存储卡国际协会)、标准闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、SD卡(例如,SD、迷你SD、微型SD和SDHC)和通用闪速存储器(UFS)。
图10是示意性地示出根据本实施例的包括存储器系统的数据处理系统的另一示例的示图。
参照图10,数据处理系统6200可包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图10所示的数据处理系统6200可以用作诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质,如参照图1描述的。存储器装置6230可对应于图1至图7所示的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于图1至图7所示的存储器系统110的控制器130。
存储器控制器6220可响应于主机6210的请求来控制对存储器装置6230的读取操作、写入操作或擦除操作。存储器控制器6220可包括一个或多个CPU 6221、诸如RAM 6222的缓冲存储器、ECC电路6223、主机接口6224和诸如NVM接口6225的存储器接口。
CPU 6221可以控制对存储器装置6230的整体操作,例如读取操作、写入操作、文件系统管理操作和坏页面管理操作。RAM 6222可以根据CPU6221的控制来操作,并且用作工作存储器、缓冲存储器或高速缓冲存储器。当RAM 6222用作工作存储器时,由CPU 6221处理的数据可以临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222可以用于缓冲从主机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码、涡轮码、里德-所罗门码、卷积码、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被配置为通过一种或多种各种通信协议与外部装置通信,所以根据本实施例的存储器系统和数据处理系统可以应用于有线/无线电子装置或特别是移动电子装置。
图11是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图11示意性地示出应用了根据本实施例的存储器系统的SSD。
参照图11,SSD 6300可包括控制器6320和包括多个非易失性存储器的存储器装置6340。控制器6320可对应于图1至图7的存储器系统110的控制器130。存储器装置6340可对应于图1至图7的存储器系统中的存储器装置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的非易失性存储器中的至少一个来实施。为了便于描述,图10示出缓冲存储器6325存在于控制器6320中。然而,缓冲存储器6325可以存在于控制器6320的外部。
ECC电路6322可在编程操作期间计算待编程到存储器装置6340中的数据的ECC值。ECC电路6322可在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作。ECC电路6322可在失败的数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可以利用例如主机6310的外部装置提供接口功能,非易失性存储器接口6326可以利用通过多个通道连接的存储器装置6340提供接口功能。
此外,应用了图1至图7的存储器系统110的多个SSD 6300可被提供以实施例如RAID(独立磁盘的冗余阵列)系统的数据处理系统。例如,RAID系统可包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可以根据多个RAID级别,即,从SSD 6300中的主机6310提供的写入命令的RAID级别信息来选择一个或多个存储器系统或SSD 6300,以将对应于写入命令的数据输出到选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取命令时,RAID控制器可以根据多个RAID级别,即,从SSD 6300中的主机6310提供的读取命令的RAID级别信息来选择一个或多个存储器系统或SSD 6300,并且将从选择的SSD 6300读取的数据输出给主机6310。
图12是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的图。图12示意性地示出了应用了根据本实施例的存储器系统的嵌入式多媒体卡(eMMC)。
参照图12,eMMC 6400可包括控制器6430和由一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1至图7的存储器系统110的控制器130。存储器装置6440可对应于图1至图7的存储器系统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)接口。
图13至图16是示意性地示出根据实施例的包括存储器系统的数据处理系统的其它示例的图。图13至图16示意性地示出了应用了根据本实施例的存储器系统的UFS(通用闪速存储)系统。
参照图13至图16,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至图7所示的存储器系统110来实现。例如,在UFS系统6500、6600、6700、6800中,UFS装置6520、6620、6720、6820可以参照图10至图12描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实现,并且UFS卡6530、6630、6730、6830可以参照图9描述的存储卡系统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的各种协议彼此通信。
在图13所示的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。
在图14所示的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。
在图15所示的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。
在图16所示的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。
图17是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的图。图17示意性地示出了应用了根据本实施例的存储器系统的用户系统。
参照图17,用户系统6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可以驱动包括在例如OS的用户系统6900中的部件,并且包括用于控制包括在用户系统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闪存和3维NAND闪存。存储模块6950可被提供为诸如用户系统6900的存储卡和外部驱动器的可移除存储介质。存储模块6950可以对应于以上参照图1至图7描述的存储器系统110。此外,存储模块6950可以利用以上参照图11至图16描述的SSD、eMMC和UFS来实施。
用户接口6910可包括用于将数据或命令输入到应用处理器6930或用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、发光二极管(LED)、扬声器和马达的用户输出接口。
此外,当其中图1至图7的存储器系统110被应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的全部操作。网络模块6940可用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示由处理器6930处理的数据。用户接口6910可支持从触摸面板接收数据的功能。
根据本实施例的存储器系统及其操作方法可以最小化存储器系统的复杂度和性能劣化并且最大化存储器装置的使用效率,从而关于存储器装置快速且稳定地处理数据。
虽然为了说明的目的已经描述各个实施例,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可以进行各种改变和变型。

Claims (18)

1.一种存储器系统,包括:
存储器装置,其包括多个存储块,所述多个存储块中的每一个包括用于存储数据的多个页面;以及
控制器,包括第一存储器,所述控制器:
将与从主机接收的多个命令相对应的数据的段存储在所述第一存储器中,
对应于所述段的数据大小和数据类型,将存储在所述第一存储器中的段以第一单位大小存储在所述存储块之中的第一存储块中,以及
将存储在所述第一存储块中的段以第二单位大小存储在所述存储块之中的第二存储块中,
其中所述控制器将存储在所述第一存储器中的段以所述第一单位大小存储在所述主机中包括的第二存储器中,将存储在所述第二存储器中的段以所述第二单位大小进行合并,以及将在所述第二存储器中合并的段存储在所述第二存储块中。
2.根据权利要求1所述的存储器系统,其中针对所述段被存储在所述第二存储块中,所述控制器将所述第二存储器中的相应段删除并且将所述第一存储块中的相应段擦除。
3.根据权利要求1所述的存储器系统,其中在所述数据大小小于阈值的情况下,所述控制器将存储在所述第一存储器中的段存储在所述第一存储块中,并且在所述数据大小等于或大于所述阈值的情况下,所述控制器将存储在所述第一存储器中的段存储在所述第二存储块中。
4.根据权利要求1所述的存储器系统,其中在所述数据类型为第一类型的情况下,所述控制器将存储在所述第一存储器中的段存储在所述第一存储块中,并且在所述数据类型为第二类型的情况下,所述控制器将存储在所述第一存储器中的段存储在所述第二存储块中。
5.根据权利要求4所述的存储器系统,其中在对应于所述第一存储块和存储在所述第一存储块中的段的老化和访问,存储在所述第一存储块中的段的数据类型被改变成所述第二类型的情况下,所述控制器将存储在所述第一存储块中的段加载在所述第二存储器中,以所述第二单位大小对加载在所述第二存储器中的段进行合并,并且将在所述第二存储器中合并的段存储在所述第二存储块中。
6.根据权利要求1所述的存储器系统,其中在所述主机和所述存储器系统发生断电之后,所述主机和所述存储器系统被再次通电的情况下,所述控制器将存储在所述第一存储块中的段加载在所述第二存储器中,以所述第二单位大小对加载在所述第二存储器中的段进行合并,并且将在所述第二存储器中合并的段存储在所述第二存储块中。
7.根据权利要求1所述的存储器系统,其中在检查所述第一存储块的参数之后,所述控制器对应于所述参数在所述第一存储块之中选择第三存储块,并且将存储在所述第三存储块中的段加载在所述第二存储器中。
8.根据权利要求7所述的存储器系统,其中所述控制器以所述第二单位大小对加载在所述第二存储器中的段进行合并,并且将在所述第二存储器中合并的段存储在所述第二存储块中,并且针对所述段被存储在所述第二存储块中,将所述第二存储器中的相应段删除并且将所述第三存储块中的相应段擦除。
9.根据权利要求1所述的存储器系统,
其中所述第一存储块是存储单个位数据的存储块,以及
其中所述第二存储块是存储多位数据的存储块。
10.一种操作存储器系统的方法,包括:
从主机接收用于存储器装置的多个命令,所述存储器装置包括多个存储块,所述多个存储块中的每一个包括用于存储数据的多个页面;
将与所述多个命令相对应的数据的段存储在所述存储器系统的控制器中包括的第一存储器中;
对应于所述段的数据大小和数据类型,将存储在所述第一存储器中的段以第一单位大小存储在所述存储块之中的第一存储块中;并且
将存储在所述第一存储块中的段以第二单位大小存储在所述存储块之中的第二存储块中,
其中以所述第二单位大小进行存储包括:
将存储在所述第一存储器中的段以所述第一单位大小存储在所述主机中包括的第二存储器中;
将存储在所述第二存储器中的段以所述第二单位大小进行合并;并且
将在所述第二存储器中合并的段存储在所述第二存储块中。
11.根据权利要求10所述的方法,其进一步包括:
针对所述段被存储在所述第二存储块中,将所述第二存储器中的相应段删除并且将所述第一存储块中的相应段擦除。
12.根据权利要求10所述的方法,其进一步包括:
在所述数据大小小于阈值的情况下,将存储在所述第一存储器中的段存储在所述第一存储块中;并且
在所述数据大小等于或大于所述阈值的情况下,将存储在所述第一存储器中的段存储在所述第二存储块中。
13.根据权利要求10所述的方法,其进一步包括:
在所述数据类型为第一类型的情况下,将存储在所述第一存储器中的段存储在所述第一存储块中,并且
在所述数据类型为第二类型的情况下,将存储在所述第一存储器中的段存储在所述第二存储块中。
14.根据权利要求13所述的方法,其进一步包括:
在对应于所述第一存储块和存储在所述第一存储块中的段的老化的访问,存储在所述第一存储块中的段的数据类型被改变成所述第二类型的情况下,将存储在所述第一存储块中的段加载在所述第二存储器中;并且
以所述第二单位大小对加载在所述第二存储器中的段进行合并,并且将在所述第二存储器中合并的段存储在所述第二存储块中。
15.根据权利要求10所述的方法,其进一步包括:
在所述主机和所述存储器系统发生断电之后,所述主机和所述存储器系统被再次通电的情况下,将存储在所述第一存储块中的段加载在所述第二存储器中;并且
以所述第二单位大小对加载在所述第二存储器中的段进行合并,并且将在所述第二存储器中合并的段存储在所述第二存储块中。
16.根据权利要求10所述的方法,其进一步包括:
在检查所述第一存储块的参数之后,对应于所述参数在所述第一存储块之中选择第三存储块;并且
将存储在所述第三存储块中的段加载在所述第二存储器中。
17.根据权利要求16所述的方法,其进一步包括:
以所述第二单位大小对加载在所述第二存储器中的段进行合并,并且将在所述第二存储器中合并的段存储在所述第二存储块中;并且
针对所述段被存储在所述第二存储块中,将所述第二存储器中的相应段删除并且将所述第三存储块中的相应段擦除。
18.根据权利要求10所述的方法,
其中所述第一存储块是存储单个位数据的存储块,并且
其中所述第二存储块是存储多位数据的存储块。
CN201810951411.7A 2017-12-20 2018-08-21 存储器系统及其操作方法 Active CN109947358B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0176214 2017-12-20
KR1020170176214A KR20190074677A (ko) 2017-12-20 2017-12-20 메모리 시스템 및 메모리 시스템의 동작 방법

Publications (2)

Publication Number Publication Date
CN109947358A CN109947358A (zh) 2019-06-28
CN109947358B true CN109947358B (zh) 2022-05-17

Family

ID=66814502

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810951411.7A Active CN109947358B (zh) 2017-12-20 2018-08-21 存储器系统及其操作方法

Country Status (3)

Country Link
US (1) US10564879B2 (zh)
KR (1) KR20190074677A (zh)
CN (1) CN109947358B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200007595A (ko) * 2018-07-13 2020-01-22 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR20210016938A (ko) * 2019-08-06 2021-02-17 에스케이하이닉스 주식회사 데이터 처리 시스템 및 그것의 동작방법
CN111506262B (zh) * 2020-03-25 2021-12-28 华为技术有限公司 一种存储系统、文件存储和读取方法及终端设备
US11403032B2 (en) * 2020-09-10 2022-08-02 Micron Technology, Inc. Data transfer management within a memory device having multiple memory regions with different memory densities
CN114327240A (zh) * 2020-09-29 2022-04-12 慧荣科技股份有限公司 计算机可读存储介质、闪存存储器的数据存储方法及装置
KR20220079212A (ko) * 2020-12-04 2022-06-13 삼성전자주식회사 가비지 컬렉션을 수행하기 위한 전자 장치 및 방법
KR20220118740A (ko) 2021-02-19 2022-08-26 에스케이하이닉스 주식회사 메모리 시스템 및 호스트를 포함하는 전자 시스템
US11899974B2 (en) * 2021-10-05 2024-02-13 Silicon Motion, Inc. Method and apparatus for performing automatic setting control of memory device in predetermined communications architecture with aid of auxiliary setting management
US11733914B2 (en) 2021-10-29 2023-08-22 Western Digital Technologies, Inc. Direct write operation for quad-level cell based data storage devices
US20230153238A1 (en) * 2021-11-12 2023-05-18 Samsung Electronics Co., Ltd. Method of operating a storage device using multi-level address translation and a storage device performing the same
EP4231132A1 (en) * 2022-02-18 2023-08-23 Samsung Electronics Co., Ltd. Memory system for tailoring data, host system for controlling the memory system, and operation method of the memory system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572478A (zh) * 2013-10-14 2015-04-29 联想(北京)有限公司 数据存取方法和数据存取装置
CN106775442A (zh) * 2015-11-19 2017-05-31 爱思开海力士有限公司 存储器系统及其操作方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110252187A1 (en) * 2010-04-07 2011-10-13 Avigdor Segal System and method for operating a non-volatile memory including a portion operating as a single-level cell memory and a portion operating as a multi-level cell memory
US9141528B2 (en) 2011-05-17 2015-09-22 Sandisk Technologies Inc. Tracking and handling of super-hot data in non-volatile memory systems
US20120297121A1 (en) * 2011-05-17 2012-11-22 Sergey Anatolievich Gorobets Non-Volatile Memory and Method with Small Logical Groups Distributed Among Active SLC and MLC Memory Partitions
CN103455440A (zh) * 2012-06-04 2013-12-18 慧荣科技股份有限公司 快闪内存装置及快闪内存的数据存取方法
JP5836903B2 (ja) 2012-09-04 2015-12-24 株式会社東芝 情報処理装置
JP5826728B2 (ja) 2012-09-07 2015-12-02 株式会社東芝 情報処理装置
CN107391389B (zh) 2013-08-05 2020-11-24 慧荣科技股份有限公司 用来管理一记忆装置的方法以及记忆装置与控制器
US9563382B2 (en) 2014-06-05 2017-02-07 Sandisk Technologies Llc Methods, systems, and computer readable media for providing flexible host memory buffer
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)
KR20160058458A (ko) * 2014-11-17 2016-05-25 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR102514388B1 (ko) * 2016-03-25 2023-03-28 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
TWI606336B (zh) * 2016-04-21 2017-11-21 慧榮科技股份有限公司 儲存裝置及其控制單元、可用於儲存裝置的資料儲存方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572478A (zh) * 2013-10-14 2015-04-29 联想(北京)有限公司 数据存取方法和数据存取装置
CN106775442A (zh) * 2015-11-19 2017-05-31 爱思开海力士有限公司 存储器系统及其操作方法

Also Published As

Publication number Publication date
US20190187900A1 (en) 2019-06-20
CN109947358A (zh) 2019-06-28
KR20190074677A (ko) 2019-06-28
US10564879B2 (en) 2020-02-18

Similar Documents

Publication Publication Date Title
CN110399311B (zh) 存储器系统及该存储器系统的操作方法
CN108255739B (zh) 存储器系统及其操作方法
CN109947358B (zh) 存储器系统及其操作方法
CN107797882B (zh) 存储器系统及其操作方法
CN107643985B (zh) 存储器系统及其操作方法
CN107562649B (zh) 存储器系统及其操作方法
CN110858180B (zh) 数据处理系统及其操作方法
CN107346213B (zh) 存储器系统及其操作方法
CN110765035B (zh) 存储器系统及其操作方法
CN107450845B (zh) 存储器系统及其操作方法
CN110347330B (zh) 存储器系统及其操作方法
CN108268212B (zh) 控制器及操作方法
US20180101454A1 (en) Memory system and operation method for the same
CN108694138B (zh) 控制器及其操作方法
US20180074718A1 (en) Memory system and method for operating the same
CN107346214B (zh) 存储器系统及其操作方法
CN108108308B (zh) 存储器系统及其操作方法
CN109032501B (zh) 存储器系统及其操作方法
CN107562653B (zh) 存储器系统及其操作方法
CN107807887B (zh) 存储器系统及其操作方法
CN109933468B (zh) 存储器系统及其操作方法
CN110647290B (zh) 存储器系统及其操作方法
CN108733616B (zh) 包括多处理器的控制器及其操作方法
US20180081551A1 (en) Memory system and operating method thereof
CN110570894A (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