CN107807887B - 存储器系统及其操作方法 - Google Patents
存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN107807887B CN107807887B CN201710454858.9A CN201710454858A CN107807887B CN 107807887 B CN107807887 B CN 107807887B CN 201710454858 A CN201710454858 A CN 201710454858A CN 107807887 B CN107807887 B CN 107807887B
- Authority
- CN
- China
- Prior art keywords
- segment
- mapping
- memory
- list
- data
- 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 287
- 238000011017 operating method Methods 0.000 title description 5
- 238000013507 mapping Methods 0.000 claims description 411
- 238000000034 method Methods 0.000 claims description 21
- 239000000872 buffer Substances 0.000 description 41
- 238000012545 processing Methods 0.000 description 28
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 16
- 239000010410 layer Substances 0.000 description 14
- 238000012937 correction Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000013403 standard screening design Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 7
- 239000004065 semiconductor Substances 0.000 description 6
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000003936 working memory 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
- 238000013461 design Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 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
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明涉及一种存储器系统,其可包括:存储器装置,其包括存储数据的多个页面和包括页面的多个存储块;以及控制器,其适于将对应于从主机接收的写入命令的用户数据的数据段存储在包括在存储块中的页面中、对应于数据段的存储生成映射数据的映射段并生成列表并通过列表搜索和更新映射段。
Description
相关申请的交叉引用
本申请要求于2016年9月9日向韩国知识产权局提交的申请号为10-2016-0116196的韩国专利申请的优先权,其全部内容通过引用并入本文。
技术领域
示例性实施例涉及一种存储器系统,且更特别地,涉及一种处理去往和来自存储器装置的数据的存储器系统,以及其操作方法。
背景技术
计算机环境范例已经变为可在任何时间任何地点使用的普适计算系统。因此,诸如移动电话、数字照相机和笔记本计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统来存储数据。存储器系统可用作便携式电子装置的主存储器装置或辅助存储器装置。
因为存储器系统没有移动部件,所以它们提供优良的稳定性、耐用性、高的信息存取速度以及低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
发明内容
各个实施例涉及一种能够快速且稳定地处理去往和来自其的数据的存储器系统及其操作方法。
在实施例中,存储器系统可包括:存储器装置,其包括多个存储块;以及控制器,其适于将用户数据的数据段存储在存储块中,根据数据段的存储生成映射数据的映射段并生成列表,并通过列表搜索和更新映射段。
控制器可生成对应于数据段的映射信息、生成用于映射信息的第一列表并且生成用于包括映射信息的映射段的第二列表。
控制器可进一步将作为映射信息的索引(index)的数据段的逻辑页码记录在第一列表中。
控制器可进一步将对应于待包括在映射段中的每一个中的映射信息的最大数量和映射信息的索引的映射段的索引记录在第二列表中。
控制器可进一步根据映射段的索引将映射段的偏移和计数记录在第二列表中。偏移可指示包括在各个映射段中的映射信息在第一列表中的位置。
映射信息的位置可指示在第一列表中距第一条目(entry)的映射信息的位置。
计数可指示包括在各个映射段中的映射信息的数量。
控制器可进一步通过映射段的偏移之差来检查计数。
控制器可进一步对应于逻辑页码在第一列表中对映射信息的索引排序,并在第二列表中对映射段的索引排序。
在实施例中,一种包括具有多个存储块的存储器装置的存储器系统的操作方法,该方法可包括:将用户数据的数据段存储在存储块中;根据数据段的存储生成映射数据的映射段,并生成列表;并通过列表搜索和更新映射段。
映射段的生成可包括:生成对应于数据段的映射信息;生成用于映射信息的第一列表;以及生成用于包括映射信息的映射段的第二列表。
映射段的生成可进一步包括将作为映射信息的索引的数据段的逻辑页码记录在第一列表中。
映射段的生成可进一步包括将对应于待包括在映射段中的每一个中的映射信息的最大数量和映射信息的索引的映射段的索引记录在第二列表中。
映射段的生成可进一步包括根据映射段的索引将映射段的偏移和计数记录在第二列表中。
偏移可指示包括在各个映射段中的映射信息在第一列表中的位置。
映射信息的位置可指示在第一列表中距第一条目的映射信息的位置。
计数可指示包括在各个映射段中的映射信息的数量。
映射段的生成可进一步包括通过映射段的偏移之差来检查计数。
映射段的生成可进一步包括对应于逻辑地址或逻辑页码在第一列表中对映射信息的索引排序,并在第二列表中对映射段的索引排序。
附图说明
从下面参照附图的详细描述中,本发明的这些和其它特征与优点对于本发明所属领域的技术人员将变得显而易见,其中:
图1是示出根据本发明的实施例的包括存储器系统的数据处理系统的框图。
图2是示出在图1的存储器系统中采用的存储器装置的示例性配置的示意图。
图3是示出图2的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图。
图4是示出图2的存储器装置的示例性三维结构的示意图。
图5至图8是示出根据实施例的对存储器系统中的存储器装置的数据处理操作的示意图。
图9是示出根据实施例的存储器系统的操作的流程图的示例的表示。
图10至图18是示意性示出根据本发明的各个实施例的图1的数据处理系统的应用示例的简图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,应注意到,本发明可以不同的其它实施例、形式以及其变型来实施,并不应被解释为限于本文所阐述的实施例。相反,提供所描述的实施例使得本公开将是彻底且完全的,并将本发明完全传达给本发明所属领域的技术人员。在整个公开中,相同的附图标记在本发明的各个附图和实施例中表示相同的部件。
将理解的是,虽然可在本文中使用术语“第一”、“第二”、“第三”等来描述各个元件,但是这些元件不受这些术语的限制。这些术语用于将一个元件与另一个元件区分开。因此,在不脱离本发明的精神和范围的情况下,下面描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,比例可能已经被夸大以便清楚地示出实施例的特征。
将进一步理解的是,当元件被称为“连接至”或“联接至”另一元件时,其可直接在其它元件上、连接至或联接至其它元件,或者可存在一个或多个中间元件。并且,还将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
本文使用的术语仅是为了描述特定实施例的目的,并不旨在限制本发明。如本文所使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其说明所陈述元件的存在,并且不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和全部组合。
除非另有定义,否则本文使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员基于本公开所通常理解的含义相同的含义。将进一步理解的是,诸如在常用字典中定义的那些术语的术语应当被解释为具有与其在本公开和相关领域技术语境中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文如此明确地这样定义。
在下面的描述中,为了提供对本发明的全面理解,阐述了许多具体细节。可在没有一些或全部这些具体细节的情况下实践本发明。在其它情况下,为了不使本发明被不必要地模糊,没有详细地描述公知的进程结构和/或进程。
还注意的是,在一些情况下,如对于相关领域的技术人员显而易见的是,结合一个实施例描述的特征或元件可单独使用或与另一个实施例的其它特征或元件组合使用,除非另有明确说明。
图1是示出根据本发明的实施例的包括存储器系统110的数据处理系统100的框图。
参照图1,数据处理系统100可包括主机102和存储器系统110。
主机102可包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式计算机、游戏机、TV和投影仪的非便携式电子装置。
主机102可包括至少一个OS(操作系统),并且OS可管理和控制主机102的全部功能和操作,并使用数据处理系统100或存储器系统110提供主机102和用户之间的操作。OS可支持对应于用户的使用目的和用途的功能和操作。例如,OS可根据主机102的移动性被划分为普通OS和移动OS。通用OS可根据用户的环境被划分为个人OS和企业OS。例如,配置成支持向一般用户提供服务的功能的个人OS可包括Windows和Chrome,配置成保护和支持高性能的企业OS可包括Windows服务器、Linux和Unix。并且,配置成支持向用户提供移动服务的功能和系统的省电功能的移动OS可包括Android、iOS和Windows Mobile。此时,主机102可包括多个OS,并且执行OS以对存储器系统110执行对应于用户的请求的操作。
存储器系统110可响应于主机102的请求操作以为主机102存储数据。存储器系统110的非限制性示例可包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用存储总线(USB)装置、通用闪存(UFS)装置、标准闪存(CF)卡、智能媒体卡(SMC)、个人计算机存储卡国际协会(PCMCIA)卡和记忆棒。MMC可包括嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)和微型-MMC,SD卡可包括迷你-SD卡和微型-SD卡。
存储器系统110可由各种类型的存储装置实施。包括在存储器系统110中的存储装置的非限制性示例可包括诸如动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置和诸如下列非易失性存储器装置:只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器。闪速存储器可具有三维(3D)堆叠结构。
存储器系统110可包括存储器装置150和控制器130。存储器装置150可为主机102存储数据,并且控制器130可控制数据在存储器装置150中的存储。
控制器130和存储器装置150可被集成至单个半导体装置中,单个半导体装置可被包括在如上所例示的各种类型的存储器系统中。例如,控制器130和存储器装置150可被集成为一个半导体装置来构成SSD。当存储器系统110用作SSD时,连接到存储器系统110的主机102的操作速度可得到提高。此外,控制器130和存储器装置150可被集成为一个半导体装置来构成存储卡。例如,控制器130和存储器装置150可构成诸如以下的存储卡:PCMCIA(个人计算机存储卡国际协会)卡,CF卡,SMC(智能媒体卡),记忆棒,包括RS-MMC和微型-MMC的MMC,包括迷你-SD、微型-SD和SDHC的SD卡或UFS装置。
存储器系统110的非限制性应用示例可包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数字照相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境下传输/接收信息的装置、构成家庭网络的各种电子装置之一、构成计算机网络的各种电子装置之一、构成远程信息处理网络的各种电子装置之一、无线射频识别(RFID)装置或构成计算系统的各种部件之一。
存储器装置150可以是非易失性存储器装置,并且即使不提供电力,其也可保留其中存储的数据。存储器装置150可通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供给主机102。存储器装置150可包括多个存储器管芯(未示出),每个存储器管芯包括多个平面(未示出),每个平面包括多个存储块152至156,存储块152至156中的每一个可包括多个页面,并且每个页面可包括联接至字线的多个存储器单元。在实施例中,存储器装置150可以是具有三维(3D)堆叠结构的闪速存储器。
控制器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-Chaudhri-Hocquenghem,BCH)码、turbo码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)以及分组编码调制(BCM)。然而,ECC单元138不限于此。ECC单元138可包括用于错误校正的所有的电路、模块、系统或装置。
PMU 140可提供和管理控制器130的电力需求。
NFC 142可用作用于接口连接控制器130和存储器装置150使得控制器130响应于来自主机102的请求来控制存储器装置150的存储器/存储接口。当存储器装置150是闪速存储器或具体地是NAND闪速存储器时,NFC 142可在处理器134的控制下生成用于存储器装置150的控制信号并处理待被提供给存储器装置150的数据。NFC 142可用作处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。具体地,NFC 142可支持控制器130和存储器装置150之间的数据传输。
存储器144可用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。控制器130可响应于来自主机102的请求控制存储器装置150执行读取操作、写入操作、编程操作和擦除操作。控制器130可将从存储器装置150读取的数据提供给主机102并可将从主机102提供的数据存储到存储器装置150中。存储器144可存储控制器130和存储器装置150执行这些操作所需的数据。
存储器144可通过易失性存储器来实施。例如,存储器144可通过静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。存储器144可设置在控制器130内部或外部。图1例示了设置在控制器130内部的存储器144。在实施例中,存储器144可通过具有在存储器144和控制器130之间传输数据的存储器接口的外部易失性存储器实施。
处理器134可控制存储器系统110的全部操作。处理器134可驱动固件来控制存储器系统110的全部操作。固件可被称为闪存转换层(FTL)。
控制器130的处理器134可包括用于执行存储器装置150的坏块管理操作的管理单元(未示出)。管理单元可执行用于检查包括在存储器装置150中的多个存储块152至156中在编程操作期间由于NAND闪速存储器的特性而发生编程失败的坏块的坏块管理操作。管理单元可将坏块的编程失败数据写入新的存储块。在具有3D堆叠结构的存储器装置150中,坏块管理操作可能降低存储器装置150的使用效率和存储器系统110的可靠性。因此,需要更可靠地执行坏块管理操作。
图2是示出存储器装置150的示意图。
参照图2,存储器装置150可包括多个存储块0至N-1,并且块0至N-1中的每一个可包括多个页面,例如2M个页面,页面的数量可根据电路设计而变化。包括在各个存储块0至N-1中的存储器单元可以是下列中的一个或多个:存储1位数据的单层单元(SLC)或存储2位或更多位数据的多层单元(MLC),诸如存储2位数据的MLC、存储3位数据的三层单元(TLC)、存储4位数据的四层单元(QLC)、存储5位数据的MLC等。
图3是示出存储器装置150中的存储块的存储器单元阵列的示例性配置的电路图。
参照图3,可对应于包括在存储器系统110的存储器装置150中的多个存储块152至156中的任一个的存储块330可包括联接到多个相应位线BL0至BLm-1的多个单元串340。每列的单元串340可包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。多个存储器单元MC0至MCn-1可以串联地被联接在选择晶体管DST和SST之间。在实施例中,存储器单元晶体管MC0至MCn-1中的每一个可通过能够存储多个位的数据信息的MLC来实施。单元串340中的每一个可被电联接至多个位线BL0至BLm-1中的对应位线。例如,如图3所示,第一单元串被联接至第一位线BL0,最后一个单元串被联接至最后一个位线BLm-1。
虽然图3示出了NAND闪速存储器单元,但是本发明不限于此。注意的是,存储器单元可以是NOR闪速存储器单元或者包括组合在其中的两种或更多种存储器单元的混合闪速存储器单元。另外,注意的是,存储器装置150可以是包括作为电荷存储层的导电浮栅的闪速存储器装置,或包括作为电荷存储层的绝缘层的电荷撷取闪存(CTF)存储器装置。
存储器装置150可进一步包括电压供应单元310,其提供根据操作模式供应至字线的包括编程电压、读取电压和通过电压的字线电压。电压供应单元310的电压生成操作可通过控制电路(未示出)控制。在控制电路的控制下,电压供应单元310可选择存储器单元阵列的存储块(或扇区)中的一个、选择被选择的存储块的字线中的一个以及将字线电压提供给被选择的字线和未被选择的字线。
存储器装置150可包括通过控制电路控制的读取/写入电路320。在验证/正常读取操作期间,读取/写入电路320可用作读出放大器,其用于从存储器单元阵列读取数据。在编程操作期间,读取/写入电路320可用作根据待被存储在存储器单元阵列中的数据驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可从缓冲器(未示出)接收待被存储到存储器单元阵列中的数据,并根据接收的数据驱动位线。读取/写入电路320可包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322至326,并且页面缓冲器322至326中的每一个可包括多个锁存器(未示出)。
图4是示出存储器装置150的示例性3D结构的示意图。
存储器装置150可通过2D或3D存储器装置实施。具体地,如图4所示,存储器装置150可通过具有3D堆叠结构的非易失性存储器装置实施。当存储器装置150具有3D结构时,存储器装置150可包括多个存储块BLK0至BLKN-1,存储块中的每一个具有3D结构(或垂直结构)。
图5至图8是示出根据实施例的对存储器系统中的存储器装置的数据处理操作的示意图。
以下,在本公开的实施例中,作为示例,将描述在以下情况下的数据处理:在将对应于从主机102接收的写入命令的写入数据存储在包括在控制器130的存储器144中的缓冲器/高速缓冲存储器中之后,被存储在缓冲器/高速缓冲存储器中的数据被写入并存储,即被编程,在包括在存储器装置150中的一个或多个存储块中,并且映射数据对应于对存储器装置150所执行的编程操作被更新。
此外,虽然在本实施例中,为了便于说明,下面将作为示例来描述控制器130在存储器系统110中执行数据处理操作,但是将注意的是,如上所述,包括在控制器130中的处理器134可通过例如FTL(闪存转换层)来执行数据处理操作。
例如,在本公开的实施例中,在将对应于从主机102接收的写入命令的用户数据和元数据存储在包括在控制器130的存储器144中的缓冲器中之后,控制器130将被存储在缓冲器中的数据写入并存储在包括在存储器装置150中的多个存储块中的可选存储块中,即执行编程操作。
元数据可包括用于对应于编程操作而被存储在存储块中的数据的第一映射数据和第二映射数据,第一映射数据包括逻辑/物理(L2P:逻辑到物理)信息(以下简称“逻辑信息”),第二映射数据包括物理/逻辑(P2L:物理到逻辑)信息(以下简称“物理信息”)。并且,元数据可包括关于对应于从主机102接收的命令的命令数据的信息、关于对应于命令的命令操作的信息、关于将对其执行命令操作的存储器装置150的存储块的信息以及关于对应于命令操作的映射数据的信息。换言之,元数据可包括除了对应于从主机102接收的命令的用户数据之外的全部剩余信息和数据。
在本公开的实施例中,例如在从主机102接收到写入命令的情况下,控制器130执行对应于从主机接收的命令的命令操作,即执行对应于写入命令的编程操作。此时,对应于写入命令的用户数据被写入并存储在存储器装置150的一个或多个存储块中,该一个或多个存储块是空白存储块(即,没有写入任何数据的存储块)、开放存储块(即,具有写有数据的一些存储器单元,但仍具有空白存储器单元的存储块)或空闲存储块(即,已经进行擦除操作的存储器单元)。并且,第一映射数据和第二映射数据被写入并存储在存储器装置150的存储块中的空白存储块、开放存储块或空闲存储块中。
当从主机102接收到写入命令时,控制器130将对应于写入命令的用户数据存储在第一存储块中。控制器130还将包括用于用户数据的第一映射数据和第二映射数据的元数据存储在第二存储块中。特别地,对应于将用户数据的数据段存储在存储器装置150的存储块中,控制器130生成并更新元数据的元段,即作为映射数据的映射段的第一映射数据的L2P段和第二映射数据的P2L段,并将映射段存储在存储器装置150的存储块中。此时,控制器130通过将被存储在存储器装置150的存储块中的映射段加载到控制器130的存储器144中来更新它们。
参照图5,控制器130执行对应于从主机102接收的命令的命令操作,例如,对应于从主机102接收的写入命令的编程操作。此时,控制器130将对应于写入命令的用户数据写入并存储在存储器装置150的存储块552、554、562、564、572、574、582和584中。并且,对应于对存储块552、554、562、564、572、574、582和584的写入操作,控制器130生成并更新用于用户数据的元数据,并将元数据写入并存储在存储器装置150的存储块552、554、562、564、572、574、582和584中。
控制器130生成并更新指示用户数据被存储在包括在存储器装置150的存储块552、554、562、564、572、574、582和584中的页面中的信息,例如第一映射数据和第二映射数据,即生成并更新第一映射数据的逻辑段,即L2P段,以及第二映射数据的物理段,即P2L段,然后将L2P段和P2L段存储在存储器装置150的存储块552、554、562、564、572、574、582和584中。
例如,控制器130将用户数据的数据段512缓存并缓冲在作为数据缓冲器/高速缓冲存储器的第一缓冲器510中。然后,控制器130将被存储在第一缓冲器510中的数据段512写入并存储在包括在存储器装置150的存储块552、554、562、564、572、574、582和584中的页面中。
根据将用户数据存储到存储块552至584中,控制器130生成并更新第一映射数据和第二映射数据,并将第一映射数据和第二映射数据存储在包括在控制器130的存储器144中的第二缓冲器520中。即,控制器130将用于用户数据的第一映射数据的L2P段522和用于用户数据的第二映射数据的P2L段524存储在作为映射缓冲器/高速缓冲存储器的第二缓冲器520中。在控制器130的存储器144中的第二缓冲器520中,如上所述,可存储第一映射数据的L2P段522和第二映射数据的P2L段524,或者可存储用于第一映射数据的L2P段522的映射列表和用于第二映射数据的P2L段524的映射列表。控制器130将被存储在第二缓冲器520中的第一映射数据的L2P段522和第二映射数据的P2L段524写入并存储在包括在存储器装置150的存储块552、554、562、564、572、574、582和584中的页面中。
并且,控制器130可执行对应于从主机102接收的读取命令的读取操作。此时,控制器130将对应于读取命令的用户数据的映射段,例如第一映射数据的L2P段522和第二映射数据的P2L段524加载在第二缓冲器520中,并检查L2P段522和P2L段524。之后,控制器130读取被存储在包括在存储器装置150的存储块552、554、562、564、572、574、582和584中的对应存储块中的页面中的用户数据、将读取的用户数据的数据段512存储在第一缓冲器510中并将数据段512提供给主机102。
参照图6,存储器装置150包括多个存储器管芯,例如存储器管芯0610、存储器管芯1 630、存储器管芯2 650和存储器管芯3 670。存储器管芯610、630、650和670中的每一个包括多个平面。例如,存储器管芯0 610包括平面0 612、平面1 616、平面2 620和平面3 624,存储器管芯1 630包括平面0 632、平面1 636、平面2 640和平面3 644,存储器管芯2 650包括平面0 652、平面1 656、平面2 660和平面3 664,并且存储器管芯3 670包括平面0 672、平面1 676、平面2 680和平面3 684。包括在存储器装置150中的存储器管芯610、630、650和670中的各个平面612、616、620、624、632、636、640、644、652、656、660、664、672、676、680和684包括多个存储块614、618、622、626、634、638、642、646、654、658、662、666、674、678、682和686。每个平面中块的数量可随设计而变化。如上面参照图2所述,每个块可包括多个页面,例如,2M个页面。
在本公开的实施例中,在将存储块614至686分组为多个超级存储块之后,对应于从主机102接收的命令的命令操作的用户数据和元数据可被写入并存储在超级存储块中。
此外,在本公开的实施例中,如上参照图5所述,在执行对应于从主机102接收的命令的命令操作例如编程操作的情况下,在对应于编程操作生成第一映射数据的L2P段522和第二映射数据的P2L段524之后,生成的映射段522和524被存储在包括在存储器装置150中的多个存储块中。并且,被存储在存储器装置150的存储块中的映射段522和524被加载并更新在包括在控制器130的存储器144中的第二缓冲器520中,并且更新的映射段522和524被存储在包括在存储器装置150中的多个存储块中。以下,将通过举例参照图7和图8详细描述根据实施例的包括在存储器系统中的存储器装置150中的多个存储块中的编程操作以及对应于编程操作的映射数据更新操作。
首先,参照图7,当从主机102接收到写入命令时,控制器130将对应于写入命令的用户数据的数据段700存储在包括在控制器130的存储器144中的第一缓冲器510中。用户数据的数据段700中的每一个具有逻辑地址或与其对应的逻辑页码(LPN)。控制器130将例如下列的用户数据的数据段700存储在第一缓冲器510中:具有LPN 0的数据段(以下简称“数据0”)、具有LPN 4的数据段(以下简称“数据4”)、具有LPN 5的数据段(以下简称“数据5”)、具有LPN 6的数据段(以下简称“数据6”)、具有LPN 8的数据段(以下简称“数据8”)、具有LPN9的数据段(以下简称“数据9”)、具有LPN 10的数据段(以下简称“数据10”)、具有LPN 16的数据段(以下简称“数据16”)、具有LPN 17的数据段(以下简称“数据17”)以及具有LPN 20的数据段(以下简称“数据20”)。
控制器130将第一缓冲器510的用户数据的数据段700写入并存储在包括在存储器装置150的存储块例如存储器装置150的存储块0 552中的页面中。
控制器130生成并更新指示用户数据的数据段700被写入并存储在包括在存储器装置150的存储块0 552中的页面中的信息,即,映射信息,并将该映射信息存储在第二缓冲器520中。此时,控制器130通过生成用于映射信息的映射列表710来将映射信息存储在第二缓冲器520中。
详细地,当用户数据的数据段700被写入并存储在包括在存储器装置150的存储块0 552中的页面中时,控制器130生成对应于数据段700的存储的映射信息,并且生成包括这些映射信息的映射数据的映射段,例如,L2P段和P2L段。在本公开的实施例中,为便于描述,将通过例示以下情况来进行详细描述:用于具有预定数量的LPN的数据段的映射信息被包括在每个映射段中,例如,用于具有2个LPN的数据段的映射信息被包括在一个映射段中,即被包括在一个映射段中的映射信息的最大数量为2。
控制器130生成映射列表710。映射列表710可包括用于各个数据段700的映射信息。映射信息可指示被存储在存储块中的一个的多个页面中的一个中的相应数据段。例如,控制器130可生成用于数据0的映射信息(以下简称“映射信息0”)、用于数据4的映射信息(以下简称“映射信息4”)、用于数据5的映射信息(以下简称“映射信息5”)、用于数据6的映射信息(以下简称“映射信息6”)、用于数据8的映射信息(以下简称“映射信息8”)、用于数据9的映射信息(以下简称“映射信息9”)、用于数据10的映射信息(以下简称“映射信息10”)、用于数据16的映射信息(以下简称“映射信息16”)、用于数据17的映射信息(以下简称“映射信息17”)以及用于数据20的映射信息(以下简称“映射信息20”)。生成的映射列表710可被存储在第二缓冲器520中。在映射列表710中,相应的LPN 712被记录为各个映射信息的索引722,并且可在映射列表710中根据逻辑地址或LPN 712对各个映射信息排序。在图7中,将通过例示根据LPN 712对映射信息排序并将其记录在映射列表710中进行描述。对于未根据LPN 712对映射信息排序的情况,将参照图8进行详细描述。
对应于各个数据段700的LPN 712,用于各个数据段700的映射信息的对应LPN 712可由索引722表示。包括具有作为索引的各个LPN 712的映射信息的映射段0、2至5、8和10可根据包括在各个映射段中的映射信息的LPN和映射信息的最大数量由索引722表示。用于具有LPN 2i的数据段(以下简称“数据段2i”)和具有可选LPN 2i+1的数据段(以下简称“数据段2i+1”)的映射信息分别变成映射信息2i和映射信息2i+1。在映射段中的每一个包括2个映射信息的情况下,包括映射信息2i和映射信息2i+1的映射段变成映射段i。例如,控制器130生成包括映射信息0的映射段0、包括映射信息4和映射信息5的映射段2、包括映射信息6的映射段3、包括映射信息8和映射信息9的映射段4、包括映射信息10的映射段5、包括映射信息16和映射信息17的映射段8以及包括映射信息20的映射段10。
在将包括各个映射信息的映射段,例如映射段0、映射段2、映射段3、映射段4、映射段5、映射段8和映射段10存储在第二缓冲器520中之后,控制器130将映射段存储在例如存储数据段700的存储块0 552或仅存储映射段的存储块1 554的存储块中。
控制器130通过使用其中记录映射信息的映射列表710生成段列表720。段列表720中记录包括各个映射信息的映射段的索引722、指示映射段的位置或包括在各个映射段中的映射信息的位置的偏移724以及指示包括在各个映射段中的映射信息的数量的计数726。
段列表720的索引722中记录指示以下的标识符,即各个段的索引:包括映射信息0的映射段0、包括映射信息4和映射信息5的映射段2、包括映射信息6的映射段3、包括映射信息8和映射信息9的映射段4、包括映射信息10的映射段5、包括映射信息16和映射信息17的映射段8以及包括映射信息20的映射段10。段列表720的索引722对应于根据LPN 712对被记录在映射列表710中的映射信息进行排序而排序。
段列表720的偏移724中记录各个映射段的位置或被记录在映射列表710中的映射信息的位置。也就是说,例如,在段列表720中作为第一映射段的映射段0变成开始映射段,并且在映射列表710中作为第一映射信息的映射信息0变成开始映射信息。在这种情形下,从映射信息0的开始映射信息开始,被包括在各个映射段中的映射信息的位置被记录在段列表720的偏移724中。例如,偏移724中记录被包括在映射段0中的映射信息0在映射列表710中的位置、被包括在映射段2中的映射信息4在映射列表710中的位置、被包括在映射段3中的映射信息6在映射列表710中的位置、被包括在映射段4中的映射信息8在映射列表710中的位置、被包括在映射段5中的映射信息10在映射列表710中的位置、被包括在映射段8中的映射信息16在映射列表710中的位置以及被包括在映射段10中的映射信息20在映射列表710中的位置。
段列表720的计数726中记录被包括在各个映射段中的映射信息的数量。例如,段列表720的计数726中记录指示以下的信息:映射段0中包括作为映射信息0的一个映射信息、映射段2中包括作为映射信息4和映射信息5的两个映射信息、映射段3中包括作为映射信息6的一个映射信息、映射段4中包括作为映射信息8和映射信息9的两个映射信息、映射段5中包括作为映射信息10的一个映射信息、映射段8中包括作为映射信息16和映射信息17的两个映射信息以及映射段10中包括作为映射信息20的一个映射信息。控制器130可以不仅通过被记录在段列表720中的计数726,而且通过被记录在段列表720中的偏移724来检查包括在各个映射段中的映射信息的数量。
例如,在段列表720中,控制器130可通过映射段0的偏移724与映射段2的偏移724之差来检查包括在映射段0中的映射信息的数量,即映射段0的计数726,并通过映射段2的偏移724与映射段3的偏移724之差来检查包括在映射段2中的映射信息的数量,即映射段2的计数726。此外,控制器130可通过映射段3的偏移724与映射段4的偏移724之差来检查包括在映射段3中的映射信息的数量,即映射段3的计数726,并通过映射段4的偏移724与映射段5的偏移724之差来检查包括在映射段4中的映射信息的数量,即映射段4的计数726。此外,控制器130可通过映射段5的偏移724与映射段8的偏移724之差来检查包括在映射段5中的映射信息的数量,即映射段5的计数726,并通过映射段8的偏移724与映射段10的偏移724之差来检查包括在映射段8中的映射信息的数量,即映射段8的计数726。
结果是,在根据本公开的实施例的存储器系统中,在搜索并检查映射信息和映射段以执行对应于从主机102接收的命令的命令操作或者搜索并检查映射信息和映射段以对应于执行命令操作来更新映射数据的情况下,如上所述,控制器130可通过生成的列表710和720快速地搜索并检查对应的映射信息和映射段。
特别地,在更新映射数据的情况下,控制器130可通过段列表720精确地且快速地检查对应于执行命令操作而需要更新的对应映射段。根据这一事实,可快速地搜索并检查被加载在控制器130的存储器144中的映射段或者被存储在存储器装置150的存储块中的映射段,其结果是,有可能快速地执行映射数据更新操作。此外,即使在执行命令操作的情况下,通过如上所述的通过段列表720快速地搜索并检查映射信息和映射段,有可能快速地执行命令操作。
接着,参照图8,当从主机102接收到写入命令时,控制器130将对应于写入命令的用户数据的数据段800存储在包括在控制器130的存储器144中的第一缓冲器510中。用户数据的数据段800中的每一个具有逻辑地址或与其对应的LPN。控制器130将例如下列的用户数据的数据段800存储在第一缓冲器510中:具有LPN 38的数据段(以下简称“数据38”)、具有LPN 39的数据段(以下简称“数据39”)、具有LPN 36的数据段(以下简称“数据36”)、具有LPN 50的数据段(以下简称“数据50”)、具有LPN 34的数据段(以下简称“数据34”)、具有LPN35的数据段(以下简称“数据35”)、具有LPN 46的数据段(以下简称“数据46”)、具有LPN 47的数据段(以下简称“数据47”)、具有LPN 30的数据段(以下简称“数据30”)以及具有LPN 40的数据段(以下简称“数据40”)。
控制器130生成映射列表810。映射列表810可包括用于各个数据段800的映射信息。映射信息可指示被存储在存储块中的一个的多个页面中的一个中的相应数据段。例如,控制器130可生成用于数据38的映射信息(以下简称“映射信息38”)、用于数据39的映射信息(以下简称“映射信息39”)、用于数据36的映射信息(以下简称“映射信息36”)、用于数据50的映射信息(以下简称“映射信息50”)、用于数据34的映射信息(以下简称“映射信息34”)、用于数据35的映射信息(以下简称“映射信息35”)、用于数据46的映射信息(以下简称“映射信息46”)、用于数据47的映射信息(以下简称“映射信息47”)、用于数据30的映射信息(以下简称“映射信息30”)以及用于数据40的映射信息(以下简称“映射信息40”)。生成的映射列表810可被存储在第二缓冲器520中。在映射列表810中,相应LPN 812被记录为相应映射信息的索引822,并且可在映射列表810中根据逻辑地址或LPN 812对各个映射信息排序。在图8中,将通过例示映射信息不根据LPN 812排序进行描述。
对应于各个数据段800的LPN 812,用于各个数据段800的映射信息的对应LPN 812可由索引822表示。包括具有作为索引的各个LPN 812的映射信息的映射段19、18、25、17、23、15和20可根据包括在各个映射段中的映射信息的LPN和映射信息的最大数量由索引822表示。用于具有可选LPN 2i的数据段(以下简称“数据段2i”)和具有可选LPN 2i+1的数据段(以下简称“数据段2i+1”)的映射信息分别变成映射信息2i和映射信息2i+1。在如上所述的映射段中的每一个包括2个映射信息的情况下,包括映射信息2i和映射信息2i+1的映射段变成映射段i。例如,控制器130生成包括映射信息38和映射信息39的映射段19、包括映射信息36的映射段18、包括映射信息50的映射段25、包括映射信息34和映射信息35的映射段17、包括映射信息46和映射信息47的映射段23、包括映射信息30的映射段15以及包括映射信息40的映射段20。
在将包括各个映射信息的映射段,例如映射段19、映射段18、映射段25、映射段17、映射段23、映射段15和映射段20存储在第二缓冲器520中之后,控制器130将映射段存储在例如存储数据段800的存储块2 562或仅存储映射段的存储块3 564的存储器装置150的存储块中。
控制器130在映射信息不根据LPN 812排序的状态下将映射信息记录在映射列表810中。控制器130通过使用其中记录映射信息的映射列表810来生成段列表820。段列表820中记录包括各个映射信息的映射段的索引822、指示映射段的位置或包括在各个映射段中的映射信息的位置的偏移824以及指示包括在各个映射段中的映射信息的数量的计数826。
段列表820的索引822中记录指示以下的标识符,即各个段的索引:包括映射信息38和映射信息39的映射段19、包括映射信息36的映射段18、包括映射信息50的映射段25、包括映射信息34和映射信息35的映射段17、包括映射信息46和映射信息47的映射段23、包括映射信息30的映射段15以及包括映射信息40的映射段20。段列表820的索引822不对应于被记录在映射列表810中的映射信息排序,即不根据LPN 812排序。在被记录在映射列表810中的映射信息根据LPN 812排序的情况下,可对应于根据LPN 812的映射信息的排序来对段列表820的索引822排序。
段列表820的偏移824中记录各个映射段的位置或被记录在映射列表810中的映射信息的位置。也就是说,例如,在段列表820中作为第一映射段的映射段19变成开始映射段,并且在映射列表810中作为第一映射信息的映射信息38变成开始映射信息。在这种情形下,从映射信息38的开始映射信息开始,包括在各个映射段中的映射信息的位置被记录在段列表820的偏移824中。例如,偏移824中记录包括在映射段19中的映射信息38在映射列表810中的位置、包括在映射段18中的映射信息36在映射列表810中的位置、包括在映射段25中的映射信息50在映射列表810的中的位置、包括在映射段17中的映射信息34在映射列表810中的位置、包括在映射段23中的映射信息46在映射列表810中的位置、包括在映射段15中的映射信息30在映射列表810中的位置以及包括在映射段20中的映射信息40在映射列表810中的位置。
段列表820的计数826中记录包括在各个映射段中的映射信息的数量。例如,段列表820的计数826中记录指示以下的信息:映射段19中包括作为映射信息38和映射信息39的两个映射信息、映射段18中包括作为映射信息36的一个映射信息、映射段25中包括作为映射信息50的一个映射信息、映射段17中包括作为映射信息34和映射信息35的两个映射信息、映射段23中包括作为映射信息46和映射信息47的两个映射信息、映射段15中包括作为映射信息30的一个映射信息以及映射段20中包括作为映射信息40的一个映射信息。控制器130可以不仅通过记录在段列表820中的计数826,而且通过记录在段列表820中的偏移824来检查被包括在各个映射段中的映射信息的数量。
例如,在段列表820中,控制器130可通过映射段19的偏移824与映射段18的偏移824之差来检查包括在映射段19中的映射信息的数量,即映射段19的计数826,并通过映射段18的偏移824与映射段25的偏移824之差来检查包括在映射段18中的映射信息的数量,即映射段18的计数826。此外,控制器130可通过映射段25的偏移824与映射段17的偏移824之差来检查包括在映射段25中的映射信息的数量,即映射段25的计数826,并通过映射段17的偏移824与映射段23的偏移824之差来检查包括在映射段17中的映射信息的数量,即映射段17的计数826。此外,控制器130可通过映射段23的偏移824与映射段15的偏移824之差来检查包括在映射段23中的映射信息的数量,即映射段23的计数826,并通过映射段15的偏移824与映射段20的偏移824之差来检查包括在映射段15中的映射信息的数量,即映射段15的计数826。
结果是,在根据本公开的实施例的存储器系统中,在搜索并检查映射信息和映射段以执行对应于从主机102接收的命令的命令操作或者搜索并检查映射信息和映射段以对应于执行命令操作来更新映射数据的情况下,如上所述,控制器130可通过生成的列表810和820快速地搜索并检查对应的映射信息和映射段。
特别地,在更新映射数据的情况下,控制器130可通过段列表820精确地并快速地检查对应于执行命令操作而需要更新的对应映射段。因此,可快速地搜索并检查被加载在控制器130的存储器144中的映射段或者被存储在存储器装置150的存储块中的映射段,其结果是,有可能快速地执行映射数据更新操作。此外,即使在执行命令操作的情况下,通过如上所述的通过段列表820快速地搜索并检查映射信息和映射段,有可能快速地执行命令操作。下面将参照图9详细描述根据实施例的在存储器系统中处理数据的操作。
图9是示出根据实施例的存储器系统的操作的流程图。
参照图9,在步骤910处,存储器系统从主机102接收命令,例如写入命令,并且在步骤920处,存储器系统执行对应于从主机102接收的命令的命令操作,例如对应于写入命令的编程操作。对应于从主机102接收的写入命令的用户数据的数据段被存储在包括在存储器装置150的存储块中的页面中。
在步骤930处,对应于用户数据的数据段在包括在存储器装置150的存储块中的页面中的存储,生成映射信息和包括映射信息的映射段,并且生成用于映射信息的映射列表和用于映射段的段列表。在映射列表中,相应LPN可被记录为各个映射信息的索引,并且可通过根据LPN对映射信息排序来记录映射信息。并且,段列表中记录包括各个映射信息的映射段的索引、指示映射段的位置或包括在各个映射段中的映射信息的位置的偏移以及指示包括在各个映射段中的映射信息的数量的计数。
然后,在步骤940处,在通过映射列表和段列表快速地搜索并检查用于执行对应于从主机102接收的命令的命令操作或映射数据更新操作的映射信息和映射段之后,执行命令操作或映射数据更新操作。特别地,通过映射列表和段列表快速地搜索并检查需要更新的映射段,更新对应映射段,即快速地更新映射数据。
因为上面参照图5至图9详细描述了下列操作:将对应于从主机102接收的写入命令的用户数据的数据段存储在存储器装置150的存储块中,并且对应于用户数据的数据段在存储器装置150的存储块中的存储,生成和更新映射数据的映射段,特别地,生成用于映射信息的映射列表和用于映射段的段列表,并且通过映射列表和段列表执行命令操作并更新映射数据,所以这里将省略对其的进一步描述。
图10至图18是示意性示出图1的数据处理系统的应用示例的简图。
图10是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的简图。图10示意性示出应用根据本实施例的存储器系统的存储卡系统。
参照图10,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可被连接至通过非易失性存储器实施的存储器装置6130,并被配置成访问存储器装置6130。例如,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机之间的接口并驱动用于控制存储器装置6130的固件。也就是说,存储器控制器6120可对应于参照图1和图5描述的存储器系统110的控制器130,并且存储器装置6130可对应于参照图1和图5描述的存储器系统110的存储器装置150。
因此,存储器控制器6120可包括RAM、处理单元、主机接口、存储器接口和错误校正单元。存储器控制器130可进一步包括图5所示的元件。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1所述,存储器控制器6120可被配置成通过诸如下列的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、PCI Express(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WI-FI以及蓝牙。因此,根据本实施例的存储器系统和数据处理系统可应用于有线/无线电子装置,或者特别是移动电子装置。
存储器装置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)。
图11是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的简图。
参照图11,数据处理系统6200可包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图11所示的数据处理系统6200可作为如参照图1所描述的诸如存储卡(CF、SD、微型-SD等)或USB装置的存储介质。存储器装置6230可对应于图1和图5所示的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于图1和图5所示的存储器系统110中的控制器130。
存储器控制器6220可响应于主机6210的请求控制对存储器装置6230的读取操作、写入操作或擦除操作,并且存储器控制器6220可包括一个或多个CPU 6221、诸如RAM 6222的缓冲存储器、ECC电路6223、主机接口6224以及诸如NVM接口6225的存储器接口。
CPU 6221可控制对存储器装置6230的全部操作,例如读取操作、写入操作、文件系统管理操作和坏页面管理操作。RAM 6222可根据CPU 6221的控制来操作且用作工作存储器、缓冲存储器或高速缓冲存储器。当RAM 6222用作工作存储器时,通过CPU 6221处理的数据可被临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222可用于缓冲从主机6210传输至存储器装置6230的数据或从存储器装置6230传输至主机6210的数据。当RAM6222用作高速缓冲存储器时,RAM 6222可辅助低速存储器装置6230以高速运行。
ECC电路6223可对应于图1所示的控制器130的ECC单元138。如参照图1所述,ECC电路6223可生成用于校正从存储器装置6230提供的数据的失效位或错误位的ECC(错误校正码)。ECC电路6223可对提供给存储器装置6230的数据执行错误校正编码,从而形成具有奇偶校验位的数据。奇偶校验位可被存储在存储器装置6230中。ECC电路6223可对从存储器装置6230输出的数据执行错误校正解码。此时,ECC电路6223可使用奇偶校验位来校正错误。例如,如参照图1所述,ECC电路6223可使用LDPC码、BCH码、turbo码、里德-所罗门码、卷积码、RSC或诸如网格编码调制(TCM)或分组编码调制(BCM)的编码调制来校正错误。
存储器控制器6220可通过主机接口6224向主机6210传输数据/接收来自主机6210的数据,并通过NVM接口6225向存储器装置6230传输数据/接收来自存储器装置6230的数据。主机接口6224可通过PATA总线、SATA总线、SCSI、USB、PCIe或NAND接口连接至主机6210。存储器控制器6220可利用诸如WiFi或长期演进(LTE)的移动通信协议具有无线通信功能。存储器控制器6220可连接到外部装置,例如主机6210或另一个外部装置,然后向外部装置传输数据/接收来自外部装置的数据。特别地,由于存储器控制器6220被配置成通过各种通信协议中的一种或多种与外部装置进行通信,所以根据本实施例的存储器系统和数据处理系统可应用于有线/无线电子装置或特别是移动电子装置。
图12是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的简图。图12示意性示出应用根据本实施例的存储器系统的SSD。
参照图12,SSD 6300可包括控制器6320和包括多个非易失性存储器的存储器装置6340。控制器6320可对应于图1和图5的存储器系统110中的控制器130,并且存储器装置6340可对应于图1和图5的存储器系统中的存储器装置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的非易失性存储器来实施。为便于描述,图12示出缓冲存储器6325存在于控制器6320内部。然而,缓冲存储器6325可存在于控制器6320外部。
ECC电路6322可在编程操作期间计算待被编程至存储器装置6340的数据的ECC值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与诸如主机6310的外部装置的接口功能,并且非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口功能。
此外,可提供应用图1和图5的存储器系统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。
图13是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的简图。图13示意性示出应用根据本实施例的存储器系统的嵌入式多媒体卡(eMMC)。
参照图13,eMMC 6400可包括控制器6430和通过一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1和图5的存储器系统110中的控制器130,并且存储器装置6440可对应于图1和图5的存储器系统110中的存储器装置150。
更具体地,控制器6430可通过多个通道连接至存储器装置6440。控制器6430可包括一个或多个内核6432、主机接口6431和诸如NAND接口6433的存储器接口。
内核6432可控制eMMC 6400的全部操作,主机接口6431可提供控制器6430和主机6410之间的接口功能,并且NAND接口6433可提供存储器装置6440和控制器6430之间的接口功能。例如,主机接口6431可作为并行接口,例如参照图1所描述的MMC接口。此外,主机接口6431可作为串行接口,例如UHS((超高速)-I/UHS-II)接口。
图14至图17是示意性示出包括根据本实施例的存储器系统的数据处理系统的其它示例的简图。图14至图17示意性示出应用根据本实施例的存储器系统的UFS(通用闪存)系统。
参照图14至图17,UFS系统6500、6600、6700和6800可分别包括主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830。主机6510、6610、6710和6810可作为有线/无线电子装置或特别是移动电子装置的应用处理器,UFS装置6520、6620、6720和6820可作为嵌入式UFS装置,并且UFS卡6530、6630、6730和6830可作为外部嵌入式UFS装置或可移除UFS卡。
各个UFS系统6500、6600、6700和6800中的主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过UFS协议与诸如有线/无线电子装置或特别是移动电子装置的外部装置通信,并且UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过图1和图5所示的存储器系统110来实施。例如,在UFS系统6500、6600、6700和6800中,UFS装置6520、6620、6720和6820可以参照图11至图13描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730和6830可以参照图10描述的存储卡系统6100的形式来实施。
此外,在UFS系统6500、6600、6700和6800中,主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过UFS接口,例如,MIPI(移动工业处理器接口)中的MIPI M-PHY和MIPI UniPro(统一协议),彼此通信。此外,UFS装置6520、6620、6720和6820与UFS卡6530、6630、6730和6830可通过除UFS协议以外的各种协议,例如,UFD、MMC、SD、迷你-SD和微型-SD,彼此通信。
在图14所示的UFS系统6500中,主机6510、UFS装置6520以及UFS卡6530中的每一个可包括UniPro。主机6510可执行交换操作以便与UFS装置6520和UFS卡6530通信。特别地,主机6510可通过诸如UniPro处的L3交换的链路层交换与UFS装置6520或UFS卡6530通信。此时,UFS装置6520和UFS卡6530可通过主机6510的UniPro处的链路层交换来彼此通信。在本实施例中,为便于描述,已经例示了其中一个UFS装置6520和一个UFS卡6530连接到主机6510的配置。然而,多个UFS装置和UFS卡可并联或以星形形式连接至主机6510,并且多个UFS卡可并联或以星形形式连接至UFS装置6520或者串联或以链的形式连接至UFS装置6520。
在图15所示的UFS系统6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可包括UniPro,并且主机6610可通过交换模块6640执行交换操作,例如,通过交换模块6640在UniPro处执行链路层交换,例如L3交换,与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可通过UniPro处的交换模块6640的链路层交换来彼此通信。在本实施例中,为便于描述,已经例示了其中一个UFS装置6620和一个UFS卡6630连接至交换模块6640的配置。然而,多个UFS装置和UFS卡可并联或以星形形式连接至交换模块6640,并且多个UFS卡可串联或以链的形式连接至UFS装置6620。
在图16所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可包括UniPro,并且主机6710可通过交换模块6740执行交换操作,例如,通过交换模块6740在UniPro处执行链路层交换,例如L3交换,与UFS装置6720或UFS卡6730通信。此时,UFS装置6720和UFS卡6730可通过UniPro处的交换模块6740的链路层交换来彼此通信,并且交换模块6740可在UFS装置6720内部或外部与UFS装置6720集成为一个模块。在本实施例中,为便于描述,已经例示了其中一个UFS装置6720和一个UFS卡6730连接至交换模块6740的配置。然而,每个均包括交换模块6740和UFS装置6720的多个模块可并联或以星形形式连接至主机6710,或者串联或以链的形式彼此连接。此外,多个UFS卡可并联或以星形形式连接至UFS装置6720。
在图17所示的UFS系统6800中,主机6810、UFS装置6820和UFS卡6830中的每一个可包括M-PHY和UniPro。UFS装置6820可执行交换操作以便与主机6810和UFS卡6830通信。特别地,UFS装置6820可通过用于与主机6810通信的M-PHY和UniPro模块和用于与UFS卡6830通信的M-PHY和UniPro模块之间的交换操作,例如通过目标ID(标识符)交换操作,与主机6810或UFS卡6830通信。此时,主机6810和UFS卡6830可通过UFS装置6820的M-PHY和UniPro模块之间的目标ID交换来彼此通信。在本实施例中,为便于描述,已经例示了其中一个UFS装置6820连接至主机6810并且一个UFS卡6830连接至UFS装置6820的配置。然而,多个UFS装置可并联或以星形形式连接至主机6810或串联或以链的形式连接至主机6810,并且多个UFS卡可并联或以星形形式连接至UFS装置6820或串联或以链的形式连接至UFS装置6820。
图18是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的简图。图18是示意性示出应用根据本实施例的存储器系统的用户系统的简图。
参照图18,用户系统6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可驱动包括在用户系统6900中的诸如OS的部件,并且包括控制包括在用户系统6900中的部件的控制器、接口和图形引擎。应用处理器6930可作为片上系统(SoC)被提供。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3SDRAM、LPDDR SDARM、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闪存和3D NAND闪存的非易失性半导体存储器装置来实施,并且可被提供为诸如用户系统6900的存储卡或外部驱动器的可移除存储介质。存储模块6950可对应于参照图1和图5描述的存储器系统110。此外,存储模块6950可被实施为如上参照图12至图17所述的SSD、eMMC和UFS。
用户接口6910可包括用于向应用处理器6930输入数据或命令或者用于将数据输出至外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和电动机的用户输出接口。
此外,当图1和图5的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的全部操作,并且网络模块6940可作为用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示通过处理器6930处理的数据或支持从触摸面板接收数据的功能。
根据实施例的存储器系统及其操作方法可最小化存储器系统的复杂性和性能退化,并最大化存储器装置的使用效率,从而快速且稳定地处理去往和来自存储器装置的数据。
虽然为了说明的目的已经描述了各种实施例,但是对于本领域技术人员将显而易见的是,在不脱离如所附权利要求中所限定的本发明的精神和范围的情况下,可进行各种改变和修改。
Claims (20)
1.一种存储器系统,其包括:
存储器装置,其包括多个存储块;以及
控制器,其适于生成多个映射段,每个映射段包括多个逻辑地址,并且将所述多个映射段存储在至少一个存储块中,
其中所述控制器将用户数据的数据段存储在所述多个存储块中,以生成第一列表,所述第一列表包括分别对应于所述数据段的第一逻辑地址,生成第二列表,所述第二列表包括关于所述第一逻辑地址中的每一个对应于所述多个映射段中的哪一个的多个信息,并且通过所述第一列表和所述第二列表搜索和更新对应于所述第一逻辑地址的所述多个映射段。
2.根据权利要求1所述的存储器系统,其中所述第二列表中的所述多个信息包括:索引,指示哪个映射段对应于所述第一逻辑地址;偏移,指示所述第一逻辑地址在所述第一列表中的位置;以及计数,指示对应于所述第一逻辑地址的每个映射段中被更新的逻辑地址的计数。
3.根据权利要求1所述的存储器系统,其中所述控制器进一步将作为所述映射信息的索引的所述数据段的逻辑页码记录在所述第一列表中。
4.根据权利要求3所述的存储器系统,其中所述控制器进一步将对应于待包括在所述映射段中的每一个中的映射信息的最大数量和所述映射信息的索引的所述映射段的索引记录在所述第二列表中。
5.根据权利要求4所述的存储器系统,其中,所述控制器进一步根据所述映射段的索引将所述映射段的偏移和计数记录在所述第二列表中。
6.根据权利要求5所述的存储器系统,其中所述偏移指示包括在各个所述映射段中的所述映射信息在所述第一列表中的位置。
7.根据权利要求6所述的存储器系统,其中所述映射信息的位置指示在所述第一列表中距第一条目的映射信息的位置。
8.根据权利要求5所述的存储器系统,其中所述计数指示包括在各个所述映射段中的映射信息的数量。
9.根据权利要求5所述的存储器系统,其中所述控制器进一步通过所述映射段的偏移之差来检查所述计数。
10.根据权利要求4所述的存储器系统,其中所述控制器进一步对应于所述逻辑页码在所述第一列表中对所述映射信息的索引排序,并在所述第二列表中对所述映射段的索引排序。
11.一种存储器系统的操作方法,所述存储器系统包括存储器装置,所述存储器装置具有多个存储块,所述方法包括:
生成多个映射段,每个映射段包括多个逻辑地址,并且将所述多个映射段存储在至少一个存储块中;
将用户数据的数据段存储在所述多个存储块中,以生成第一列表,所述第一列表包括分别对应于所述数据段的第一逻辑地址;
生成第二列表,所述第二列表包括关于所述第一逻辑地址中的每一个对应于所述多个映射段中的哪一个的多个信息;以及
通过所述第一列表和所述第二列表搜索和更新对应于所述第一逻辑地址的所述多个映射段。
12.根据权利要求11所述的方法,其中所述第二列表中的所述多个信息包括:索引,指示哪个映射段对应于所述第一逻辑地址;偏移,指示所述第一逻辑地址在所述第一列表中的位置;以及计数,指示对应于所述第一逻辑地址的每个映射段中被更新的逻辑地址的计数。
13.根据权利要求11所述的方法,其中所述映射段的生成进一步包括将作为所述映射信息的索引的所述数据段的逻辑页码记录在所述第一列表中。
14.根据权利要求13所述的方法,其中所述映射段的生成进一步包括将对应于待被包括在所述映射段中的每一个中的映射信息的最大数量和所述映射信息的索引的所述映射段的索引记录在所述第二列表中。
15.根据权利要求14所述的方法,其中所述映射段的生成进一步包括根据所述映射段的索引将所述映射段的偏移和计数记录在所述第二列表中。
16.根据权利要求15所述的方法,其中所述偏移指示包括在各个所述映射段中的所述映射信息在所述第一列表中的位置。
17.根据权利要求16所述的方法,其中所述映射信息的位置指示在所述第一列表中距第一条目的映射信息的位置。
18.根据权利要求15所述的方法,其中所述计数指示包括在各个所述映射段中的映射信息的数量。
19.根据权利要求15所述的方法,其中所述映射段的生成进一步包括通过所述映射段的偏移之差来检查所述计数。
20.根据权利要求14所述的方法,其中所述映射段的生成进一步包括对应于逻辑地址或所述逻辑页码在所述第一列表中对所述映射信息的索引排序,并在所述第二列表中对所述映射段的索引排序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160116196A KR102666489B1 (ko) | 2016-09-09 | 2016-09-09 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR10-2016-0116196 | 2016-09-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107807887A CN107807887A (zh) | 2018-03-16 |
CN107807887B true CN107807887B (zh) | 2021-06-18 |
Family
ID=61559881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710454858.9A Active CN107807887B (zh) | 2016-09-09 | 2017-06-16 | 存储器系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10387065B2 (zh) |
KR (1) | KR102666489B1 (zh) |
CN (1) | CN107807887B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200006378A (ko) * | 2018-07-10 | 2020-01-20 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그것의 동작방법 |
US10853309B2 (en) | 2018-08-13 | 2020-12-01 | Micron Technology, Inc. | Fuseload architecture for system-on-chip reconfiguration and repurposing |
KR20200019429A (ko) * | 2018-08-14 | 2020-02-24 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
KR102593757B1 (ko) * | 2018-09-10 | 2023-10-26 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20210025412A (ko) | 2019-08-27 | 2021-03-09 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 동작 방법 |
KR20220005322A (ko) | 2020-07-06 | 2022-01-13 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001052068A1 (en) * | 2000-01-14 | 2001-07-19 | Gigabus, Inc. | A memory device search system and method |
CN103677667A (zh) * | 2012-09-20 | 2014-03-26 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6377500B1 (en) * | 1999-11-11 | 2002-04-23 | Kabushiki Kaisha Toshiba | Memory system with a non-volatile memory, having address translating function |
US6856993B1 (en) * | 2000-03-30 | 2005-02-15 | Microsoft Corporation | Transactional file system |
JP2002140215A (ja) * | 2000-11-01 | 2002-05-17 | Seiko Instruments Inc | 仮想メモリ管理方式、仮想メモリ管理方法、仮想メモリ管理方法をコンピュータに実行させるためのプログラムを記録した記録媒体及び集積回路設計用cad装置 |
JP5076411B2 (ja) | 2005-11-30 | 2012-11-21 | ソニー株式会社 | 記憶装置、コンピュータシステム |
US7870351B2 (en) | 2007-11-15 | 2011-01-11 | Micron Technology, Inc. | System, apparatus, and method for modifying the order of memory accesses |
US8891298B2 (en) * | 2011-07-19 | 2014-11-18 | Greenthread, Llc | Lifetime mixed level non-volatile memory system |
KR101736384B1 (ko) * | 2010-09-29 | 2017-05-16 | 삼성전자주식회사 | 비휘발성 메모리 시스템 |
KR20130065957A (ko) | 2011-12-12 | 2013-06-20 | 숭실대학교산학협력단 | 메모리 제어장치 및 제어방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체 |
EP2680152B1 (en) | 2012-06-27 | 2017-05-03 | Alcatel Lucent | Process for managing the storage of a list of N items in a memory cache of C items of a cache system |
KR20150057068A (ko) * | 2013-11-18 | 2015-05-28 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR20170056765A (ko) * | 2015-11-13 | 2017-05-24 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20170060203A (ko) * | 2015-11-23 | 2017-06-01 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
CN105893272B (zh) * | 2016-03-23 | 2019-03-15 | 北京联想核芯科技有限公司 | 一种数据处理方法、处理设备及存储系统 |
KR102530262B1 (ko) * | 2016-07-21 | 2023-05-11 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
-
2016
- 2016-09-09 KR KR1020160116196A patent/KR102666489B1/ko active IP Right Grant
-
2017
- 2017-05-23 US US15/602,320 patent/US10387065B2/en active Active
- 2017-06-16 CN CN201710454858.9A patent/CN107807887B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001052068A1 (en) * | 2000-01-14 | 2001-07-19 | Gigabus, Inc. | A memory device search system and method |
CN103677667A (zh) * | 2012-09-20 | 2014-03-26 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
Non-Patent Citations (1)
Title |
---|
基于PowerPC架构的高速缓存单元的设计;邵剑;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160315;I137-335 * |
Also Published As
Publication number | Publication date |
---|---|
CN107807887A (zh) | 2018-03-16 |
KR20180029124A (ko) | 2018-03-20 |
US20180074710A1 (en) | 2018-03-15 |
KR102666489B1 (ko) | 2024-05-20 |
US10387065B2 (en) | 2019-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108255739B (zh) | 存储器系统及其操作方法 | |
CN108121669B (zh) | 存储器系统及其操作方法 | |
CN108304141B (zh) | 存储器系统及其操作方法 | |
CN107562649B (zh) | 存储器系统及其操作方法 | |
US10073651B2 (en) | Memory system with power-off detection and recovery mechanism | |
CN110858180B (zh) | 数据处理系统及其操作方法 | |
CN109947358B (zh) | 存储器系统及其操作方法 | |
CN107797882B (zh) | 存储器系统及其操作方法 | |
CN107346213B (zh) | 存储器系统及其操作方法 | |
CN108121665B (zh) | 存储器系统及其操作方法 | |
CN108694138B (zh) | 控制器及其操作方法 | |
CN108108308B (zh) | 存储器系统及其操作方法 | |
CN107450845B (zh) | 存储器系统及其操作方法 | |
CN108388525B (zh) | 存储器系统及其操作方法 | |
CN110347330B (zh) | 存储器系统及其操作方法 | |
CN107346214B (zh) | 存储器系统及其操作方法 | |
US20180101454A1 (en) | Memory system and operation method for the same | |
US20180074718A1 (en) | Memory system and method for operating the same | |
CN109032501B (zh) | 存储器系统及其操作方法 | |
CN107807887B (zh) | 存储器系统及其操作方法 | |
CN110308867B (zh) | 存储器系统及其操作方法 | |
CN108257637B (zh) | 存储器系统及其操作方法 | |
CN107562653B (zh) | 存储器系统及其操作方法 | |
US10019173B1 (en) | Memory system and operating method thereof | |
US10445194B2 (en) | Memory system storing checkpoint information and operating method thereof |
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 |