CN110321069B - 存储器系统及其操作方法 - Google Patents
存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN110321069B CN110321069B CN201811430791.6A CN201811430791A CN110321069B CN 110321069 B CN110321069 B CN 110321069B CN 201811430791 A CN201811430791 A CN 201811430791A CN 110321069 B CN110321069 B CN 110321069B
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- segments
- mapped
- segment
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 679
- 238000000034 method Methods 0.000 title claims description 29
- 238000013507 mapping Methods 0.000 claims description 169
- 238000012545 processing Methods 0.000 claims description 37
- 230000004044 response Effects 0.000 claims description 31
- 239000000872 buffer Substances 0.000 description 113
- 238000010586 diagram Methods 0.000 description 18
- 238000012937 correction Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 238000007726 management method Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 238000010926 purge Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000003936 working memory Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 2
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000011017 operating method Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 239000003623 enhancer Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0626—Reducing size or complexity of storage systems
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- 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/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
-
- 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/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- 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
-
- 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
Abstract
本发明涉及一种存储器系统,该存储器系统可包括:存储器装置,包括多个存储器管芯;以及控制器,包括第一存储器,其中控制器可将与从主机接收的多个命令相对应的用户数据的数据段存储在第一存储器中,控制存储器装置通过交错来顺序地将数据段存储在存储器管芯中,可更新与数据段在存储器管芯中的存储相对应的映射数据的映射段,可将映射段存储在第一存储器中,控制存储器装置以将存储在第一存储器中的映射段存储在存储器管芯中,并且可帮助主机将存储在第一存储器中的映射段存储在主机中的第二存储器中。
Description
相关申请的交叉引用
本申请要求于2018年3月28日提交的申请号为10-2018-0036137的韩国专利申请的优先权,其公开全文通过引用并入本文。
技术领域
本发明的各个实施例总体涉及一种存储器系统。特别地,实施例涉及一种处理关于存储器装置的数据的存储器系统及其操作方法。
背景技术
计算机环境范例已经转变为普适计算,其中可在任何时间和任何地点使用计算机系统。因此,诸如移动电话、数码相机和笔记本计算机的便携式电子装置的使用已经快速增长。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统来存储数据。存储器系统可用作便携式电子装置的主存储器或辅助存储器。
因为这种存储器系统不具有移动部件,所以它们提供优良的稳定性、耐久性、高信息访问速度和低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
发明内容
各个实施例涉及一种存储器系统及其操作方法,其能够最小化存储器系统的复杂性和性能劣化并最大化存储器装置的使用效率,从而快速且稳定地针对存储器装置处理数据。
根据本发明的实施例,一种存储器系统可包括:存储器装置,包括多个存储器管芯;以及控制器,包括第一存储器,其中控制器可将与从主机接收的多个命令相对应的用户数据的数据段存储在第一存储器中,控制存储器装置通过交错来顺序地将数据段存储在存储器管芯中,可更新与数据段在存储器管芯中的存储相对应的映射数据的映射段,可将映射段存储在第一存储器中,控制存储器装置以将存储在第一存储器中的映射段存储在存储器管芯中,并且可帮助主机将存储在第一存储器中的映射段存储在主机中的第二存储器中。
控制器可在第一周期中将数据段的第一数据段组存储在第一存储器中,并控制存储器装置以通过交错将第一数据段组存储在存储器管芯中,并且在第一周期之后的第二周期中,可将数据段的第二数据段组存储在第一存储器中,并控制存储器装置以通过交错将第二数据段组存储在存储器管芯中。
控制器可更新与第一数据段组在存储器管芯中的存储相对应的映射段的第一映射段组,可将第一映射段组存储在第一存储器中,并且可帮助主机将第一映射段组中的第一映射段存储在第二存储器中。
控制器可通过参考第一映射段来更新与第二数据段组在存储器管芯中的存储相对应的映射段的第二映射段组,可将第二映射段组存储在第一存储器中,可帮助主机丢弃存储在第二存储器中的第一映射段,并且控制存储器装置以将存储在第一存储器中的映射段组存储在存储器管芯中。
在第一存储器中可能存在第一映射段的情况下,控制器可通过参考第一存储器中的第一映射段来更新第二映射段组。
在第一存储器中可能不存在第一映射段的情况下,控制器可通过参考存储在第二存储器中的第一映射段来更新第二映射段组。
第一映射段可以是以下中的至少一个:映射段中的可被最后更新的映射段、可能具有最大大小的映射段以及可能具有最大过载的映射段。
命令可具有顺序模式,并且用户数据和映射数据可以是顺序数据。
控制器可更新映射段作为映射数据,映射数据中可包括开始位置信息和大小信息,并且控制存储器装置将更新的映射数据存储在存储器管芯中。
控制器控制存储器装置通过通道交错、通路交错和存储器管芯交错中的至少一种将数据段和映射段存储在存储器管芯中。
根据本发明的实施例,一种用于操作存储器系统的方法可包括:从主机接收多个命令,用于包括多个存储器管芯的存储器装置;将对应于命令的用户数据的数据段存储在包括在存储器装置的控制器中的第一存储器中,并且通过交错将数据段顺序地存储在存储器管芯中;更新与数据段在存储器管芯中的存储相对应的映射数据的映射段,并且将映射段存储在第一存储器中;并且将存储在第一存储器中的映射段存储在存储器管芯和包括在主机中的第二存储器中。
将数据段存储在存储器管芯中可包括:在第一周期中,将数据段的第一数据段组存储在第一存储器中,并通过交错将第一数据段组存储在存储器管芯中;并且在第一周期之后的第二周期中,将第二数据段组存储在第一存储器中,并通过交错将第二数据段组存储在存储器管芯中。
将映射段存储在第一存储器中可包括:更新与第一数据段组在存储器管芯中的存储相对应的映射段的第一映射段组,并且将第一映射段组存储在第一存储器中,并且将映射段存储在第二存储器中可包括将第一映射段组中的第一映射段存储在第二存储器中。
将映射段存储在第一存储器中可包括:通过参考第一映射段来更新与第二数据段组在存储器管芯中的存储相对应的映射段的第二映射段组,并且将第二映射段组存储在第一存储器中;丢弃存储在第二存储器中的第一映射段;并且将存储在第一存储器中的映射段组存储在存储器管芯中。
将映射段存储在第一存储器中可包括:通过参考第一存储器中的第一映射段来更新第二映射段组。
将映射段存储在第一存储器中可包括:通过参考存储在第二存储器中的第一映射段来更新第二映射段组。
第一映射段可以是以下中的至少一个:映射段中的可能被最后更新的映射段、可能具有最大大小的映射段以及可能具有最大过载的映射段。
命令可具有顺序模式,并且用户数据和映射数据可以是顺序数据。
该方法可进一步包括:更新映射段作为映射数据,映射数据中可包括开始位置信息和大小信息,并且将更新的映射数据存储在存储器管芯中。
该方法可进一步包括:通过通道交错、通路交错和存储器管芯交错中的至少一种将数据段和映射段存储在存储器管芯中。
根据本发明的实施例,数据处理系统可包括:主机,包括第一存储器,并且配置成分别针对第一和第二顺序数据提供第一和第二写入请求;存储器装置,包括存储器管芯;以及控制器,包括存储映射数据的第二存储器,并且控制器配置成:响应于第一写入请求,在第一周期期间,控制存储器装置以顺序的次序将第一顺序数据存储在存储器管芯中;在第一周期期间更新用于第一数据的映射数据;在第一周期期间,帮助主机将更新的映射数据的一部分存储在第一存储器中;响应于第二写入请求,在第二周期期间,控制存储器装置以顺序的次序将第二顺序数据存储在存储器管芯中;通过参考存储在第一和第二存储器中的一个中的映射数据,在第二周期期间更新用于第一和第二顺序数据两者的映射数据;并且在第二周期期间,帮助主机将更新的映射数据的一部分存储在第一存储器中。
附图说明
根据参照附图的以下具体实施方式,本发明的这些和其它特征及优点对于本发明所属领域的技术人员将变得显而易见,其中:
图1是示出根据本发明的实施例的包括存储器系统的数据处理系统的框图;
图2是示出图1所示的存储器系统中采用的存储器装置的示例性配置的示意图;
图3是示出图2所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图;
图4是示出图2所示的存储器装置的示例性三维结构的示意图;
图5至图9是帮助说明根据本发明的实施例的存储器系统中的数据处理操作的示意图;
图10是描述根据本发明的实施例的用于处理存储器系统中的数据的操作过程的流程图;
图11至图19是示意性示出根据本发明的各个实施例的数据处理系统的示例性应用的示图。
具体实施方式
以下将参照附图更详细地描述本发明的各个实施例。然而,本发明可以不同形式实施,因此不应被解释为限于本文阐述的实施例。相反地,提供这些实施例以使本公开彻底且充分,并且将本发明的范围全面地传达给本领域的技术人员。在整个本公开中,相同的附图标记在本发明的各个附图和实施例中表示相同的部件。
以下参照附图更详细地描述本发明的各个实施例。然而,注意的是,本发明可以在不同的其它实施例、形式和变化中实施,并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开将是彻底且完全的,并且将向本发明所属领域的技术人员完全传达本发明。在整个公开中,相同的附图标记在整个本发明的各个附图和实施例中表示相同的部件。而且,在整个说明书中,对“一个实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种措词的不同参考不一定针对相同的实施例。
将理解的是,虽然术语“第一”、“第二”、“第三”等可在本文使用以识别各个元件,但是这些元件不受这些术语限制。这些术语用于将一个元件与另一个具有相同或相似名称的元件区分开。因此,在不脱离本发明的技术方案和范围的情况下,一个示例中的第一元件在另一示例中可被称为第二元件或第三元件。
附图不一定按比例绘制,在一些情况下,为了清楚地示出实施例的特征,可能已经放大了比例。
将进一步理解的是,当一个元件被称为“连接至”或“联接至”另一元件时,它可以直接在其它元件上、连接至或联接至其它元件,或可存在一个或多个中间元件。另外,也将理解的是,当元件被称为在两个元件“之间”时,两个元件之间可以仅有一个元件或也可存在一个或多个中间元件。除非上下文另有明确说明,否则两个元件之间的通信,无论直接或间接联接,可以是有线的或无线的。
本文使用的术语的目的是描述特定实施例而不旨在限制本发明。如本文使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式,反之亦然。将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其说明所陈述元件的存在,并不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和全部组合。
除非另有限定,否则本文所使用的包括技术术语和科学术语的所有术语具有与本发明所属领域中普通技术人员通常理解的含义相同的含义。将进一步理解的是,诸如在常用字典中定义的那些术语的术语应当被解释为具有与其在本公开和相关技术语境中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文中明确地这样定义。
在以下描述中,为了提供本发明的彻底理解,阐述了许多具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,为了避免不必要地模糊本发明,未详细地描述公知的进程结构和/或进程。
也应注意的是,在一些情况下,对相关领域的技术人员显而易见的是,结合一个实施例描述的特征或元件可单独使用或与另一实施例的其它特征或元件结合使用,除非另有明确说明。
图1是示出根据本发明的实施例的包括存储器系统110的数据处理系统100的框图。
参照图1,数据处理系统100可包括主机102和存储器系统110。
参照图1,数据处理系统100可包括被可操作地联接至存储器系统110的主机102。
主机102可包括诸如移动电话、MP3播放器和膝上型计算机的各种便携式电子装置中的任何一种或诸如台式电脑、游戏机、TV和投影仪的各种非便携式电子装置中的任何一种。
主机102可包括至少一个OS(操作系统),该OS可管理和控制主机102的全部功能和操作。OS可支持主机102和使用数据处理系统100或存储器系统110的用户之间的操作。OS可支持用户请求的功能和操作。例如,根据主机102的移动性,OS可被划分为通用OS和移动OS。根据用户的环境,通用OS可被分为个人OS和企业OS。例如,支持向一般用户提供服务的功能的个人OS可包括Windows和Chrome,并且保护和支持高性能的企业OS可包括Windows服务器、Linux和Unix。此外,支持向用户提供移动服务的功能和系统的省电功能的移动OS可包括安卓、iOS和Windows Mobile。主机102可包括多个操作系统。主机102可执行OS以在存储器系统110上执行对应于用户的请求的操作。此处,主机102可向存储器系统110提供对应于用户请求的多个命令。因此,存储器系统110可执行对应于多个命令的某些操作,即执行对应于用户请求的某些操作。
存储器系统110可响应于主机102的请求来存储用于主机102的数据。存储器系统110的非限制性示例可包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用串行总线(USB)装置、通用闪速存储(UFS)装置、标准闪存(CF)卡、智能媒体卡(SMC)、个人计算机存储卡国际协会(PCMCIA)卡和记忆棒。MMC可包括嵌入式MMC(eMMC)、尺寸减小的MMC(RS-MMC)和微型-MMC。SD卡可包括迷你-SD卡和微型-SD卡。
存储器系统110可包括各种类型的存储装置。这种存储装置的非限制性示例包括诸如DRAM动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置和诸如以下的非易失性存储器装置:只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器。
存储器系统110可包括存储器装置150和控制器130。存储器装置150可以存储用于主机102的数据,并且控制器130可控制将数据存储到存储器装置150中。
控制器130和存储器装置150可被集成到单个半导体装置中,单个半导体装置可被包括在如上所述的各种类型的存储器系统中的任何一种中。例如,控制器130和存储器装置150可被集成为单个半导体装置以构成SSD。当存储器系统110用作SSD时,连接到存储器系统110的主机102的操作速度可被提高。例如,控制器130和存储器装置150可被集成为单个半导体装置以构成诸如以下的存储卡:PCMCIA(个人计算机存储卡国际协会)卡、CF卡、SMC(智能媒体卡)、记忆棒、包括RS-MMC和微型-MMC的MMC、包括迷你-SD、微型-SD和SDHC的SD卡、或UFS装置。
存储器系统110的非限制性应用可包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、3维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、建立数据中心的存储装置、能够在无线环境下传输/接收信息的装置、建立家庭网络的各种电子装置中的一个、建立计算机网络的各种电子装置中的一个、建立远程信息处理的各种电子装置中的一个、射频识别(RFID)装置或建立计算系统的各种部件中的一个。
存储器装置150可以是非易失性存储器装置,其即使不供应电力,也可保留存储的数据。存储器装置150可通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在其中的数据输出给主机102。在实施例中,存储器装置150可包括多个存储器管芯(未示出),每一个存储器管芯可包括多个平面(未示出)。每一个平面可包括多个存储块152至156,存储块中的每一个可包括多个页面,页面中的每一个可包括联接到字线的多个存储器单元。在实施例中,存储器装置150可以是具有三维(3D)堆叠结构的闪速存储器。
以下将参照图2至图4详细描述存储器装置150的3D堆叠结构和存储器装置150的结构。下面将参照图6详细描述包括多个存储器管芯的存储器装置150,存储器管芯中的每一个包括多个平面,平面中的每一个包括诸如多个存储块152至156的存储块。因此,在此省略对其的进一步描述。
控制器130可响应于来自主机102的请求来控制存储器装置150。例如,控制器130可将从存储器装置150读取的数据提供给主机102,并且可将从主机102提供的数据存储到存储器装置150中。对于该操作,控制器130可控制存储器装置150的读取操作、写入操作、编程操作和擦除操作。
更具体地,控制器130可包括主机接口(I/F)132、处理器134、错误校正码(ECC)部件138、电源管理单元(PMU)140、存储器接口142和存储器144,所有这些都经由内部总线可操作地联接或接合。
主机接口132可处理主机102的命令和数据。主机接口132可通过诸如以下的各种接口协议中的一个或多个与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-E)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。主机接口132可经由固件来驱动,即经由用于与主机102交换数据的主机接口层(HIL)来驱动。
进一步地,ECC部件138可校正待通过存储器装置150处理的数据的错误位,并且可包括ECC编码器和ECC解码器。ECC编码器可对待编程到存储器装置150中的数据执行错误校正编码以生成添加了奇偶校验位的数据。包括奇偶校验位的数据可被存储在存储器装置150中。ECC解码器可检测并校正包括在从存储器装置150读取的数据中的错误。换言之,ECC部件138可通过在ECC编码进程期间使用的ECC代码对从存储器装置150读取的数据执行错误校正解码进程。根据错误校正解码进程的结果,ECC部件138可输出信号,例如错误校正成功或失败信号。当错误位的数量大于可校正错误位的阈值时,ECC部件138不校正错误位,并且相反地,可输出错误校正失败信号。
ECC部件138可通过诸如低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、涡轮码、里德-所罗门(Reed-Solomon)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)、分组编码调制(BCM)等的编码调制执行错误校正操作。然而,ECC部件138不限于这些错误校正技术。这样,ECC单元138可包括用于执行适当的错误校正的任何和所有电路、模块、系统或装置。
PMU 140可管理在控制器130中使用和提供的电源。
存储器接口142可用作控制器130与存储器装置150之间的存储器/存储接口,使得控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器,或具体地是NAND闪速存储器时,存储器接口142可以是NAND闪速控制器(NFC),并且可生成用于存储器装置150的控制信号,并执行数据处理。存储器接口142可在处理器134的控制下为存储器装置150提供数据。存储器接口142可用作用于处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。具体地,存储器接口142可支持控制器130和存储器装置150之间的数据传输。存储器接口142可使用固件,即使用闪存接口层(FIL)来与存储器装置150交换数据。
存储器144可用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。控制器130可响应于来自主机102的请求来控制存储器装置150执行读取操作、编程操作和擦除操作。控制器130可将从存储器装置150读取的数据提供给主机102并可将从主机102提供的数据存储到存储器装置150中。存储器144可以存储控制器130和存储器装置150执行这些操作所需的数据。
存储器144可以是易失性存储器。例如,存储器144可以是静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。存储器144可被设置在控制器130的内部或外部。图1示出了设置在控制器130内的存储器144。在实施例中,存储器144可以是具有在存储器144和控制器130之间传输数据的存储器接口的外部易失性存储器。
如上所述,存储器144可包括程序存储器、数据存储器、写入缓冲器/高速缓冲器、读取缓冲器/高速缓冲器、数据缓冲器/高速缓冲器以及映射缓冲器/高速缓冲器,以存储在主机102和存储器装置150之间执行数据写入和读取操作所需的一些数据以及存储控制器130和存储器装置150执行这些操作所需的其它数据。
处理器134可控制存储器系统110的全部操作。具体地,处理器134响应于来自主机102的写入请求或读取请求来控制对存储器装置150的编程操作或读取操作。处理器134可使用固件以控制存储器系统110的全部操作。固件可被称为闪存转换层(FTL)。控制器130可被实施为微处理器、CPU等。
例如,控制器130可通过被实施为微处理器或CPU等处理器134而在存储器装置150中执行主机102请求的操作。换言之,控制器130可执行对应于从主机102输入的命令的命令操作。在本文中,控制器130可执行前台操作作为对应于从主机102接收的命令的命令操作。例如,前台操作可包括对应于写入命令的编程操作、对应于读取命令的读取操作、对应于擦除命令的擦除操作以及对应于作为设置命令的设置参数命令或设置特征命令的参数设置操作。而且,控制器130可通过可被实现为微处理器或CPU的处理器134对存储器装置150执行后台操作。此处,对存储器装置150执行的后台操作可包括:将存储在存储器装置150的一些存储块中的数据复制到其它存储块并进行处理的操作,例如垃圾收集(GC)操作;在存储块152至156之间或存储块152至156的数据之间执行交换的操作,例如损耗均衡(WL)操作;将存储在控制器130中的映射数据存储在存储块152至156中的操作,例如映射清除操作(map flush operation,映射刷写操作);或者管理存储器装置150的坏块的操作,例如检测和处理存储器装置150中的存储块152至156之中的坏块的坏块管理操作。
在根据本发明的实施例的存储器系统中,控制器130在存储器装置150中执行与从主机102接收的多个命令相对应的多个命令操作。例如,控制器130执行对应于多个写入命令的多个编程操作、对应于多个读取命令的多个读取操作和对应于多个擦除命令的多个擦除操作,并且对元数据、特别是映射数据执行与命令操作在存储器装置150中的执行相对应的映射更新操作和映射清除操作。
在根据本发明的实施例的存储器系统中,当控制器130在存储器装置150中的多个存储器管芯中执行与从主机102接收的多个命令相对应的诸如编程操作、读取操作和擦除操作的命令操作时,执行与在多个存储器管芯中的每一个中执行的命令操作相对应的映射更新操作和映射清除操作。特别地,当对应于命令的数据是顺序数据时,在控制器130执行顺序编程操作和顺序读取操作之后,控制器130执行与顺序编程操作和顺序读取操作相对应的映射更新操作和映射清除操作。当从主机102接收的命令的模式是顺序模式时,控制器130执行顺序命令操作。更具体地,当从主机102接收的写入命令的模式是顺序写入模式时,控制器130执行顺序编程操作,并且当从主机102接收的读取命令的模式是顺序读取模式时,控制器130执行顺序读取操作。
在根据本发明的实施例的存储器系统中,存储器装置150包括多个通道和连接到多个通路的多个存储器管芯。当控制器130对存储器管芯执行命令操作时,控制器130依据通道交错、通路交错和存储器管芯交错来执行命令操作。控制器130根据在多个存储器管芯中的每一个中执行的命令操作来执行映射更新操作和映射清除操作。特别地,当对应于命令的数据是顺序数据时,在控制器130依据交错在存储器装置150的存储器管芯中执行顺序编程操作和顺序读取操作之后,控制器130执行与顺序编程操作和顺序读取操作相对应的映射更新操作和映射清除操作。因为参照图5至图10进行了更具体地描述,所以在此省略了对利用交错对存储器装置150的存储器管芯执行命令操作和与该命令操作的执行相对应地执行映射更新操作和映射清除操作的进一步描述。
控制器130的处理器134可包括用于执行存储器装置150的坏块管理操作的管理单元(未示出)。管理单元可执行检查多个存储块152至156中、在编程操作期间由于例如NAND闪速存储器的存储器装置的特征而发生编程失败的坏块的坏块管理操作。管理单元可将坏块的编程失败的数据写到新存储块。在具有3D堆叠结构的存储器装置150中,坏块管理操作可能降低存储器装置150的使用效率和存储器系统110的可靠性。因此,需要更可靠地执行坏块管理操作。
参照图2至图4详细描述根据本发明的实施例的存储器系统的存储器装置。
图2是示出存储器装置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)存储块中的一个或多个。因此,存储器装置150可根据在存储块中的存储器单元的每一个中可以表示或存储的位的数量而包括SLC存储块或MLC存储块。SLC存储块可包括由每一个都存储一位数据的存储器单元实现的多个页面。SLC存储块通常可比MCL存储块具有更高的数据计算性能和更高的耐用性。MLC存储块可包括多个页面,其都通过每个存储多位(例如,2位或更多位)数据的存储器单元实施。MLC存储块通常可比SLC存储块具有更大的数据存储空间,即更高的集成密度。在另一实施例中,存储器装置150可包括多个三层单元(TLC)存储块。在另一实施例中,存储器装置150可包括多个四层单元(QLC)存储块。TLC存储块可包括由每一个都能够存储3位数据的存储器单元实现的多个页面。QLC存储块可包括由每一个都能够存储4位数据的存储器单元实现的多个页面。
除非易失性存储器之外,存储器装置150可由以下中的任何一种来实施:相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM(ReRAM))、铁电随机存取存储器(FRAM)、自旋转移扭矩磁性随机存取存储器(STT-RAM或STT-MRAM)。
存储块可通过编程操作来存储从主机102传输的数据,并且可通过读取操作将存储在其中的数据传输到主机102。
参照图3,存储块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中的每一个可包括多个锁存器(未示出)。
存储器装置150可由2D或3D存储器装置来实施。特别地,如图4所示,存储器装置150可以由具有3D堆叠结构的非易失性存储器装置来实施。当以3D结构实现时,存储器装置150可包括多个存储块BLK0至BLKN-1。图4是示出图1所示的存储器装置150的存储块152、154和156的框图。存储块152、154和156的每一个可以以3D结构(或竖直结构)来实现。例如,存储块152、154和156可包括其尺寸在例如x轴方向、y轴方向和z轴方向的第一方向至第三方向上延伸的三维结构。
存储器装置150中的每个存储块330可包括在第二方向上延伸的多个NAND串以及在第一方向和第三方向上延伸的多个NAND串。NAND串中的每一个可联接到位线BL、至少一个串选择线SSL、至少一个接地选择线GSL、多个字线WL、至少一个虚拟字线DWL以及共源线CSL。NAND串中的每一个可包括多个晶体管结构。
简而言之,存储器装置150的存储块152、154和156中的每个存储块330可以联接到多个位线BL、多个串选择线SSL、多个接地选择线GSL、多个字线WL、多个虚拟字线DWL和多个公源线CSL,并且每个存储块330可包括多个NAND串。而且,在每个存储块330中,一个位线BL可以联接到多个NAND串,以在一个NAND串中实现多个晶体管。而且,每个NAND串的串选择晶体管SST可以联接到相应位线BL,并且每个NAND串的接地选择晶体管GST可以联接到公源线CSL。在本文中,存储器单元MC可被设置在每个NAND串的串选择晶体管SST和接地选择晶体管GST之间。换言之,多个存储器单元可被实现在存储器装置150的每一个存储块330中。
在根据本公开的实施例的存储器系统中,控制器130在存储器装置150中执行与从主机102接收的多个命令相对应的命令操作。例如,控制器130在存储器装置150中执行对应于从主机102接收的多个写入命令的多个编程操作、对应于多个读取命令的多个读取操作以及对应于多个擦除命令的多个擦除操作。对与执行命令操作相对应的元数据的映射数据执行映射更新操作和映射清除操作。
在控制器130在存储器装置150中的存储器管芯中执行与从主机102接收的命令相对应的诸如编程操作、读取操作和擦除操作的命令操作的情况下,在多个存储器管芯中执行对应于各个命令操作的映射更新操作和映射清除操作。
参照图5至图9,描述了关于根据实施例的存储器系统中的存储器装置150的数据处理操作,特别是在存储器装置150中执行与从主机102接收的多个命令相对应的命令操作的数据处理操作。
图5至图9是示出对根据实施例的存储器系统中的存储器装置执行前台操作和后台操作的情况下的数据处理操作的示意图。作为示例,描述了以下情况,其中执行对存储器装置150的前台操作,例如与从主机102接收的多个命令相对应的多个命令操作,并且执行对存储器装置150的后台操作,例如垃圾收集操作或作为复制操作的读取回收操作、作为交换操作的损耗均衡操作或映射更新操作和映射清除操作。特别地,在所示实施例中,数据处理操作涉及以下操作:从主机102接收多个写入命令并执行对应于写入命令的编程操作,从主机102接收多个读取命令并执行对应于读取命令的读取操作,从主机102接收多个擦除命令并执行对应于擦除命令的擦除操作,或者从主机102一起接收多个写入命令和多个读取命令并执行对应于写入命令和读取命令的编程操作和读取操作。
此外,作为示例,在将与从主机102接收的多个写入命令相对应的写入数据存储在控制器130的存储器144中的缓冲器/高速缓冲器中之后,将存储的写入数据编程并存储在多个存储块中,并且在更新与写入数据在多个存储块中的存储相对应的映射数据之后,将更新的映射数据存储在多个存储块中。也就是说,执行与从主机102接收的多个写入命令相对应的编程操作。此外,当从主机102接收到针对存储在存储器装置150中的数据的多个读取命令时,通过检查对应于读取命令的数据的映射数据而从存储器装置150中读取对应于读取命令的数据,并且在将读取数据存储在包括在控制器130的存储器144中的缓冲器/高速缓冲器中之后,将存储在缓冲器/高速缓冲器中的数据提供给主机102。换言之,执行与从主机102接收的多个读取命令相对应的读取操作。另外,当从主机102接收到针对包括在存储器装置150中的存储块的多个擦除命令时,在检查对应于擦除命令的存储块之后,擦除存储在所检查的存储块中的数据,并且在更新对应于擦除数据的映射数据之后,将更新的映射数据存储在包括在存储器装置150中的多个存储块中。即,执行与从主机102接收的多个擦除命令相对应的擦除操作。
进一步地,虽然描述了控制器130在存储器系统110中执行命令操作,但是本发明不限于这种配置;相反,控制器130中的处理器134可通过例如FTL(闪存转换层)在存储器系统110中执行命令操作。而且,在本公开的实施例中,控制器130将与从主机102接收的写入命令相对应的用户数据和元数据编程并存储在存储器装置150中的多个存储块中的任意存储块中,从任意存储块读取与从主机102接收的读取命令相对应的用户数据和元数据,并且将读取数据提供给主机102,或者从任意存储块中擦除与从主机102接收的擦除命令相对应的用户数据和元数据。然而,一个或多个其它部件可执行这些操作。
元数据可包括用于与编程操作相对应的存储块中存储的数据的第一映射数据和第二映射数据,第一映射数据包括逻辑/物理(L2P:逻辑到物理)信息(在下文中,被称为“逻辑信息”),第二映射数据包括物理/逻辑(P2L:物理到逻辑)信息(在下文中,被称为“物理信息”)。并且,元数据可包括:关于与从主机102接收的命令相对应的命令数据的信息、关于与命令相对应的命令操作的信息、关于待对其执行命令操作的存储器装置150的存储块的信息、以及关于与命令操作相对应的映射数据的信息。换言之,元数据可以包括所有剩余信息和与从主机102接收的命令相对应的除了用户数据之外的数据。
也就是说,在本公开的实施例中,在控制器130从主机102接收到多个写入命令的情况下,执行对应于写入命令的编程操作,并且将对应于写入命令的用户数据写入并存储在存储器装置150的存储块中的已执行擦除操作的空白存储块、开放存储块或空闲存储块中。而且,将包括L2P映射表或L2P映射列表的第一映射数据和包括P2L映射表或P2L映射列表的第二映射数据写入并存储在存储器装置150的存储块中的空白存储块、开放存储块或空闲存储块中,其中L2P映射表或L2P映射列表记录了作为存储在存储块中的用户数据的逻辑地址和物理地址之间的映射信息的逻辑信息,P2L映射表或P2L映射列表记录了作为存储有用户数据的存储块的物理地址和逻辑地址之间的映射信息的物理信息。
此处,在从主机102接收到写入命令的情况下,控制器130将对应于写入命令的用户数据写入并存储在存储块中,并且将包括存储在存储块中的用户数据的第一映射数据和第二映射数据的元数据存储在存储块中。
特别地,与存储在存储器装置150的存储块中的用户数据的数据段相对应,控制器130生成并更新第一映射数据的L2P段和第二映射数据的P2L段作为元数据的元段中的映射数据的映射段,然后将它们存储在存储器装置150的存储块中。将存储在存储块中的映射段加载到控制器130中的存储器144中,然后进行更新。
进一步地,在从主机102接收多个读取命令的情况下,控制器130从存储器装置150读取与读取命令相对应的读取的数据,将读取数据存储在控制器130的存储器144中的缓冲器/高速缓冲器中,并且然后,将存储在缓冲器/高速缓冲器中的数据提供给主机102,由此执行与多个读取命令相对应的读取操作。
另外,在从主机102接收多个擦除命令的情况下,控制器130检查存储器装置150的与擦除命令相对应的存储块,并且然后对存储块执行擦除操作。
当执行与从主机102接收的多个命令相对应的命令操作时,在执行后台操作的情况下,例如执行垃圾收集操作或作为复制操作的读取回收操作、作为交换操作的损耗均衡操作或映射更新操作和映射清除操作,控制器130将与后台操作相对应的数据,即将元数据和用户数据加载并存储在控制器130的存储器144中的缓冲器/高速缓冲器中,然后将数据即元数据和用户数据存储在存储器装置150中。例如,在执行后台操作的情况下,控制器130检查与存储器装置150的存储块中的后台操作相对应的元数据和用户数据,将存储在某些存储块中的元数据和用户数据加载并存储在控制器130的存储器144中的缓冲器/高速缓冲器中,然后将元数据和用户数据存储在存储器装置150的某些其它存储块中。
特别地,在根据本公开的实施例的存储器系统中,存储器装置150包括联接到多个通道和多个通路的多个存储器管芯。在控制器130在存储器装置150的存储器管芯中执行命令操作的情况下,依据通道交错、通路交错和存储器管芯交错来执行命令操作,并且对应于命令操作来在多个存储器管芯中执行映射更新操作和映射清除操作。特别地,在对应于命令的数据是顺序数据的情况下,在依据交错在存储器装置150的存储器管芯中执行顺序编程操作和顺序读取操作之后,控制器130执行与顺序编程操作和顺序读取操作相对应的映射更新操作和映射清除操作。将参照图5至图9详细描述根据本公开的实施例的存储器系统中的数据处理操作。
首先,参照图5,控制器130执行与从主机102接收的多个命令相对应的命令操作,例如,与从主机102接收的多个写入命令相对应的编程操作。控制器130将对应于写入命令的用户数据编程并存储在存储器装置150的存储块中。而且,对应于关于存储块的编程操作,控制器130生成并更新用于用户数据的元数据,并且将元数据存储在存储器装置150的存储块中。
控制器130生成并更新第一映射数据和第二映射数据,第一映射数据和第二映射数据包括表示用户数据被存储在存储器装置150的存储块中的页面中的信息。也就是说,控制器130生成并更新L2P段作为第一映射数据的逻辑段,生成并更新P2L段作为第二映射数据的物理段,然后将它们存储在存储器装置150的存储块中的页面中。
例如,控制器130可将与从主机102接收的写入命令相对应的用户数据高速缓冲和缓冲在控制器130的存储器144中的第一缓冲器510中。特别地,在将用户数据的数据段512存储在作为数据缓冲器/高速缓冲器的第一缓冲器510中之后,控制器130将存储在第一缓冲器510中的数据段512存储在存储器装置150的存储块中的页面中。因为与从主机102接收到的写入命令相对应的用户数据的数据段512被编程并存储在存储器装置150的存储块中的页面中,所以控制器130生成并更新第一映射数据和第二映射数据,并将它们存储在存储器144中的第二缓冲器520中。特别地,控制器130将用户数据的第一映射数据的L2P段522和第二映射数据的P2L段524存储在作为映射缓冲器/高速缓冲器的第二缓冲器520中。如上所述,第二缓冲器520中可存储有第一映射数据的L2P段522和第二映射数据的P2L段524,或者可存储有用于第一映射数据的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将对应用户数据的数据段512存储在第一缓冲器510中,将对应于用户数据的映射数据的映射段522和524加载在第二缓冲器520中,然后执行垃圾收集操作、读取回收操作或损耗均衡操作。在对存储器装置150的存储块的例如映射数据的元数据执行作为后台操作的映射更新操作和映射清除操作的情况下,控制器130将对应的映射段522和524加载到第二缓冲器520中,然后执行映射更新操作和映射清除操作。
特别地,在包括如上所述联接到多个通道和多个通路的多个存储器管芯的存储器装置150中执行编程操作和读取操作的情况下,控制器130依据通道交错、通路交错和存储器管芯交错来执行编程操作和读取操作,并且与分别在多个存储器管芯中执行的命令操作相对应,执行映射更新操作和映射清除操作。在对应于命令的数据是顺序数据的情况下,在依据交错在存储器装置150的存储器管芯中执行顺序编程操作和顺序读取操作之后,控制器130执行与顺序编程操作和顺序读取操作相对应的映射更新操作和映射清除操作。控制器130将与顺序编程操作和顺序读取操作相对应的顺序用户数据存储在控制器130的存储器144中的第一缓冲器510中,并且将与顺序编程操作和顺序读取操作相对应的顺序映射数据存储在控制器130的存储器144中的第二缓冲器520中。
参照图6,存储器装置150包括多个存储器管芯,例如存储器管芯0、存储器管芯1、存储器管芯2及存储器管芯3,并且存储器管芯中的每一个包括多个平面,例如,平面0、平面1、平面2和平面3。存储器管芯中的各个平面包括多个存储块,例如N个存储块:Block0、Block1、……、BlockN-1。如以上参照图2所述,每一个块包括多个页面,例如2M个页面。此外,存储器装置150包括与各个存储器管芯相对应的多个缓冲器,例如,与存储器管芯0相对应的缓冲器0、与存储器管芯1相对应的缓冲器1、与存储器管芯2相对应的缓冲器2及与存储器管芯3相对应的缓冲器3。
在执行与从主机102接收到的多个命令相对应的命令操作的情况下,对应于命令操作的数据可被存储在缓冲器中。例如,在执行编程操作的情况下,对应于编程操作的数据被存储在缓冲器中,然后被存储在存储器管芯的存储块中的页面中。在执行读取操作的情况下,从存储器管芯的存储块中的页面中读取对应于读取操作的数据,该数据被存储在缓冲器中,然后通过控制器130而被提供给主机102。
注意的是,缓冲器可被设置在它们各自的管芯内部或外部。进一步地,注意的是,缓冲器可以是包括在存储器装置150中的多个高速缓冲器或多个寄存器。
而且,存储器装置150中的多个存储块可被分组为多个超级存储块,并且可在多个超级存储块中执行命令操作。超级存储块中的每一个可包括多个存储块,例如包括在第一存储块组和第二存储块组中的存储块。在这方面,在第一存储块组被包括在某个第一存储器管芯的第一平面中的情况下,第二存储块组可被包括在第一存储器管芯的第一平面中、被包括在第一存储器管芯的第二平面或被包括在第二存储器管芯的平面中。
参照图7至图9,如上所述,描述了在根据本公开的实施例的存储器系统中的以下操作:在存储器装置150中的多个存储器管芯中执行与从主机102接收的多个写入命令相对应的编程操作和与从主机102接收的多个读取命令相对应的读取操作,以及执行与执行编程操作和读取操作相对应的映射更新操作和映射清除操作。
参照图7,在从主机102接收到多个命令,例如接收到写入命令、读取命令和/或擦除命令的情况下,控制器130在存储器装置150中的多个存储器管芯中执行与从主机102接收的多个命令相对应的命令操作,例如编程操作、读取操作和擦除操作。多个存储器管芯联接到多个通道和多个通路,并且控制器130依据通道交错、路交错和存储器管芯交错,在多个存储器管芯中执行与从主机102接收的多个命令相对应的命令操作。特别地,控制器130依据交错在存储器装置150的存储器管芯中执行对应于多个写入命令的编程操作,依据交错在存储器装置150的存储器管芯中执行对应于多个读取命令的读取操作,并且对应于在存储器装置150的存储器管芯中执行编程操作和读取操作,执行对映射数据的映射更新操作和映射清除操作。
详细地,依据通道交错、通路交错和存储器管芯交错,控制器130在存储器装置150中的多个存储器管芯中执行与从主机102接收的写入命令相对应的编程操作。控制器130将对应于编程操作的用户数据存储在控制器130的存储器144中的第一缓冲器510中,并且将对应于编程操作的映射数据存储在控制器130的存储器144中的第二缓冲器520中。依据通道交错、通路交错和存储器管芯交错,控制器130在存储器装置150中的多个存储器管芯中执行与从主机102接收的读取命令相对应的读取操作。控制器130将对应于读取操作的用户数据存储在控制器130的存储器144中的第一缓冲器510中,并且将对应于读取操作的映射数据存储在包括在控制器130的存储器144中的第二缓冲器520中。
存储器装置150包括联接到多个通道和多个通路的多个存储器管芯,并且关于联接到各个存储器管芯的通道和通路的索引信息被包括在元数据中,然后被存储在控制器130的存储器144和存储器装置150中。例如,在包括在存储器装置150中的存储器管芯中,存储器管芯0联接到通道0和通路0,存储器管芯1联接到通道1和通路0,存储器管芯2联接到通道0和通路1,存储器管芯3联接到通道1和通路1。详细描述了对包括在存储器装置150中的存储器管芯0、存储器管芯1、存储器管芯2和存储器管芯3的编程操作和读取操作,以及对应于编程操作和读取操作的映射更新操作和映射清除操作。
换言之,在从主机102接收到多个写入命令的情况下,控制器130将对应于写入命令的用户数据存储在包括在控制器130的存储器144中的第一缓冲器510中,并且将存储在第一缓冲器510中的用户数据编程并存储在存储器装置150的存储器管芯0、存储器管芯1、存储器管芯2和存储器管芯3中。对应于用户数据被存储在存储器管芯0、存储器管芯1、存储器管芯2和存储器管芯3中,控制器130将映射数据存储在包括在控制器130的存储器144中的第二缓冲器520中。如上所述,第一映射数据和第二映射数据被存储在第二缓冲器520中。特别地,第一映射数据和第二映射数据的映射段被存储在第二缓冲器520中。
在与从主机102接收的写入命令相对应的用户数据是顺序用户数据的情况下,即在从主机102接收的写入命令的模式是顺序写入模式的情况下,控制器130将对应于顺序用户数据的数据段712、714、716和718存储在第一缓冲器510中。在第一缓冲器520中,存储了顺序用户数据的第一数据段712、第二数据段714、第三数据段716和第四数据段718。控制器130将存储在第一缓冲器510中的第一数据段712、第二数据段714、第三数据段716和第四数据段718存储在存储器装置150的存储器管芯中。依据通道交错、通路交错和存储器管芯交错,控制器130将第一数据段712、第二数据段714、第三数据段716和第四数据段718存储在存储器管芯0、存储器管芯1、存储器管芯2和存储器管芯3中。在本公开的实施例中,控制器130根据通道交错、通路交错和存储器管芯交错顺序地在存储器管芯0、存储器管芯1、存储器管芯2和存储器管芯3中执行顺序编程操作。
即,控制器130将存储在第一缓冲器510中的第一数据段712编程并存储在存储器装置150的存储器管芯0中,然后将存储在第一缓冲器510中的第二数据段714编程并存储在存储器装置150的存储器管芯1中,然后将存储在第一缓冲器510中的第三数据段716编程并存储在存储器装置150的存储器管芯2中,然后将存储在第一缓冲器510中的第四数据段718编程并存储在存储器装置150的存储器管芯3中。对应于第一数据段712被存储在存储器管芯0中,控制器130生成并更新第一映射段722,然后将该第一映射段722清除并存储在存储器装置150的存储器管芯中。对应于第二数据段714被存储在存储器管芯1中,控制器130生成并更新第二映射段724,然后将该第二映射段724清除并存储在存储器装置150的存储器管芯中。对应于第三数据段716被存储在存储器管芯2中,控制器130生成并更新第三映射段726,然后将该第三映射段726清除并存储在存储器装置150的存储器管芯中。对应于第四数据段718被存储在存储器管芯3中,控制器130生成并更新第四映射段728,然后将该第四映射段728清除并存储在存储器装置150的存储器管芯中。对应于数据段712、714、716和718被存储在存储器装置150的存储器管芯中而生成和更新的映射段722、724、726和728被存储在第二缓冲器520中。
特别地,如上所述,控制器130将与从主机102接收的多个写入命令相对应的用户数据和映射数据存储在存储器装置150的存储器管芯中。特别地,在与从主机102接收的写入命令相对应的用户数据是顺序用户数据的情况下,在每一个周期中,控制器130将用户数据的数据段编程并存储在存储器装置150的存储器管芯中,并且生成和更新映射数据的映射段,并且将映射段清除和存储在存储器装置150的存储器管芯中。例如,在第一周期中,控制器130顺序地将存储在第一缓冲器510中的第一数据段712、第二数据段714、第三数据段716和第四数据段718编程和存储在存储器装置150的存储器管芯0、存储器管芯1、存储器管芯2和存储器管芯3中,并且顺序地生成和更新第一映射段722、第二映射段724、第三映射段726和第四映射段728,然后将它们清除和存储在存储器装置150的存储器管芯中。
在可能紧接在第一周期之后或紧随其后的第二周期中,控制器130将用户数据的数据段编程并存储在存储器装置150的存储器管芯中,并生成和更新映射数据的映射段,然后将该映射段清除并存储在存储器装置150的存储器管芯中。
也就是说,参照图8,在与从主机102接收的写入命令相对应的用户数据是顺序用户数据的情况下,在第二周期中,控制器130将对应于顺序用户数据的数据段812、814、816和818存储在第一缓冲器510中。在第一缓冲器510中,存储了顺序用户数据的第五数据段812、第六数据段814、第七数据段816和第八数据段818。控制器130将存储在第一缓冲器510中的第五数据段812、第六数据段814、第七数据段816和第八数据段818存储在存储器装置150的存储器管芯中。依据通道交错、通路交错和存储器管芯交错,控制器130顺序地将第五数据段812、第六数据段814、第七数据段816和第八数据段818编程和存储在存储器管芯0、存储器管芯1、存储器管芯2和存储器管芯3中。
即,在第二周期中,控制器130将存储在第一缓冲器510中的第五数据段812编程并存储在存储器装置150的存储器管芯0中,然后将存储在第一缓冲器510中的第六数据段814编程并存储在存储器装置150的存储器管芯1中,然后将存储在第一缓冲器510中的第七数据段816编程并存储在存储器装置150的存储器管芯2中,然后将存储在第一缓冲器510中的第八数据段818编程并存储在存储器装置150的存储器管芯3中。在第二周期中,对应于第五数据段812被存储在存储器管芯0中,控制器130生成并更新第五映射段822,然后将该第五映射段822清除并存储在存储器装置150的存储器管芯中。在第二周期中,对应于第六数据段814被存储在存储器管芯1中,控制器130生成并更新第六映射段824,然后将该第六映射段824清除并存储在存储器装置150的存储器管芯中。在第二周期中,对应于第七数据段816被存储在存储器管芯2中,控制器130生成并更新第七映射段826,然后将该第七映射段826清除并存储在存储器装置150的存储器管芯中。在第二周期中,对应于第八数据段818被存储在存储器管芯3中,控制器130生成并更新第八映射段828,然后将该第八映射段828清除并存储在存储器装置150的存储器管芯中。对应于数据段812、814、816和818被存储在存储器装置150的存储器管芯中而生成和更新的映射段822、824、826和828被存储在第二缓冲器520中。
如上所述,当从主机102接收到顺序写入模式的写入命令时,在每一个周期中,控制器130将对应于写入命令的用户数据的数据段存储在第一缓冲器510中,将用户数据的数据段顺序地编程并存储在存储器装置150的存储器管芯中,生成并更新映射数据的映射段,并且将映射数据的映射段清除并存储在存储器装置150的存储器管芯中。
特别地,在每一个周期中对映射数据执行映射更新操作和映射清除操作的情况下,当在紧接第一周期之后的第二周期中执行映射更新操作时,控制器130使用在第一周期中对其执行了映射更新操作和映射清除操作的映射数据的映射段。当在第二周期中执行映射更新操作时,在第一周期中执行了映射更新操作和映射清除操作的映射数据的映射段,即在第一周期中被更新和清除的映射数据的映射段用作参考数据。下面参照图9对以下进行详细描述:在根据实施例的存储器系统中,在存储器装置150的存储器管芯中执行与从主机102接收的命令相对应的命令操作,然后执行对应于执行该命令操作的映射更新操作和映射清除操作。
参照图9,如以上参照图7所述,在第一周期中,控制器130顺序地将存储在第一缓冲器510中的第一数据段712、第二数据段714、第三数据段716和第四数据段718编程和存储在存储器装置150的存储器管芯0、存储器管芯1、存储器管芯2和存储器管芯3中,并且顺序地生成和更新第一映射段722、第二映射段724、第三映射段726和第四映射段728,然后将它们清除和存储在存储器装置150的存储器管芯中。在第一周期期间对第一映射段722、第二映射段724、第三映射段726和第四映射段728执行映射更新操作和映射清除操作之后,当在第二周期期间执行映射更新操作和映射清除操作时,控制器130使用映射段722、724、726和728中的选择映射段。也就是说,当在第二周期期间执行映射更新操作时,映射段722、724、726和728中的选择映射段用作参考数据。
特别地,控制器130可在第一周期期间被更新和清除的映射段722、724、726和728中选择最后更新和清除的映射段作为第二周期期间的参考数据。可选地,控制器130可检查在第一周期期间被更新和清除的各个映射段722、724、726和728的大小,并且在第二周期期间选择具有最大大小的映射段作为参考数据。可选地,控制器130可在第一周期期间检查映射段722、724、726和728的映射更新操作和映射清除操作的过载,并且在第二周期期间选择具有最大过载的映射段作为参考数据。虽然作为示例描述了在第一周期期间最后更新和清除的映射段被确定为第二周期期间的参考数据,但注意的是,即使在分别检查第一周期期间映射段722、724、726和728的大小或过载并且将具有最大大小或最大过载的映射段确定为参考数据的情况下,也可以相同的方式应用本公开。而且,在本公开的实施例中,在第一周期期间被更新和清除的映射段722、724、726和728中,第四映射段728被确定为第二周期期间的参考数据。
换言之,在第一周期期间,在将存储在第一缓冲器510中的第四数据段718编程并存储在存储器装置150的存储器管芯3中之后,控制器130生成并更新与第四数据段718被存储在存储器管芯3中相对应的第四映射段728。如上所述,第四映射段728被存储在第二缓冲器520中。控制器130将存储在第二缓冲器520中的第四映射段728清除并存储在存储器装置150的存储器管芯中。在这方面,因为在第二周期期间执行映射更新操作时第四映射段728用作参考数据,所以当对存储在第二缓冲器520中的第四映射段728执行映射清除操作时,控制器130不仅将存储在第二缓冲器520中的第四映射段728清除并存储在存储器装置150的存储器管芯中,而且还存储在包括在主机102中的存储器906中。即,存储在第二缓冲器520中的第四映射段728可通过映射清除操作而被存储在存储器装置150的存储器管芯和包括在主机102中的存储器906中,并且可通过被高速缓冲和缓冲而被存储在第二缓冲器520中。特别地,第四映射段728被存储在包括在主机102的存储器906中的统一存储器(UM)908中。
主机102包括处理器902、存储器906和装置接口904。主机102的处理器902控制主机102的一般操作。特别地,主机102的处理器702控制待传输到存储器系统110的控制器130的与用户请求相对应的命令,使得在存储器系统110中执行与用户请求相对应的命令操作。主机102的处理器902可由微处理器或中央处理单元(CPU)实施。在通过从控制器130接收的响应消息或响应信号检查到控制器130的存储器144或存储器装置150中存在待由控制器130提供给主机102的数据(主机数据)的情况下,主机102的处理器902向包括在主机102的存储器906中的UM 908分配用于存储主机数据的存储器区域,并且将读取命令传输到控制器130,从控制器130接收主机数据作为对读取命令的响应,并且将主机数据存储在UM 908中。
例如,当在存储器装置150中执行前台操作和后台操作时,控制器130将响应消息或响应信号传输到主机102,并且通过响应消息或响应信号通知主机102存在与前台操作和后台操作的执行相对应的主机数据。在通知存在主机数据的响应消息或响应信号中,可包括关于主机数据类型的信息和关于主机数据大小的信息。主机102对应于从控制器130接收的消息或信号,将存储主机数据的存储器区域分配给主机102的存储器906,特别是UM 908,将读取命令传输到控制器130,从控制器130接收主机数据作为对读取命令的响应,并且将主机数据存储在UM 908中。
主机102将读取缓冲命令传输到控制器130作为用于读取存在于控制器130的存储器144或存储器装置150中的主机数据的读取命令,并且从控制器130接收响应包作为对读取缓冲命令的响应。在响应包中,包括存在于控制器130的存储器144或存储器装置150中的主机数据,特别地,包括存储在控制器130的存储器144中的用户数据或元数据。响应消息或响应包可包括报头区域和数据区域。关于主机数据类型的信息可被包括在报头区域的类型字段中,关于主机数据大小的信息可被包括在报头区域的长度字段中,并且主机数据可被包括在响应包的数据区域中。主机102将通过响应包从控制器130接收的主机数据存储在主机102的UM 908中。在从控制器130接收主机数据的更新消息或更新信号的情况下,主机102将读取缓冲命令传输到控制器130,从控制器130接收更新的主机数据,然后将更新的主机数据存储在主机102的UM 908中。
特别地,在存储器装置150中执行包括命令操作的前台操作或后台操作的情况下,控制器130执行对应于命令操作和后台操作的执行的映射更新操作和映射清除操作。控制器130将存储在控制器130的存储器144中的映射数据提供给主机102,作为主机性能增强器(HPB),不仅用于提高存储器系统110的操作性能,还用于提高主机102的操作性能。具体地,如上所述,控制器130对应于命令操作或后台操作的执行将更新的映射数据提供给主机102。因此,主机数据可以是映射数据。在将包括映射数据的类型信息和大小信息的响应消息或响应信号传输到主机102之后,控制器130根据从主机102接收的读取缓冲命令将包括映射数据的响应包传输给主机102。控制器130将对应于命令操作或后台操作的执行的第一映射数据提供给主机102。特别地,在执行对第一映射数据的更新操作的情况下,控制器130将更新的第一映射数据提供给主机102。因此,更新的第一映射数据被缓冲并高速缓冲在主机102的UM 908中。
作为主机102的主存储器或系统存储器的主机102的存储器906存储用于驱动主机102的数据,并且包括其中存储主机102中的数据的主机使用存储器区域和其中存储存储器系统110中的数据的装置使用存储器区域。在主机102的存储器906中的作为系统存储器区域的主机使用存储器区域中,存储有与主机102的系统相关的数据或程序信息,例如文件系统或操作系统。在作为主机102的存储器906中的装置使用存储器区域的UM 908中,在存储器系统110执行与从主机102接收的命令相对应的命令操作,即执行前台操作或后台操作的情况下,存储有存储器系统110中的数据或信息。主机102的存储器906可由例如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)的易失性存储器实现。在存储器系统110从断电状态转换为通电状态之后,当执行启动操作时,在主机102的存储器906中作为装置使用存储器区域的UM 908被分配并报告给存储器系统110。
主机102的作为主机控制器接口(HCI)的装置接口904处理主机102的命令和数据,并且可通过诸如以下的各种接口协议中的至少一个与存储器系统110通信:USB(通用串行总线)、MMC(多媒体卡)、PCI-E(高速外围组件互连)、SAS(串列SCSI)、SATA(串行高级技术附件)、PATA(并行高级技术附件)、SCSI(小型计算机系统接口)、ESDI(增强型小型磁盘接口)、IDE(电子集成驱动器)以及MIPI(移动工业处理器接口)。
在第二周期中,控制器130将存储在第一缓冲器510中的第五数据段812编程并存储在存储器装置150的存储器管芯0中,然后将存储在第一缓冲器510中的第六数据段814编程并存储在存储器装置150的存储器管芯1中,然后将存储在第一缓冲器510中的第七数据段816编程并存储在存储器装置150的存储器管芯2中,然后将存储在第一缓冲器510中的第八数据段818编程并存储在存储器装置150的存储器管芯3中。进一步地,在第二周期中,对应于将第五数据段812存储在存储器管芯0中、将第六数据段814存储在存储器管芯1中、将第七数据段816存储在存储器管芯2中以及将第八数据段818存储在存储器管芯3中,控制器130生成并更新第五映射段822、第六映射段824、第七映射段826和第八映射段828。当在第二周期中执行映射更新操作时,控制器130检查参考数据,然后依据参考数据,在第二周期中执行对映射段822、824、826和828的映射更新操作。
详细地,在第二周期中映射更新映射段822、824、826和828的情况下,控制器130检查作为参考数据的存储在第二缓冲器520中的第四映射段920,然后依据第四段920更新映射段822、824、826和828。存储在第二缓冲器520中的第四映射段920是在第一周期中对其执行了映射更新操作和映射清除操作的映射数据的映射段。例如,如上所述,存储在第二缓冲器520中的第四映射段920是在第一周期中更新的映射段722、724、726和728中最后更新的映射段,因此,在第二周期中执行映射更新操作时用作参考数据。而且,存储在第二缓冲器520中的第四映射段920是即使在第一周期中执行映射清除操作时被清除并存储在存储器装置150的存储器管芯和主机102的UM 908中之后通过高速缓冲和缓冲而被存储在第二缓冲器520中的映射段。特别地,第四映射段920可被临时高速缓冲和缓冲在第二缓冲器520中,使得它们在第二周期中执行映射更新操作时用作参考数据。
在第二周期中第四映射段920并未存在于第二缓冲器520中作为参考数据的情况下,即在作为参考数据的第四映射段920未通过高速缓冲和缓冲而被存储在第二缓冲器520中的情况下,控制器130将存储在主机102的UM 908中的第四映射段910加载到第二缓冲器520中,检查加载到第二缓冲器520中的第四映射段910,并且依据第四映射段910更新映射段822、824、826和828。换言之,在第二周期中,控制器130检查存储在第二缓冲器520中的第四映射段920或者检查从主机102的UM 908加载到第二缓冲器520中的第四映射段910。因此,在第二周期中,当执行映射更新操作时,控制器130检查作为参考数据的第四映射段920或910。然后,控制器130依据第四映射段920或910在第二周期中更新映射段822、824、826和828。作为示例描述了在第二周期中第四映射段920作为参考数据存在于第二缓冲器520中的情况。
也就是说,在第二周期中,在对应于数据段812、814、816和818被存储在存储器装置150的存储器管芯中来映射更新映射段822、824、826和828的情况下,控制器130检查存储在第二缓冲器520中的第四映射段920,并且依据第四映射段920来映射更新映射段822、824、826和828。如上所述,在第一周期中存储在存储器装置150的存储器管芯中的数据段712、714、716和718以及在第二周期中存储在存储器装置150的存储器管芯中的数据段812、814、816和818是与顺序写入模式的写入命令相对应的顺序用户数据的数据段。因此,通过顺序编程操作,控制器130将第一周期中的数据段712、714、716和718以及第二周期中的数据段812、814、816和818存储在存储器装置150的存储器管芯中,并且对应于顺序编程操作执行对顺序映射数据的映射更新操作和映射清除操作。也就是说,控制器130通过第二周期中的参考数据检查第一周期中的映射段722、724、726和728以及第二周期中的映射段822、824、826和828是顺序映射数据的映射段,并且在第二周期中更新映射段822、824、826和828。
控制器130可对第一周期中的映射段722、724、726和728以及第二周期中的映射段822、824、826和828执行顺序映射更新操作。因此,第一周期中的映射段722、724、726和728以及第二周期中的映射段822、824、826和828可包括开始位置信息和大小信息,并且还可包括计数信息和偏移信息。控制器130更新第一周期中的映射段722、724、726和728的整个映射段以及第二周期中的映射段822、824、826和828的整个映射段,作为包括开始位置信息和大小信息的顺序映射数据,然后将更新的顺序映射数据存储在存储器装置150的存储器管芯中。特别地,控制器130通过映射重新格式化操作或映射压缩操作更新第一周期中的映射段722、724、726和728以及第二周期中的映射段822、824、826和828的整个映射段、一些映射段或各个映射段,作为包括开始位置信息和大小信息的顺序映射数据,然后将更新的顺序映射数据存储在存储器装置150的存储器管芯中。
在第二周期中依据第四映射段920映射更新映射段822、824、826和828之后,控制器130丢弃存储在第二缓冲器520中的第四映射段920和存储在主机102的UM 908中的第四映射段910。而且,控制器130在第二周期中更新的映射段822、824、826和828中,确定将在第二周期的下一周期中使用的参考数据。控制器130将在第二周期中更新的映射段822、824、826和828中被最后更新或具有最大大小或最大过载的映射段确定为将在第二周期的下一周期中使用的参考数据,将被确定为参考数据的映射段清除并存储在主机102的UM 908中,并且将被确定为参考数据的映射段高速缓冲和缓冲在第二缓冲器520中。
以这种方式,在根据本公开的实施例的存储器系统中,在存储器装置150的存储器管芯中执行与从主机102接收的多个命令相对应的命令操作的情况下,对应于执行命令操作的映射数据的映射段被存储在主机102的UM 908中。特别地,在执行对应于命令操作的执行的映射更新操作的情况下,通过依据高速缓冲和缓冲在控制器130的存储器144中的映射段或从主机102的UM 908加载在控制器130的存储器144中的映射段来执行映射更新操作。因此,可最小化在执行顺序命令操作和映射更新操作时出现的存储器管芯中的阻塞,从而可提高存储器系统中的操作性能。将参照图10详细描述在根据本公开的实施例的存储器系统中处理数据的操作。
图10是描述在根据实施例的存储器系统110中处理数据的操作过程的流程图。
参照图10,在步骤1010中,存储器系统110从主机102接收多个命令,并且检查从主机102接收的命令的模式。从主机102接收的命令的模式被检查为顺序模式。特别地,从主机102接收的写入命令被检查为顺序模式的写入命令。顺序模式的写入命令可与顺序数据一起提供。
在步骤1020中,存储器系统110在存储器装置150的存储器管芯中执行与从主机102接收的命令相对应的命令操作,并且执行对应于命令操作的执行的映射更新操作和映射清除操作。存储器系统110将与从主机102接收的顺序模式的写入命令相对应的顺序数据的数据段编程并存储在存储器装置150的存储器管芯中。存储器系统110依据通道交错、通路交错和存储器管芯交错在存储器管芯中执行顺序编程操作。当根据顺序模式的写入命令执行映射更新操作时,存储器系统110将参考数据清除并存储在主机102的UM 908中,并且通过高速缓冲和缓冲将参考数据存储在第二缓冲器520中。当执行对应于顺序编程操作的执行的映射更新操作和映射清除操作时,参考数据被确定为被最后更新和清除的映射段或者具有最大大小或最大过载的映射段。
然后,在步骤1030中,存储器系统110在存储器装置150的存储器管芯中执行与从主机102接收的命令相对应的命令操作,特别是与顺序模式的写入命令相对应的顺序编程操作,并且执行对应于顺序编程操作的执行的映射更新操作和映射清除操作。存储器系统110依据通道交错、通路交错和存储器管芯交错在存储器装置150的存储器管芯中执行顺序编程操作,并且通过考虑参考数据,执行对应于顺序编程操作的执行的映射更新操作和映射清除操作。
在执行与从主机102接收的多个命令相对应的命令操作之后,执行对应于命令操作的执行的映射更新操作和映射清除操作。以上参照图5至图9描述了这种映射更新和清除操作;因此,在此省略了对其的进一步描述。
将参照图11至图19详细描述根据本发明的实施例的可以应用包括存储器装置150和控制器130的上述存储器系统110的数据处理系统和电子装置。
图11是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。图11示意性地示出了应用了存储器系统的存储卡系统。
参照图11,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可电连接到由非易失性存储器实现的存储器装置6130并对其进行访问。例如,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可提供存储器装置6130和主机之间的接口并且使用用于控制存储器装置6130的固件。也就是说,存储器控制器6120可对应于参照图1描述的存储器系统110的控制器130,并且存储器装置6130可对应于参照图1描述的存储器系统110的存储器装置150。
因此,存储器控制器6120可包括RAM、处理器、主机接口、存储器接口和错误校正部件。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1所述,存储器控制器6120可通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WIFI以及蓝牙。因此,存储器系统和数据处理系统可应用于有线/无线电子装置,特别是移动电子装置。
存储器装置6130可通过非易失性存储器来实施。例如,存储器装置6130可由诸如以下的各种非易失性存储器装置中的任何一种来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋转移力矩磁性RAM(STT-MRAM)。
存储器控制器6120和存储器装置6130可被集成到单个半导体装置中以形成固态驱动器(SSD)。而且,存储器控制器6120和存储器装置6130可被结合以形成诸如以下的存储卡:PC卡(PCMCIA:个人计算机存储卡国际协会)、标准闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、SD卡(例如,SD、迷你SD、微型SD和SDHC)以及通用闪存(UFS)。
图12是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。
参照图12,数据处理系统6200可包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图12所示的数据处理系统6200可用作如参照图1描述的诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质。存储器装置6230可对应于图1所示的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于图1所示的存储器系统110中的控制器130。
存储器控制器6220可响应于主机6210的请求来控制对存储器装置6230的读取操作、写入操作或擦除操作。存储器控制器6220可包括一个或多个CPU 6221、诸如RAM 6222的缓冲存储器、ECC电路6223、主机接口6224和诸如NVM接口6225的存储器接口。
CPU 6221可控制对存储器装置6230的全部操作,例如读取操作、写入操作、文件系统管理操作和坏页面管理操作。RAM 6222可根据CPU 6221的控制来操作且用作工作存储器、缓冲存储器或高速缓冲存储器。当RAM 6222用作工作存储器时,由CPU 6221处理的数据可以临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222可用于缓冲从主机6210传输到存储器装置6230,反之亦然。当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码、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被配置成根据各种通信协议中的一种或多种与外部装置通信,因此存储器系统和数据处理系统可被应用于有线/无线电子装置,特别是移动电子装置。
图13是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。图13示意性地示出了可应用存储器系统的SSD。
参照图13,SSD 6300可包括控制器6320和包括多个非易失性存储器的存储器装置6340。控制器6320可对应于图1的存储器系统110中的控制器130,并且存储器装置6340可对应于图1的存储器系统中的存储器装置150。
更具体地,控制器6320可通过多个通道CH1至CHi连接至存储器装置6340。控制器6320可包括一个或多个处理器6321、缓冲存储器6325、ECC电路6322、主机接口6324以及诸如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可临时存储从主机6310提供的数据或从包括在存储器装置6340中的多个闪速存储器NVM提供的数据。进一步地,缓冲存储器6325可临时存储多个闪速存储器NVM的元数据,例如,包括映射表的映射数据。缓冲存储器6325可由诸如DRAM、SDRAM、DDRSDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器中的任何一个来实现。图13示出了缓冲存储器6325被实现在控制器6320中。然而,缓冲存储器6325可位于控制器6320的外部。
ECC电路6322可在编程操作期间计算待被编程到存储器装置6340的数据的ECC值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与诸如主机6310的外部装置的接口功能,并且非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口功能。
此外,可提供可能应用了图1的存储器系统110的多个SSD 6300来实施数据处理系统,例如,RAID(独立磁盘冗余阵列)系统。RAID系统可包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的写入命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD 6300,并将对应于写入命令的数据输出到选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的读取命令的RAID级别信息,在SSD6300中选择一个或多个存储器系统或SSD 6300,并将从所选择的SSD 6300读取的数据提供给主机6310。
图14是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。图14示意性地示出应用了存储器系统的嵌入式多媒体卡(eMMC)。
参照图14,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)接口。
图15至图18是示意性地示出根据实施例的包括存储器系统的数据处理系统的其它示例的示图。图15至图18示意性地示出了可以应用存储器系统的UFS(通用闪速存储)系统。
参照图15至图18,UFS系统6500、6600、6700和6800可分别包括主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830。主机6510、6610、6710和6810可用作有线/无线电子装置或特别是移动电子装置的应用处理器,UFS装置6520、6620、6720和6820可用作嵌入式UFS装置,并且UFS卡6530、6630、6730和6830可用作外部嵌入式UFS装置或可移除UFS卡。
在各个UFS系统6500、6600、6700、6800中的主机6510、6610、6710、6810、UFS装置6520、6620、6720、6820以及UFS卡6530、6630、6730、6830可通过UFS协议与例如有线/无线电子装置或特别是移动电子装置的外部装置通信,并且UFS装置6520、6620、6720、6820以及UFS卡6530、6630、6730、6830可由图1所示的存储器系统110来实现。例如,在UFS系统6500、6600、6700、6800中,UFS装置6520、6620、6720、6820可以参照图11至图13描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实现,并且UFS卡6530、6630、6730、6830可以参照图11描述的存储卡系统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的各种协议中的任何一种彼此通信。
在图15所示的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卡可并行地或以星型形式连接到主机6410。星型形式是一种单个装置与多个装置联接以进行集中操作的布置。多个UFS卡可并行地或以星型形式连接到UFS装置6520或串联地或以链型形式连接到UFS装置6520。
在图16所示的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。
在图17所示的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。
在图18所示的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。
图19是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的图。
参照图19,用户系统6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可以驱动例如OS的用户系统6900中的部件,并且包括用于控制包括在用户系统6900中的部件的控制器、接口、图形引擎等。应用处理器6930可作为片上系统(SoC)被提供。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3SDRAM、LPDDR SDRAM、LPDDR2 SDRAM和LPDDR3 SDRAM的易失性RAM或诸如PRAM、ReRAM、MRAM和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闪存和3维NAND闪存,并且被设置为诸如用户系统6900的存储卡和外部驱动器的可移除存储介质。存储模块6950可对应于参照图1描述的存储器系统110。此外,存储模块6950可被实施为如上参照图13至图18所述的SSD、eMMC和UFS。
用户接口6910可包括用于向应用处理器6930输入数据或命令或者用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器的用户输出接口。
此外,当图1的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的全部操作,并且网络模块6940可用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示通过处理器6930处理的数据或支持从触摸面板接收数据的功能。
根据本发明的实施例,因为基于存储块的读取计数而非基于主机读取量来对牺牲块执行读取回收操作,所以可根据存储块的实际损坏程度来调整读取回收操作的频率。
根据本实施例的存储器系统及其操作方法可以最小化存储器系统的复杂度和性能恶化并且最大化存储器装置的使用效率,从而快速且稳定地处理关于存储器装置的数据。
虽然已经描述和说明了各个特定的实施例,但是对于本领域技术人员根据本公开显而易见的是,在不脱离如所附权利要求所限定的本发明的技术方案和范围的情况下,可进行各种改变和变型。
Claims (19)
1.一种存储器系统,包括:
存储器装置,包括多个存储器管芯;以及
控制器,包括第一存储器,
其中所述控制器将与从主机接收的多个命令相对应的用户数据的数据段存储在所述第一存储器中,控制所述存储器装置通过交错来顺序地将所述数据段存储在所述存储器管芯中,更新与所述数据段在所述存储器管芯中的存储相对应的映射数据的映射段,将所述映射段存储在所述第一存储器中,控制所述存储器装置以将存储在所述第一存储器中的所述映射段存储在所述存储器管芯中,并且帮助所述主机将存储在所述第一存储器中的所述映射段存储在所述主机中的第二存储器中,
其中所述控制器在第一周期中将所述数据段的第一数据段组存储在所述第一存储器中,并控制所述存储器装置以通过交错将所述第一数据段组存储在所述存储器管芯中,并且在所述第一周期之后的第二周期中,所述数据段的第二数据段组存储在所述第一存储器中,并控制所述存储器装置以通过交错将所述第二数据段组存储在所述存储器管芯中,
其中所述控制器帮助所述主机将与所述第一数据段组在所述存储器管芯中的存储相对应的所述映射段的第一映射段组中的第一映射段存储在所述第二存储器中。
2.根据权利要求1所述的存储器系统,其中所述控制器更新所述第一映射段组,将所述第一映射段组存储在所述第一存储器中。
3.根据权利要求2所述的存储器系统,其中所述控制器通过参考所述第一映射段来更新与所述第二数据段组在所述存储器管芯中的存储相对应的所述映射段的第二映射段组,将所述第二映射段组存储在所述第一存储器中,帮助所述主机丢弃存储在所述第二存储器中的所述第一映射段,并且控制所述存储器装置以将存储在所述第一存储器中的映射段组存储在所述存储器管芯中。
4.根据权利要求3所述的存储器系统,其中在所述第一存储器中存在所述第一映射段的情况下,所述控制器通过参考所述第一存储器中的所述第一映射段来更新所述第二映射段组。
5.根据权利要求3所述的存储器系统,其中在所述第一存储器中不存在所述第一映射段的情况下,所述控制器通过参考存储在所述第二存储器中的所述第一映射段来更新所述第二映射段组。
6.根据权利要求3所述的存储器系统,其中所述第一映射段是以下中的至少一个:映射段中的被最后更新的映射段、具有最大大小的映射段以及具有最大过载的映射段。
7. 根据权利要求1所述的存储器系统,
其中所述命令具有顺序模式,并且
其中所述用户数据和所述映射数据是顺序数据。
8.根据权利要求1所述的存储器系统,其中所述控制器更新所述映射段作为所述映射数据,所述映射数据中包括开始位置信息和大小信息,并且所述控制器控制所述存储器装置将被更新的所述映射数据存储在所述存储器管芯中。
9.根据权利要求1所述的存储器系统,其中所述控制器控制所述存储器装置通过通道交错、通路交错和存储器管芯交错中的至少一种将所述数据段和所述映射段存储在所述存储器管芯中。
10.一种操作存储器系统的方法,用于包括多个存储器管芯的存储器装置,所述方法包括:
从主机接收多个命令;
将对应于所述命令的用户数据的数据段存储在包括在所述存储器装置的控制器中的第一存储器中,并且通过交错将所述数据段顺序地存储在所述存储器管芯中;
更新与所述数据段在所述存储器管芯中的存储相对应的映射数据的映射段,并且将所述映射段存储在所述第一存储器中;并且
将存储在所述第一存储器中的所述映射段存储在所述存储器管芯和所述主机中的第二存储器中,
其中将所述数据段顺序地存储在所述存储器管芯中包括:
在第一周期中,将所述数据段的第一数据段组存储在所述第一存储器中,并通过交错将所述第一数据段组存储在所述存储器管芯中;并且
在所述第一周期之后的第二周期中,将第二数据段组存储在所述第一存储器中,并通过交错将所述第二数据段组存储在所述存储器管芯中,
其中将所述映射段存储在所述主机中的第二存储器中包括:将与所述第一数据段组在所述存储器管芯中的存储相对应的所述映射段的第一映射段组中的第一映射段存储在所述第二存储器中。
11.根据权利要求10所述的方法,
其中将所述映射段存储在所述第一存储器中包括:更新所述第一映射段组,并且将所述第一映射段组存储在所述第一存储器中。
12.根据权利要求11所述的方法,其中将所述映射段存储在所述第一存储器中包括:
通过参考所述第一映射段来更新与所述第二数据段组在所述存储器管芯中的存储相对应的所述映射段的第二映射段组,并且将所述第二映射段组存储在所述第一存储器中;
丢弃存储在所述第二存储器中的所述第一映射段;并且
将存储在所述第一存储器中的映射段组存储在所述存储器管芯中。
13.根据权利要求12所述的方法,其中将所述映射段存储在所述第一存储器中包括:通过参考所述第一存储器中的所述第一映射段来更新所述第二映射段组。
14.根据权利要求12所述的方法,其中将所述映射段存储在所述第一存储器中包括:通过参考存储在所述第二存储器中的所述第一映射段来更新所述第二映射段组。
15.根据权利要求12所述的方法,其中所述第一映射段是以下中的至少一个:映射段中的被最后更新的映射段、具有最大大小的映射段以及具有最大过载的映射段。
16. 根据权利要求10所述的方法,
其中所述命令具有顺序模式,并且
其中所述用户数据和所述映射数据是顺序数据。
17.根据权利要求10所述的方法,进一步包括:更新所述映射段作为所述映射数据,所述映射数据中包括开始位置信息和大小信息,并且将被更新的所述映射数据存储在所述存储器管芯中。
18.根据权利要求10所述的方法,进一步包括:通过通道交错、通路交错和存储器管芯交错中的至少一种将所述数据段和所述映射段存储在所述存储器管芯中。
19.一种数据处理系统,包括:
主机,包括第一存储器,并且提供分别针对第一顺序数据和第二顺序数据第一写入请求和第二写入请求;
存储器装置,包括存储器管芯;以及
控制器,包括存储映射数据的第二存储器,并且所述控制器:
响应于所述第一写入请求,在第一周期期间,控制所述存储器装置以顺序的次序将所述第一顺序数据存储在所述存储器管芯中;
在所述第一周期期间更新所述第一顺序数据的所述映射数据;
在所述第一周期期间,帮助所述主机将被更新的所述映射数据的一部分存储在所述第一存储器中;
响应于所述第二写入请求,在第二周期期间,控制所述存储器装置以所述顺序的次序将所述第二顺序数据存储在所述存储器管芯中;
通过参考存储在所述第一存储器和所述第二存储器中的一个中的所述映射数据,在所述第二周期期间更新所述第一顺序数据和所述第二顺序数据两者的所述映射数据;并且
在所述第二周期期间,帮助所述主机将被更新的所述映射数据的一部分存储在所述第一存储器中,
所述控制器帮助所述主机将所述映射数据存储在所述第二存储器中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180036137A KR20190113443A (ko) | 2018-03-28 | 2018-03-28 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR10-2018-0036137 | 2018-03-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110321069A CN110321069A (zh) | 2019-10-11 |
CN110321069B true CN110321069B (zh) | 2024-01-02 |
Family
ID=68057046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811430791.6A Active CN110321069B (zh) | 2018-03-28 | 2018-11-28 | 存储器系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (3) | US10671528B2 (zh) |
KR (1) | KR20190113443A (zh) |
CN (1) | CN110321069B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190113443A (ko) * | 2018-03-28 | 2019-10-08 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102520412B1 (ko) * | 2018-09-19 | 2023-04-12 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
US11663139B2 (en) * | 2019-04-22 | 2023-05-30 | SK Hynix Inc. | Apparatus for transmitting map information in memory system |
US11734175B2 (en) * | 2019-08-22 | 2023-08-22 | SK Hynix Inc. | Storage device and method of operating the same |
US11762769B2 (en) | 2019-09-20 | 2023-09-19 | SK Hynix Inc. | Memory controller based on flush operation and method of operating the same |
KR20210098728A (ko) * | 2020-02-03 | 2021-08-11 | 삼성전자주식회사 | 적층형 메모리 장치 및 상기 적층형 메모리 장치의 동작 방법 |
US11169744B2 (en) * | 2020-03-31 | 2021-11-09 | Western Digital Technologies, Inc. | Boosting reads of chunks of data |
KR20230040114A (ko) * | 2021-09-15 | 2023-03-22 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106909521A (zh) * | 2015-12-23 | 2017-06-30 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107450845A (zh) * | 2016-05-20 | 2017-12-08 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107622019A (zh) * | 2016-07-14 | 2018-01-23 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
KR20180016679A (ko) * | 2016-08-04 | 2018-02-19 | 삼성전자주식회사 | 호스트 메모리를 이용하는 데이터 저장 장치 및 그것의 동작 방법 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9171585B2 (en) * | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
KR20090026941A (ko) * | 2007-09-11 | 2009-03-16 | 삼성전자주식회사 | 복수개의 비휘발성 데이터 저장매체를 구비한 저장장치의가상 파일 시스템에서 어드레스 맵핑을 수행하는 방법 및그 장치 |
US20100191896A1 (en) * | 2009-01-23 | 2010-07-29 | Magic Technologies, Inc. | Solid state drive controller with fast NVRAM buffer and non-volatile tables |
US8335907B2 (en) | 2009-12-30 | 2012-12-18 | Sandisk Technologies Inc. | Micro-update architecture for address tables |
KR101654774B1 (ko) | 2010-02-08 | 2016-09-06 | 시게이트 테크놀로지 엘엘씨 | 데이터 저장 장치와 저장 매체 액세스 방법 및 그에 대한 저장 매체 |
KR101301840B1 (ko) | 2010-12-08 | 2013-08-29 | 삼성전자주식회사 | 비휘발성 메모리 장치의 데이터 처리 방법 |
US10445229B1 (en) * | 2013-01-28 | 2019-10-15 | Radian Memory Systems, Inc. | Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies |
US9229854B1 (en) * | 2013-01-28 | 2016-01-05 | Radian Memory Systems, LLC | Multi-array operation support and related devices, systems and software |
CN104216837A (zh) | 2013-05-31 | 2014-12-17 | 华为技术有限公司 | 一种内存系统、内存访问请求的处理方法和计算机系统 |
KR102011059B1 (ko) | 2015-03-20 | 2019-08-16 | 한국전자통신연구원 | 스냅샷 이미지 업데이트 장치 및 방법 |
KR102611292B1 (ko) * | 2016-06-22 | 2023-12-11 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102651425B1 (ko) * | 2016-06-30 | 2024-03-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20190113443A (ko) | 2018-03-28 | 2019-10-08 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
-
2018
- 2018-03-28 KR KR1020180036137A patent/KR20190113443A/ko unknown
- 2018-10-10 US US16/156,730 patent/US10671528B2/en active Active
- 2018-11-28 CN CN201811430791.6A patent/CN110321069B/zh active Active
-
2020
- 2020-05-12 US US16/872,638 patent/US11379364B2/en active Active
-
2022
- 2022-07-05 US US17/857,717 patent/US11921630B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106909521A (zh) * | 2015-12-23 | 2017-06-30 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107450845A (zh) * | 2016-05-20 | 2017-12-08 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107622019A (zh) * | 2016-07-14 | 2018-01-23 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
KR20180016679A (ko) * | 2016-08-04 | 2018-02-19 | 삼성전자주식회사 | 호스트 메모리를 이용하는 데이터 저장 장치 및 그것의 동작 방법 |
Also Published As
Publication number | Publication date |
---|---|
US11379364B2 (en) | 2022-07-05 |
US10671528B2 (en) | 2020-06-02 |
US20200272563A1 (en) | 2020-08-27 |
US20220334962A1 (en) | 2022-10-20 |
US20190303292A1 (en) | 2019-10-03 |
KR20190113443A (ko) | 2019-10-08 |
CN110321069A (zh) | 2019-10-11 |
US11921630B2 (en) | 2024-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10942660B2 (en) | Memory system for peforming compression based on map data pattern and operating method thereof | |
CN110321069B (zh) | 存储器系统及其操作方法 | |
CN110858180B (zh) | 数据处理系统及其操作方法 | |
CN109388594B (zh) | 存储器系统及其操作方法 | |
CN110347330B (zh) | 存储器系统及其操作方法 | |
KR102468751B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
CN110096385B (zh) | 存储器系统及其操作方法 | |
CN109032501B (zh) | 存储器系统及其操作方法 | |
CN110457230B (zh) | 存储器系统及其操作方法 | |
US20200042242A1 (en) | Controller and operation method thereof | |
KR20190040604A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR20190074677A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR102415875B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
CN110765029B (zh) | 控制器及用于操作该控制器的方法 | |
CN110910941B (zh) | 存储器系统及其操作方法 | |
US20220137883A1 (en) | Apparatus and method for processing data in memory system | |
US20180307547A1 (en) | Controller inclduing multi processor and operation method thereof | |
CN109656470B (zh) | 存储器系统及其操作方法 | |
CN110825316A (zh) | 控制器及该控制器的操作方法 | |
US20190087114A1 (en) | Data processing system and operating method thereof | |
CN110045914B (zh) | 存储器系统及其操作方法 | |
CN110688060B (zh) | 存储器系统及该存储器系统的操作方法 | |
CN110716880B (zh) | 存储器系统及其操作方法 | |
KR20190069806A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
US20190205249A1 (en) | Controller, operating method thereof and data processing system including the controller |
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 |