CN110262981B - 控制器及该控制器的操作方法 - Google Patents
控制器及该控制器的操作方法 Download PDFInfo
- Publication number
- CN110262981B CN110262981B CN201811351800.2A CN201811351800A CN110262981B CN 110262981 B CN110262981 B CN 110262981B CN 201811351800 A CN201811351800 A CN 201811351800A CN 110262981 B CN110262981 B CN 110262981B
- Authority
- CN
- China
- Prior art keywords
- data
- normal
- sequential
- mapping
- write
- 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
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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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
- 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/0615—Address space extension
- G06F12/063—Address space extension for I/O modules, e.g. memory mapped I/O
-
- 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
- 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]
-
- 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/1016—Performance 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/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/502—Control mechanisms for virtual memory, cache or TLB using adaptive policy
-
- 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/7202—Allocation control and policies
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)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开一种控制器,该控制器包括:处理器,控制存储器装置写入正常映射数据和顺序映射数据;以及映射数据管理器,生成并存储正常映射表和顺序映射表,其中当正常用户数据是顺序用户数据时,映射数据管理器将正常映射数据顺序地记录在正常映射表中,当记录的正常映射数据的大小大于写入段的大小时,映射数据管理器以写入段的大小为单位合并正常映射数据以生成顺序映射数据,并将顺序映射数据记录在顺序映射表中,并且其中正常映射表表示正常用户数据和对应于正常用户数据的正常映射数据之间的映射关系,顺序映射表表示顺序用户数据和对应于顺序用户数据的顺序映射数据之间的映射关系。
Description
相关申请的交叉引用
本申请要求于2018年3月12日提交的申请号为10-2018-0028717的韩国专利申请的优先权,该韩国专利申请的公开内容通过引用全部并入本文。
技术领域
本发明的各个实施例涉及一种控制器。特别地,实施例涉及一种能够有效地管理数据的控制器及该控制器的操作方法。
背景技术
计算环境的范例继续向着普适计算发展,这为人们或用户提供了随时随地使用他们的或通常提供的计算系统的能力。在普适计算时代,对诸如移动电话、数码相机和膝上型计算机的便携式电子装置的需求增长迅速。这些电子装置通常包括使用存储器装置的存储器系统作为数据存储装置。数据存储装置可被用作便携式电子装置的主存储器或辅助存储器。
因为与硬盘装置相比,数据存储装置不具有机械驱动单元(例如,具有读取/写入头的机械臂),因此该数据存储装置可具有优异的稳定性和耐用性。而且,与硬盘装置相比,数据存储装置可具有较快的数据访问速度和较低的功耗。具有这种优点的数据存储装置的一些示例包括通用串行总线(USB)存储器装置、各种接口的存储卡以及固态驱动器(SSD)等。
发明内容
本发明的各个实施例涉及一种能够有效地管理对应于顺序用户数据的映射数据的控制器。
根据本发明的实施例,控制器可包括:处理器,适于控制存储器装置写入正常映射数据和顺序映射数据;以及映射数据管理器,适于生成并存储正常映射表和顺序映射表,其中当正常用户数据是顺序用户数据时,映射数据管理器将正常映射数据顺序地记录在正常映射表中,当记录的正常映射数据的大小大于写入段的大小时,映射数据管理器以写入段的大小为单位合并正常映射数据以生成顺序映射数据,并将顺序映射数据记录在顺序映射表中,并且其中正常映射表表示正常用户数据和对应于正常用户数据的正常映射数据之间的映射关系,顺序映射表表示顺序用户数据和对应于顺序用户数据的顺序映射数据之间的映射关系。
根据本发明的实施例,控制器的操作方法可包括:控制存储器装置将正常映射数据和顺序映射数据写入到存储器装置;并且管理正常映射表和顺序映射表,其中当正常用户数据是顺序用户数据时,管理正常映射表和顺序映射表包括:将正常映射数据顺序地记录在正常映射表中;当记录的正常映射数据的大小大于写入段的大小时,以写入段的大小为单位合并正常映射数据以生成顺序映射数据;并且将顺序映射数据记录在顺序映射表中,其中正常映射表表示正常用户数据和对应于正常用户数据的正常映射数据之间的映射关系,顺序映射表表示顺序用户数据和对应于顺序用户数据的顺序映射数据之间的映射关系。
根据本发明的实施例,控制器可包括:处理器;以及映射数据管理器,适于与处理器一起操作以生成和存储与对应的正常映射数据相关联的正常用户数据,并且生成和存储与对应的顺序映射数据相关联的顺序用户数据,其中当记录的正常映射数据的大小大于写入段的大小时,映射数据管理器识别顺序的正常映射数据,并且以写入段的大小为单位合并顺序的正常映射数据以生成顺序映射数据。
附图说明
本文的描述参照了附图,其中在多个视图中,相同的附图标记始终表示相同的部件,并且其中:
图1是示出根据本公开的示例的包括存储器系统的数据处理系统的框图;
图2是示出图1所示的存储器系统的存储器装置的示例性配置的示意图;
图3是示出图2所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图;
图4是示出图2所示的存储器装置的示例性三维结构的示意图;
图5是示意性地示出根据本公开的示例的存储器系统的结构的框图;
图6A是示意性地示出根据本公开的示例的映射表的示图;
图6B是示意性地示出根据本公开的另一示例的映射表的示图;
图7是示出根据本公开的示例的控制器的操作的流程图;以及
图8至图16是示意性地示出根据本发明的各个实施例的数据处理系统的示例性应用的示图。
具体实施方式
以下参照附图更详细地描述本公开的各个示例。本公开的元件和特征可不同于本文所示和描述进行配置或布置。因此,本发明不限于本文阐述的实施例。相反,提供所描述的实施例使得本公开完整和全面并将本公开的范围充分地传达给本发明所属领域的技术人员。在整个公开中,相同的附图标记在整个本公开的各个附图和示例中表示相同的部件。而且,在整个说明书中,对“一个实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。
将理解的是,虽然术语“第一”、“第二”、“第三”等可在本文使用以识别各个元件,但是这些元件不受这些术语限制。这些术语用于将一个元件与另一元件区分开,否则一个元件与另一元件具有相同或相似的名称。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,在一些情况下,为了清楚地示出实施例的特征,可能已经夸大了比例。当元件被称为连接至或联接到另一元件时,应当理解的是前者可直接连接或联接到后者,或者经由一个或多个中间元件电连接或联接到后者。
将进一步理解的是,当元件被称为“连接至”或“联接到”另一元件时,它可直接在其它元件上、连接至或联接到其它元件,或者可存在一个或多个中间元件。另外,还将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
本文使用的术语的目的是描述特定实施例而不旨在限制本发明。
如本文使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式,反之亦然。
将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其说明所陈述元件的存在,但不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和全部组合。
除非另有限定,否则本文所使用的包括技术术语和科学术语的所有术语具有与本发明所属领域中普通技术人员通常理解的含义相同的含义。将进一步理解的是,诸如在常用字典中定义的那些术语的术语应当被解释为具有与其在本公开和相关技术语境中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文中明确地这样定义。
在以下描述中,为了提供本发明的彻底理解,阐述了许多具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,为了避免不必要地模糊本发明,未详细地描述公知的进程结构和/或进程。
还注意的是,在一些情况下,如对于相关领域的技术人员显而易见的是,除非另有明确说明,否则结合一个实施例所描述的特征或元件可单独使用或与另一个实施例的其它特征或元件组合使用。
图1是示出根据本发明的实施例的数据处理系统100的框图。
参照图1,数据处理系统100可包括被可操作地联接到存储器系统110的主机102。
例如,主机102可包括例如诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式电脑、游戏机、TV和投影仪等的非便携式电子装置。
存储器系统110可响应于来自主机102的请求进行操作或者执行特定的功能或操作,并且可存储待由主机102访问的数据。存储器系统110可用作主机102的主存储器系统或辅助存储器系统。根据主机接口的协议,存储器系统110可利用可与主机102电联接的各种类型的存储装置中的任何一种来实施。合适的存储装置的示例包括固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)和微型MMC、安全数字(SD)卡、迷你SD和微型SD、通用串行总线(USB)存储装置、通用闪存(UFS)装置、紧凑型闪存(CF)卡、智能媒体(SM)卡、记忆棒等。
存储器系统110的存储装置可利用诸如以下的易失性存储器装置来实施:动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置,和/或存储器系统110的存储装置可利用诸如以下的非易失性存储器装置来实施:只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器。
存储器系统110可包括存储待由主机102访问的数据的存储器装置150,以及可控制数据在存储器装置150中的存储的控制器130。
控制器130和存储器装置150可被集成到单个半导体装置中,单个半导体装置可被包括在如上所例示的各种类型的存储器系统中。
存储器系统110可被配置成以下的一部分:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、配置数据中心的存储装置、能够在无线环境下传送和接收信息的装置、配置家庭网络的各种电子装置之一、配置计算机网络的各种电子装置之一、配置远程信息处理网络的各种电子装置之一、射频识别(RFID)装置或配置计算系统的各种部件之一。
存储器装置150可以是非易失性存储器装置,并且即使不供应电源,其也可保留其中存储的数据。存储器装置150可通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供给主机102。存储器装置150可包括多个存储块152至156,多个存储块152至156中的每一个可包括多个页面。多个页面中的每一个可包括多个字线(WL)所电联接到的多个存储器单元。
控制器130可控制存储器装置150的诸如读取操作、写入操作、编程操作和擦除操作的全部操作。控制器130可响应于来自主机102的请求控制存储器装置150。控制器130可将从存储器装置150读取的数据提供给主机102,和/或可将由主机102提供的数据存储到存储器装置150中。
控制器130可包括全部通过内部总线可操作地联接的主机接口(I/F)132、处理器134、错误校正码部件(ECC)138、电源管理器(PMU)140、诸如存储器接口(I/F)142的存储器装置控制器以及存储器144。
主机接口132可处理从主机102提供的命令和数据,并可通过诸如以下的各种接口协议中的至少一种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-E)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。
ECC 138可在读取操作期间检测并校正从存储器装置150读取的数据中的错误。当错误位的数量大于或等于可校正错误位的阈值数量时,ECC 138可不校正错误位,而是可输出指示校正错误位失败的错误校正失败信号。
ECC 138可基于诸如以下的编码调制执行错误校正操作:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhri-Hocquenghem,BCH)码、turbo码、里德-所罗门(Reed-Solomon)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)以及分组编码调制(BCM)等。ECC 138可包括基于上述代码中的至少一个执行错误校正操作的适当的电路、模块、系统和/或装置。
PMU 140可提供和管理控制器130的电力。
存储器接口142可用作处理控制器130和存储器装置150之间传输的命令和数据的接口,从而允许控制器130响应于从主机102传送的请求来控制存储器装置150。在当存储器装置150是闪速存储器时,特别地,当存储器装置150是NAND闪速存储器时的情况下,在处理器134的控制下,存储器接口142可生成用于存储器装置150的控制信号,并且可处理输入到存储器装置150中的或从存储器装置150输出的数据。
存储器144可用作存储器系统110和控制器130的工作存储器,并且可存储用于操作或驱动存储器系统110和控制器130的临时或事务数据。控制器130可响应于来自主机102的请求控制存储器装置150。控制器130可将从存储器装置150读取的数据传送到主机102中,可将通过主机102输入的数据存储在存储器装置150中。存储器144可用于存储控制器130和存储器装置150执行这些操作所需的数据。
存储器144可利用易失性存储器来实施。存储器144可利用静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。虽然图1示出了设置在控制器130内的存储器144,但本公开不限于此。也就是说,存储器144可位于控制器130的内部或外部。例如,存储器144可通过具有用于传输存储器144和控制器130之间传输的数据和/或信号的存储器接口的外部易失性存储器来实施。
处理器134可控制存储器系统110的全部操作。处理器134可驱动或执行固件来控制存储器系统110的全部操作。固件可被称为闪存转换层(FTL)。
FTL可执行作为主机102和存储器装置150之间的接口的操作。主机102可通过FTL向存储器装置150传送写入和读取操作的请求。
FTL可管理地址映射、垃圾收集、损耗均衡等操作。特别地,FTL可存储映射数据。因此,控制器130可通过映射数据将从主机102提供的逻辑地址映射到存储器装置150的物理地址。由于地址映射操作,存储器装置150可执行像普通装置那样的操作。此外,通过基于映射数据的地址映射操作,当控制器130更新特定页面的数据时,控制器130可将新数据编程在另一空白页面上,并且由于闪速存储器装置的特性而可使特定页面的旧数据无效。进一步地,控制器130可将新数据的映射数据存储到FTL中。
处理器134可利用微处理器或中央处理器(CPU)来实施。存储器系统110可包括一个或多个处理器134。
处理器134中可包括管理器(未示出)。管理器可执行对存储器装置150的坏块管理。管理器可找到存储器装置150中的坏存储块并管理坏存储块,其中坏存储块是处于不符合进一步使用的状态的块。当存储器装置150为例如NAND闪速存储器的闪速存储器时,由于NAND逻辑功能的特性,在写入操作期间,例如在编程操作期间,可能发生编程失败。在坏块管理期间,编程失败的存储块或坏存储块的数据可被编程到新的存储块中。坏块可使具有3D堆叠结构的存储器装置150的利用效率和存储器系统110的可靠性严重劣化,因此可靠的坏块管理有助于恢复这些特性。
图2是示出存储器装置150的示意图。
参照图2,存储器装置150可包括多个存储块,即BLOCK0(210)、BLOCK1(220)、BLOCK2(230)……以及BLOCKN-1(240),并且这些块中的每一个可包括多个页面,例如2M个页面,其数量可根据电路设计而变化。根据每个存储器单元中可存储或表达的位数,存储器装置150可包括多个存储块,如单层单元(SLC)存储块和多层单元(MLC)存储块。SLC存储块可包括利用每一个都能够存储1位数据的存储器单元实施的多个页面。MLC存储块可包括利用每一个都能够存储例如两位或更多位数据的多位数据的存储器单元实施的多个页面。包括利用每一个都能够存储3位数据的存储器单元实施的多个页面的MLC存储块可被定义为三层单元(TLC)存储块。
图3是示出存储器装置150中的存储块330的电路图。
参照图3,存储块330可对应于多个存储块152至156中的任何一个。
参照图3,存储器装置150的存储块330可包括分别电联接到位线BL0至BLm-1的多个单元串340。每列单元串340可包括至少一个漏极选择晶体管DST和至少一个源极选择晶体管SST。多个存储器单元或多个存储器单元晶体管MC0至MCn-1可串联地电联接在选择晶体管DST和SST之间。各个存储器单元MC0至MCn-1可由每一个都可存储1位信息的单层单元(SLC)或者由每一个都可存储多位数据信息的多层单元(MLC)来配置。串340可分别电联接到对应的位线BL0至BLm-1。作为参照,在图3中,“DSL”表示漏极选择线,“SSL”表示源极选择线,“CSL”表示共源线。
虽然图3仅作为示例示出了存储块330由NAND闪速存储器单元构成,但应当注意的是,存储器装置150的存储块330不限于NAND闪速存储器。存储块330可由NOR闪速存储器、其中组合了至少两种存储器单元的混合闪速存储器、或者其中在存储器芯片中内置控制器的One-NAND闪速存储器来实现。半导体装置的操作特性不仅可被应用于其中电荷存储层由导电浮栅配置的闪速存储器装置,而且可被应用于其中电荷存储层由电介质层配置的电荷撷取闪存(CTF)。
存储器装置150的电源电路310可提供待根据操作模式而被提供给各个字线的例如编程电压、读取电压和通过电压的字线电压以及待提供给例如其中形成有存储器单元的阱区的体材料(bulk)的电压。电源电路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结构(或垂直结构)。
重新参照图1,控制器可控制存储器装置以将用户数据存储在存储器装置中。另外,控制器可存储对应于用户数据的地址信息,例如映射数据,并且控制存储器装置以周期性地将映射数据存储在存储器装置中。控制器可在映射表中管理映射数据。当主机请求读取用户数据时,控制器可基于映射表搜索与主机的请求对应的用户数据的位置,并将在搜索中找到的用户数据输出到主机。映射数据可用于有效地执行控制器的这种读取操作。
因为控制器周期性地将映射数据存储在存储器装置中,所以在存储器装置内确保用于映射数据的物理空间。换言之,因为为了控制器的读取性能和平顺的FTL操作而将映射数据存储在存储器装置中,所以可能浪费存储器装置的存储空间。因此,控制器有效地将映射数据存储在存储器装置中,从而可有效地利用控制器的读取性能和存储器装置的存储空间。
控制器130可有效地将对应于目标数据的目标映射数据存储在存储器装置150中。具体地,当主机102请求将顺序数据写入存储器系统110时,控制器130可控制存储器装置150将顺序数据连续地编程到存储器装置150中。换言之,可根据数据最初具有的顺序将顺序数据存储在存储器装置150中。当控制器130使用这种特性为顺序数据生成映射数据时,控制器130可通过反映连续性来生成映射数据。映射数据可包括存储对应于映射数据的用户数据的存储器装置150的地址信息。
参照图5至图7详细描述根据本发明的实施例的控制器130。
图5是示意性地示出根据本发明的实施例的存储器系统110的结构的框图。
如关于图1所述的,存储器系统110可包括控制器130和存储器装置150。参照图5,除处理器134之外,控制器130还可包括映射数据管理器530。通过示例的方式,假设主机102发出对目标数据的写入命令。
映射数据管理器530可生成并存储对应于目标数据的映射数据。假设写入段可包括2048条映射数据。另外,假设写入段的大小为8KB,对应于正常映射数据的正常用户数据的大小为4KB,对应于顺序映射数据的顺序用户数据的大小为8MB。此外,假设正常写入段的大小和顺序写入段的大小各为8KB。这些大小是示例性的;本发明不限于此。
映射数据管理器530可生成包括正常写入段和顺序写入段的写入段表533。正常写入段可对应于正常映射表535,在该正常映射表535中,正常映射数据包括写入段单位,写入段单位中的每一个都是预定大小。以相同的方式,顺序写入段可对应于顺序映射表537,在该顺序映射表537中,顺序映射数据包括写入段单位,写入段单位中的每一个都是预定大小。
映射数据管理器530可生成正常映射表535,正常映射表535表示正常映射数据和正常用户数据之间的映射关系。正常映射表535可包括单个写入段单位。因此,正常映射表535可包括2048条正常映射数据。如上所假设的,因为对应于一条正常映射数据的用户数据为4KB,所以8KB的正常写入段可表示8MB用户数据的映射信息。这仅仅是示例;本发明不限于此。因此,正常映射表535可包括4096条正常映射数据。在这种情况下,16KB的正常写入段可表示16MB用户数据的映射信息。
例如,映射数据管理器530可对以4KB为单位顺序输入的正常用户数据进行划分,以生成正常映射表535,正常映射表535表示正常用户数据和对应于正常用户数据的正常映射数据之间的映射关系。
当顺序输入的正常用户数据是顺序用户数据时,映射数据管理器530可将对应于正常用户数据的正常映射数据合并到正常写入段的大小以生成顺序映射数据。例如,当正常写入段的大小为8KB时,正常映射表535可包括2048条正常映射数据,并且映射数据管理器530可将2048条正常映射数据合并成一条顺序映射数据。顺序映射数据可包括与正常映射数据的起始地址相关的信息。映射数据管理器530可基于与正常映射数据的起始地址相关的信息和写入段的大小来识别顺序映射数据的起始地址和结束地址。
包括合并的正常映射数据的映射信息的正常映射表535可自动消失。
映射数据管理器530可生成顺序映射表537,顺序映射表537表示顺序映射数据和顺序用户数据之间的映射关系。顺序映射表537可包括单个顺序写入段单位。顺序写入段的大小可与正常写入段的大小相同。顺序映射表537可包括2048条顺序映射数据。因此,顺序写入段可对应于16GB的用户数据。换言之,虽然正常写入段和顺序写入段的大小相同,均为8KB,但对应于正常写入段的正常用户数据的大小可以为8MB,并且对应于顺序写入段的顺序用户数据的大小可以为16GB。
映射数据管理器530可包括用于管理映射数据的多个映射表,多个映射表具有不同大小的写入段。例如,如上所述的,映射数据管理器530可包括对应于8KB的写入段的正常映射表和顺序映射表,并且进一步包括对应于16KB的写入段的正常映射表和顺序映射表。这仅仅是示例,本发明不限于此。
当正常用户数据是随机用户数据时,映射数据管理器530可将对应于正常用户数据的正常映射数据记录在正常映射表中而不进行合并。
当正常用户数据的大小小于写入段的预定大小时,即使正常用户数据是顺序用户数据,映射数据管理器530也可接收待处理的正常用户数据而不进行合并。
处理器134可控制存储器装置150周期性地清除存储器装置150中的正常映射数据和顺序映射数据。具体地,处理器134可控制存储器装置150以正常写入段和顺序写入段为单位将正常映射数据和顺序映射数据存储在存储器装置150的元区域中。虽然未示出,但存储器装置150可被划分为存储正常映射数据和顺序映射数据的元区域和存储正常用户数据和顺序用户数据的用户区域。
当主机102请求对目标数据的读取操作时,映射数据管理器530可基于写入段表533来检查包括目标数据的写入段是正常写入段还是顺序写入段。写入段可对应于多个读取段。例如,8KB的写入段可对应于四个读取段,每一个读取段具有2KB的大小。
当目标映射数据被包括在正常写入段中时,映射数据管理器530可搜索记录在正常映射表中的正常映射数据,并且可加载对应于正常写入段并包括正常映射数据的正常读取段。另外,映射数据管理器530可基于所加载的正常读取段来检查目标数据的位置。随后,处理器134可控制存储器装置150在目标数据的位置读取目标数据。
当目标映射数据被包括在顺序写入段中时,映射数据管理器530可搜索记录在顺序映射表中的顺序映射数据,并且可加载对应于顺序写入段并包括顺序映射数据的顺序读取段。另外,映射数据管理器530可基于所加载的顺序读取段来检查目标数据的位置。随后,处理器134可控制存储器装置150在目标数据的位置读取目标数据。
也就是说,根据本发明的实施例,控制器130可有效地使用存储器装置150的空间,特别是有效地使用存储包括顺序映射数据的顺序写入段的空间。换言之,与对应于8MB用户数据的正常写入段相比,对应于16GB用户数据的顺序写入段可占用存储器装置150中相对更小的元区域。
图6A是示意性示出根据本发明的实施例的映射表的示图。具体地,图6A示出了映射数据管理器530对正常映射数据进行合并以生成顺序映射数据的操作。
如上所述,映射数据管理器530可将正常写入段和顺序写入段记录在写入段表533中。
参照图6A,正常写入段可对应于表示正常映射数据的映射信息的第一正常映射表610。例如,第一正常映射表610可表示8KB映射数据和8MB用户数据的映射信息。顺序写入段可对应于表示顺序映射数据的映射信息的顺序映射表650。例如,顺序映射表650可表示8KB映射数据和16GB用户数据的映射信息。这仅仅是示例,本发明不限于此。
当记录在第一正常映射表610中的正常映射数据是顺序映射数据时,映射数据管理器530可将正常映射数据M1至M2048进行合并以生成第一顺序映射数据M1'。第一顺序映射数据M1'可被记录在顺序映射表650中。第一正常映射表610可自动消失。
第一顺序映射数据M1'可包括正常映射数据M1至M2048的映射信息。与记录在第一正常映射表610中的正常映射数据对应的总大小为8MB的多个正常用户数据U1至U2048可被包括在与记录在顺序映射表650中的第一顺序映射数据M1'对应的第一用户数据U1'中。
图6B是示意性示出根据本发明的实施例的映射表的示图。不同于图6A的布置,图6B示意性地示出了当第一顺序映射数据M1'没有连续性时控制器130的操作。例如,当包括在第一顺序映射数据M1'中的正常映射数据M1至M2048中的一些需要进行更新时,第一顺序映射数据M1'的连续性可能消失。
映射数据管理器530可将第一顺序映射数据M1'记录在顺序映射表650中。如上所述,第一顺序映射数据M1'可包括正常映射数据M1至M2048的映射信息。主机102可请求对包括在第一顺序映射数据M1'中的正常映射数据M1至M2048中的一些进行更新。在这种情况下,映射数据管理器530可将第一顺序映射数据M1'划分成多个正常映射数据M1至M2048。换言之,映射数据管理器530可将第一顺序映射数据M1'划分成多个正常映射数据M1至M2048,以生成第二正常映射表630。另外,映射数据管理器530可根据主机102的请求,基于第二正常映射表630来对作为被更新的目标的映射数据进行更新。映射数据管理器530可将对应于正常映射表的正常写入段记录在写入段表533中。当仅第一顺序映射数据M1'被记录在顺序映射表650中时,顺序映射表650可能由于第一顺序映射数据M1'的划分而自动消失。
也就是说,根据本发明的实施例,控制器130可合并和划分顺序映射数据,并将合并和划分的顺序映射数据记录在正常映射表或顺序映射表中。
图7是示出根据本发明的实施例的控制器130的操作的流程图。具体地,图7示意性地示出了控制器130根据主机102的读取请求来读取目标数据的操作。
在步骤S701中,映射数据管理器530可确定与主机102的读取请求对应的目标数据是否是顺序数据。
当目标数据是顺序数据(即,步骤S701中为“是”)时,在步骤S703中,映射数据管理器530可搜索记录在写入段表533中的与目标映射数据对应的顺序写入段。具体地,映射数据管理器530可在预先设置的写入段表533中搜索顺序写入段,该顺序写入段包括与主机102的读取请求对应的目标数据的映射数据。
在步骤S705中,映射数据管理器530可在与包括目标映射数据的顺序写入段对应的顺序映射表中搜索目标数据的位置。
当目标数据是不连续数据(即,步骤S701中为“否”)时,在步骤S707中,映射数据管理器530可搜索记录在写入段表533中的与目标映射数据对应的正常写入段。具体地,映射数据管理器530可在预先设置的写入段表533中搜索正常写入段,该正常写入段包括对应于读取请求的目标数据的映射数据。
在步骤S709中,映射数据管理器530可在与包括目标映射数据的正常写入段对应的正常映射表中搜索目标数据的位置。
在步骤S711中,处理器134可基于在步骤S705或S709中的搜索中识别的目标数据的位置来加载读取段。具体地,处理器134可加载通过基于预定基准划分写入段而获得的读取段。例如,当如上所述假设写入段为8KB时,读取段可以是2KB。因此,单个写入段可包括四个读取段。换言之,处理器134可加载包括在搜索中找到的目标数据的位置的读取段。
在步骤S713中,处理器134可控制存储器装置150基于加载的读取段来读取目标数据。
因此,根据本发明的实施例,控制器130可有效地存储顺序数据的映射数据,即顺序映射数据,从而最小化存储映射数据的空间。因此,由于加载和管理映射数据的成本降低,因此可以提高控制器130的读取性能。另外,可用少量映射数据来表示映射数据和用户数据之间的映射信息。
将参照图8至图16详细描述数据处理系统和电子装置,该数据处理系统和电子装置可包括存储器系统110,该存储器系统110包括上面通过参照图1至图7描述的存储器装置150和控制器130。
图8至图16是示意性示出根据各个实施例的图1至图7的数据处理系统的示例性应用的示图。
图8是示意性示出包括根据实施例的存储器系统的数据处理系统的示例的示图。更具体地,图8示意性地示出了包括存储器系统的存储卡系统。
参照图8,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可被连接至存储器装置6130,并可被配置成访问存储器装置6130。存储器装置6130可被实现为易失性存储器。通过示例而非限制的方式,控制器6120可控制对存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机之间的接口,和/或驱动固件以控制存储器装置6130。也就是说,存储器控制器6120可对应于参照图1至图7描述的存储器系统110中的控制器130,同时存储器装置6130可对应于参照图1至图7描述的存储器装置150。
因此,存储器控制器6120可包括RAM、处理器、主机接口、存储器接口和错误校正部件。存储器控制器6120可进一步包括图1所述的元件。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1所述,存储器控制器6120可被配置成通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WIFI以及蓝牙。因此,根据本实施例的存储器系统和数据处理系统可以应用于有线/无线电子装置,特别是移动电子装置。
存储器装置6130可通过非易失性存储器来实施。例如,存储器装置6130可通过诸如以下的各种非易失性存储器装置来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋转移力矩磁性RAM(STT-MRAM)。存储器装置6130可包括图1的存储器装置150中的多个管芯。
存储器控制器6120和存储器装置6130可被集成至单个半导体装置中。例如,存储器控制器6120和存储器装置6130可这样被集成以形成固态驱动器(SSD)。而且,存储器控制器6120和存储器装置6130可这样被集成以形成诸如以下的存储卡:PC卡(PCMCIA:个人计算机存储卡国际协会)、标准闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、SD卡(例如,SD、迷你SD、微型SD和SDHC)和/或通用闪存(UFS)。
图9是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。
参照图9,数据处理系统6200可包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图9所示的数据处理系统6200可作为如参照图1所描述的诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质。存储器装置6230可对应于图1至图7所示的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于图1至图7所示的存储器系统110中的控制器130。
存储器控制器6220可响应于主机6210的请求控制对存储器装置6230的读取操作、写入操作或擦除操作,并且存储器控制器6220可包括一个或多个CPU 6221、诸如RAM 6222的缓冲存储器、ECC电路6223、主机接口6224以及诸如NVM接口6225的存储器接口。
CPU 6221可控制对存储器装置6230的操作,例如读取操作、写入操作、文件系统管理操作和坏页面管理操作。RAM 6222可根据CPU 6221的控制来操作且用作工作存储器、缓冲存储器或高速缓冲存储器。当RAM 6222用作工作存储器时,由CPU 6221处理的数据可以临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222可用于缓冲从主机6210传送到存储器装置6230的数据或从存储器装置6230传送到主机6210的数据。当RAM 6222用作高速缓冲存储器时,RAM 6222可辅助存储器装置6230以高速运转。
ECC电路6223可对应于图1所示的控制器130的ECC单元138。如参照图1所述,ECC电路6223可生成用于校正从存储器装置6230提供的数据的失败位或错误位的ECC(错误校正码)。ECC电路6223可对提供给存储器装置6230的数据执行错误校正编码,从而形成具有奇偶校验位的数据。奇偶校验位可被存储在存储器装置6230中。ECC电路6223可对从存储器装置6230输出的数据执行错误校正解码。在这种情况下,ECC电路6223可使用奇偶校验位来校正错误。例如,如参照图1所述,ECC电路6223可使用LDPC码、BCH码、turbo码、里德-所罗门码、卷积码、RSC或诸如TCM或BCM的编码调制来校正错误。
存储器控制器6220可通过主机接口6224向主机6210传送数据或信号或者从主机6210接收数据或信号,并且可通过NVM接口6225向存储器装置6230传送数据或信号或者从存储器装置6230接收数据或信号。主机接口6224可通过PATA总线、SATA总线、SCSI、USB、PCIe或NAND接口连接到主机6210。存储器控制器6220可利用诸如WiFi或长期演进(LTE)的移动通信协议具有无线通信功能。存储器控制器6220可以连接到外部装置,例如主机6210或另一外部装置,并且然后将数据传送到外部装置/从外部装置接收数据。当存储器控制器6220被配置为通过一种或多种各种通信协议与外部装置通信,所以根据本实施例的存储器系统和数据处理系统可应用于有线/无线电子装置,特别是移动电子装置。
图10是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。图10示意性地示出可以应用存储器系统的SSD。
参照图10,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提供的数据,或者临时存储多个闪速存储器NVM的元数据,例如,包括映射表的映射数据。缓冲存储器6325可由诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器来实现。图10示出了缓冲存储器6325存在于控制器6320中,但缓冲存储器6325可位于或被布置在控制器6320的外部。
ECC电路6322可在编程操作期间计算待被编程到存储器装置6340的数据的ECC值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与诸如主机6310的外部装置的接口功能,并且非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口功能。
此外,可提供应用了图1的存储器系统110的多个SSD 6300来实施数据处理系统,例如,RAID(独立磁盘冗余阵列)系统。RAID系统可包括多个SSD 6300和用于控制多个SSD6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的写入命令的RAID级别信息,在SSD6300中选择一个或多个存储器系统或SSD 6300,并可将对应于写入命令的数据输出到选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的读取命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD 6300,并将从所选择的SSD 6300读取的数据提供给主机6310。
图11是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图11示意性地示出可以应用存储器系统的嵌入式多媒体卡(eMMC)。
参照图11,eMMC 6400可包括控制器6430和由一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1的存储器系统110中的控制器130,并且存储器装置6440可对应于图1的存储器系统110中的存储器装置150。
更具体地,控制器6430可通过多个通道连接至存储器装置6440。控制器6430可包括一个或多个内核6432、主机接口6431和诸如NAND接口6433的存储器接口。
内核6432可控制eMMC 6400的操作,主机接口6431可提供控制器6430和主机6410之间的接口功能,并且NAND接口6433可提供存储器装置6440和控制器6430之间的接口功能。例如,主机接口6431可用作并行接口,例如参照图1所描述的MMC接口。此外,主机接口6431可用作串行接口,例如UHS((超高速)-I/UHS-II)接口。
图12至图15是示意性地示出根据实施例的包括存储器系统的数据处理系统的其它示例的示图。图12至图15示意性地示出了可以应用存储器系统的UFS(通用闪存)系统。
参照图12至图15,UFS系统6500、6600、6700、6800可分别包括主机6510、6610、6710、6810,UFS装置6520、6620、6720、6820以及UFS卡6530、6630、6730、6830。主机6510、6610、6710、6810可用作有线/无线电子装置或特别是移动电子装置的应用处理器,UFS装置6520、6620、6720、6820可用作嵌入式UFS装置,并且UFS卡6530、6630、6730、6830可用作外部嵌入式UFS装置或可移除UFS卡。
在各个UFS系统6500、6600、6700、6800中的主机6510、6610、6710、6810,UFS装置6520、6620、6720、6820以及UFS卡6530、6630、6730、6830可通过UFS协议与例如有线/无线电子装置或特别是移动电子装置的外部装置通信,并且UFS装置6520、6620、6720、6820以及UFS卡6530、6630、6730、6830可由图1所示的存储器系统110来实现。例如,在UFS系统6500、6600、6700、6800中,UFS装置6520、6620、6720、6820可以参照图9至图11描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实现,并且UFS卡6530、6630、6730、6830可以参照图8描述的存储卡系统6100的形式来实现。
此外,在UFS系统6500、6600、6700、6800中,主机6510、6610、6710、6810,UFS装置6520、6620、6720、6820以及UFS卡6530、6630、6730、6830可通过UFS接口,例如,MIPI(移动工业处理器接口)中的MIPI M-PHY和MIPI UniPro(统一协议)来彼此通信。此外,UFS装置6520、6620、6720、6820以及UFS卡6530、6630、6730、6830可通过除UFS协议之外的例如UFD、MMC、SD、迷你SD和微型SD的各种协议彼此通信。
图16是示意性地示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。图16是示意性地示出可以应用存储器系统的用户系统的示图。
参照图16,用户系统6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可驱动包括在诸如OS的用户系统6900中的组件,并且包括控制包括在用户系统6900中的组件的控制器、接口和图形引擎。应用处理器6930可作为片上系统(SoC)被提供。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性RAM或诸如PRAM、ReRAM、MRAM和FRAM的非易失性RAM。例如,可基于POP(堆叠式封装)封装和安装应用处理器6930和存储器模块6920。
网络模块6940可与外部装置通信。例如,网络模块6940不仅可支持有线通信,而且可支持各种无线通信协议,诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(WiMAX)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI-DI),从而与有线/无线电子装置或特别是移动电子装置通信。因此,根据本发明的实施例的存储器系统和数据处理系统可应用于有线/无线电子装置。网络模块6940可被包括在应用处理器6930中。
存储模块6950可存储数据,例如从应用处理器6930接收的数据,然后可将所存储的数据传送到应用处理器6930。存储模块6950可通过诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪存、NOR闪存和3D NAND闪存的非易失性半导体存储器装置来实施,并且可被提供为诸如用户系统6900的存储卡或外部驱动器的可移除存储介质。存储模块6950可对应于参照图1描述的存储器系统110。此外,存储模块6950可被实施为如上参照图10至图15所述的SSD、eMMC和UFS。
用户接口6910可包括用于向应用处理器6930输入数据或命令或者用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、发光二极管(LED)、扬声器和监视器的用户输出接口。
此外,当图1的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的操作,并且网络模块6940可用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示通过处理器6930处理的数据或支持从触摸面板接收数据的功能。
虽然已经针对具体实施例描述了本发明,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求所限定的本发明的实质和范围的情况下,可进行各种改变和修改。
Claims (18)
1.一种控制器,包括:
处理器,控制存储器装置写入正常映射数据和顺序映射数据;以及
映射数据管理器,生成并存储正常映射表和顺序映射表,
其中当正常用户数据是顺序用户数据时,所述映射数据管理器将所述正常映射数据顺序地记录在所述正常映射表中,当所记录的正常映射数据的大小大于写入段的大小时,所述映射数据管理器以所述写入段的大小为单位合并所述正常映射数据以生成所述顺序映射数据,并将所述顺序映射数据记录在所述顺序映射表中,并且
其中所述正常映射表表示所述正常用户数据和对应于所述正常用户数据的所述正常映射数据之间的映射关系,所述顺序映射表表示所述顺序用户数据和对应于所述顺序用户数据的所述顺序映射数据之间的映射关系。
2.根据权利要求1所述的控制器,其中当将对包括在所述顺序映射数据中的多个正常映射数据中的至少一个目标正常映射数据执行更新操作时,所述映射数据管理器划分所述顺序映射数据,将包括在所述顺序映射数据中的所述正常映射数据中的每一个记录到所述正常映射表中,并且更新所述目标正常映射数据。
3.根据权利要求1所述的控制器,其中所述映射数据管理器包括多个顺序映射表,所述正常映射数据以不同的写入段大小为单位合并以生成所述顺序映射数据并且所述顺序映射数据被记录在所述多个顺序映射表中。
4.根据权利要求1所述的控制器,其中所述映射数据管理器存储段表,正常写入段和顺序写入段被记录在所述段表中,以分别对应于所述正常映射表和所述顺序映射表。
5.根据权利要求4所述的控制器,其中所述正常写入段和所述顺序写入段分别对应于多个正常读取段和多个顺序读取段。
6.根据权利要求5所述的控制器,其中当目标读取数据是顺序数据时,所述映射数据管理器搜索记录在所述段表中的所述顺序写入段和对应于所述顺序写入段的所述顺序映射表,随后加载对应于所述顺序写入段并包括所述目标读取数据的所述顺序读取段,并且控制所述存储器装置基于所述顺序读取段来读取所述目标读取数据。
7. 根据权利要求5所述的控制器,其中当目标读取数据不是顺序数据时,
所述映射数据管理器搜索记录在所述段表中的所述正常写入段和对应于所述正常写入段的所述正常映射表,并且
所述处理器加载对应于所述正常写入段并包括所述目标读取数据的所述正常读取段,并且控制所述存储器装置基于所述正常读取段来读取所述目标读取数据。
8.根据权利要求1所述的控制器,其中当所述正常用户数据是随机用户数据时,所述映射数据管理器将所述正常映射数据记录在所述正常映射表中。
9.根据权利要求1所述的控制器,其中当所述正常用户数据的大小小于所述写入段的大小时,所述映射数据管理器接收接下来将处理的正常用户数据。
10. 一种控制器的操作方法,所述操作方法包括:
控制存储器装置将正常映射数据和顺序映射数据写入到所述存储器装置;并且
管理正常映射表和顺序映射表,
其中当正常用户数据是顺序用户数据时,管理正常映射表和顺序映射表包括:
将所述正常映射数据顺序地记录在所述正常映射表中;
当所记录的正常映射数据的大小大于写入段的大小时,以所述写入段的大小为单位合并所述正常映射数据以生成顺序映射数据;并且
将所述顺序映射数据记录在所述顺序映射表中,
其中所述正常映射表表示所述正常用户数据和对应于所述正常用户数据的所述正常映射数据之间的映射关系,所述顺序映射表表示所述顺序用户数据和对应于所述顺序用户数据的所述顺序映射数据之间的映射关系。
11.根据权利要求10所述的操作方法,其中管理正常映射表和顺序映射表进一步包括:
当将对包括在所述顺序映射数据中的多个正常映射数据中的至少一个目标正常映射数据执行更新操作时,
划分所述顺序映射数据,
将包括在所述顺序映射数据中的所述正常映射数据中的每一个记录到所述正常映射表中,并且
更新所述目标正常映射数据。
12.根据权利要求10所述的操作方法,其中所述控制器包括多个顺序映射表,所述正常映射数据以不同的写入段大小为单位合并以生成所述顺序映射数据并且所述顺序映射数据被记录在所述多个顺序映射表中。
13.根据权利要求10所述的操作方法,其中管理正常映射表和顺序映射表进一步包括:
存储段表,正常写入段和顺序写入段被记录在所述段表中,以分别对应于所述正常映射表和所述顺序映射表。
14.根据权利要求13所述的操作方法,其中所述正常写入段和所述顺序写入段分别对应于多个正常读取段和多个顺序读取段。
15.根据权利要求14所述的操作方法,其中管理正常映射表和顺序映射表进一步包括:
当目标读取数据是顺序数据时,
搜索记录在所述段表中的所述顺序写入段和对应于所述顺序写入段的所述顺序映射表,并且加载对应于所述顺序写入段并包括所述目标读取数据的所述顺序读取段,并且
其中控制所述存储器装置基于所述顺序读取段来读取所述目标读取数据。
16.根据权利要求14所述的操作方法,其中管理正常映射表和顺序映射表进一步包括:
当目标读取数据不是顺序数据时,
搜索记录在所述段表中的所述正常写入段和对应于所述正常写入段的所述正常映射表,并且顺序地加载对应于所述正常写入段并包括所述目标读取数据的所述正常读取段,并且
其中控制所述存储器装置基于所述正常读取段来读取所述目标读取数据。
17.根据权利要求10所述的操作方法,其中管理正常映射表和顺序映射表进一步包括:
当所述正常用户数据是随机用户数据时,将所述正常映射数据记录在所述正常映射表中。
18.根据权利要求10所述的操作方法,其中管理正常映射表和顺序映射表进一步包括:
当所述正常用户数据的大小小于所述写入段的大小时,接收接下来将处理的正常用户数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0028717 | 2018-03-12 | ||
KR1020180028717A KR20190107449A (ko) | 2018-03-12 | 2018-03-12 | 컨트롤러 및 그것의 동작방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110262981A CN110262981A (zh) | 2019-09-20 |
CN110262981B true CN110262981B (zh) | 2023-08-11 |
Family
ID=67842633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811351800.2A Active CN110262981B (zh) | 2018-03-12 | 2018-11-14 | 控制器及该控制器的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10620884B2 (zh) |
KR (1) | KR20190107449A (zh) |
CN (1) | CN110262981B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200043676A (ko) * | 2018-10-18 | 2020-04-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054533A (zh) * | 2009-10-27 | 2011-05-11 | 西部数据技术公司 | 隔离顺序、随机和系统数据以减少垃圾回收的针对基于页映射的非易失性半导体存储器 |
CN106294215A (zh) * | 2015-06-24 | 2017-01-04 | 三星电子株式会社 | 存储装置和操作存储装置的方法 |
CN106598877A (zh) * | 2015-10-15 | 2017-04-26 | 爱思开海力士有限公司 | 存储器系统及该存储器系统的操作方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8762661B2 (en) * | 2008-09-18 | 2014-06-24 | Seagate Technology Llc | System and method of managing metadata |
US8688948B2 (en) * | 2009-10-15 | 2014-04-01 | Freescale Semiconductor, Inc. | Flexible memory controller for autonomous mapping of memory |
KR101739556B1 (ko) * | 2010-11-15 | 2017-05-24 | 삼성전자주식회사 | 데이터 저장 장치, 사용자 장치 및 그것의 주소 맵핑 방법 |
KR102002921B1 (ko) * | 2012-12-05 | 2019-07-23 | 삼성전자주식회사 | 버퍼 운영 방법 및 그에 따른 반도체 저장 장치 |
KR102480016B1 (ko) | 2015-08-18 | 2022-12-21 | 삼성전자 주식회사 | 다수의 맵핑 단위를 이용하는 불휘발성 메모리 시스템 및 그 동작방법 |
TWI537729B (zh) * | 2015-10-15 | 2016-06-11 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
-
2018
- 2018-03-12 KR KR1020180028717A patent/KR20190107449A/ko active IP Right Grant
- 2018-10-03 US US16/150,613 patent/US10620884B2/en active Active
- 2018-11-14 CN CN201811351800.2A patent/CN110262981B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054533A (zh) * | 2009-10-27 | 2011-05-11 | 西部数据技术公司 | 隔离顺序、随机和系统数据以减少垃圾回收的针对基于页映射的非易失性半导体存储器 |
CN106294215A (zh) * | 2015-06-24 | 2017-01-04 | 三星电子株式会社 | 存储装置和操作存储装置的方法 |
CN106598877A (zh) * | 2015-10-15 | 2017-04-26 | 爱思开海力士有限公司 | 存储器系统及该存储器系统的操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US10620884B2 (en) | 2020-04-14 |
US20190278526A1 (en) | 2019-09-12 |
KR20190107449A (ko) | 2019-09-20 |
CN110262981A (zh) | 2019-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107562649B (zh) | 存储器系统及其操作方法 | |
US10203900B2 (en) | Memory system for selecting blocks for garbage selection and operating method thereof | |
CN109947358B (zh) | 存储器系统及其操作方法 | |
CN107450845B (zh) | 存储器系统及其操作方法 | |
CN110825318B (zh) | 控制器及其操作方法 | |
CN109656837B (zh) | 存储器系统及其操作方法 | |
US20180101454A1 (en) | Memory system and operation method for the same | |
US20180081552A1 (en) | Memory system and operating method thereof | |
CN108268212B (zh) | 控制器及操作方法 | |
US20200034299A1 (en) | Memory system and method for operating the same | |
CN107346214B (zh) | 存储器系统及其操作方法 | |
US10956320B2 (en) | Memory system and operating method thereof | |
CN110322915B (zh) | 存储器装置及其操作方法 | |
US20180012666A1 (en) | Memory system and operating method thereof | |
CN109697171B (zh) | 控制器及其操作方法 | |
US10445194B2 (en) | Memory system storing checkpoint information and operating method thereof | |
CN110322920B (zh) | 控制器及控制器的操作方法 | |
CN107562653B (zh) | 存储器系统及其操作方法 | |
US20210182148A1 (en) | Memory system and operating method thereof | |
CN110825316A (zh) | 控制器及该控制器的操作方法 | |
CN110890123B (zh) | 数据处理系统及其操作方法 | |
CN110968521B (zh) | 存储器系统及其操作方法 | |
US20180024745A1 (en) | Memory system and operating method thereof | |
CN110045914B (zh) | 存储器系统及其操作方法 | |
CN109426448B (zh) | 存储器系统及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |