CN108932202A - 存储器系统及其操作方法 - Google Patents
存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN108932202A CN108932202A CN201711401382.9A CN201711401382A CN108932202A CN 108932202 A CN108932202 A CN 108932202A CN 201711401382 A CN201711401382 A CN 201711401382A CN 108932202 A CN108932202 A CN 108932202A
- Authority
- CN
- China
- Prior art keywords
- map information
- data
- memory device
- stored
- data group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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
- 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
- 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
- G06F13/1673—Details of memory controller using buffers
-
- 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
- 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/0625—Power saving in 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- 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
- G06F3/065—Replication mechanisms
-
- 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
- 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Read Only Memory (AREA)
Abstract
本发明涉及一种存储器系统,其可包括:存储器装置;以及控制器。当至少一个数据组被接收时,该数据组包括需要被全部处理的多个数据,控制器在提交接收数据组的多个数据之前从第一表中读取用于该数据组的先前的逻辑到物理(L2P)映射信息并将所读取的L2P映射信息存储在第二表中,并且控制器将多个数据存储在存储器装置中,并且控制器响应于在存储器装置中存储多个数据而更新存储在第一表中的数据组的L2P映射信息。
Description
相关申请的交叉引用
本申请要求于2017年5月24日提交的申请号为10-2017-0063898的韩国专利申请的优先权,其全部内容通过引用并入本文。
技术领域
本发明的示例性实施例涉及一种存储器系统及该存储器系统的操作方法。
背景技术
近来,计算机环境范例变为允许用户在任何时间和任何地点访问计算机系统的普适计算环境。由于这个原因,诸如移动电话、数码相机、膝上型计算机等便携式电子装置的使用正在急剧增长。便携式电子装置通常采用使用存储器装置的存储器系统来存储数据。存储器系统可用作便携式电子装置的主存储器装置或辅助存储器装置。
由于存储器装置不包括机械驱动单元,所以它具有优良的稳定性和耐久性。此外,存储器装置的优点在于它可快速地访问数据并消耗少量的电力。具有这些优点的存储器装置的非限制性示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
发明内容
本发明的实施例涉及一种存储器系统、存储器控制器以及该存储器系统的操作方法,该存储器系统恢复并管理包括需要被全部写入的多个数据的至少一个数据组的映射信息。
根据本发明的实施例,存储器系统可包括:存储器装置;以及控制器,其中当至少一个数据组被接收时,该数据组包括需要被全部处理的多个数据,控制器在提交接收数据组的多个数据之前从第一表读取该数据组的先前的逻辑到物理(L2P)映射信息并将所读取的L2P映射信息存储在第二表中,并且控制器将多个数据存储在存储器装置中,并且控制器响应于在存储器装置中存储多个数据而更新存储在第一表中的数据组的L2P映射信息。
控制器可进一步将第二表存储在存储器装置中。
控制器可进一步将利用数据组的L2P映射信息更新的第一表存储在存储器装置中。
控制器可包括:第一表;第二表;缓冲器,其适于存储从主机接收到的多个数据中的每一个;以及处理器,其适于从第一表读取先前的L2P映射信息,并将所读取的L2P映射信息存储在第二表中,将多个数据存储在存储器装置中,以及更新存储在第一表中的数据组的L2P映射信息。
在从主机接收到表示提交多个数据的提交信息之前,处理器可从第一表读取先前的L2P映射信息并将所读取的L2P映射信息存储在第二表中,将多个数据存储在存储器装置中,并且更新存储在第一表中的数据组的L2P映射信息。
处理器可响应于接收来自主机的中止(abort)信息而通过参照第二表来恢复数据组的L2P映射信息。
处理器可响应于发生突然断电(SPO)而通过参照第二表来恢复数据组的L2P映射信息。
根据本发明的另一实施例,一种存储器控制器可包括:第一表;第二表;以及处理器,其适于当至少一个数据组被接收时,该数据组包括需要被全部处理的多个数据,在提交接收多个数据之前,从第一表读取用于该数据组的先前的逻辑到物理(L2P)映射信息并将所读取的L2P映射信息存储在第二表中,将多个数据存储在存储器装置中,并且响应于存储多个数据而更新存储在第一表中的数据组的L2P映射信息。
处理器可进一步将第二表存储在存储器装置中。
处理器可进一步将利用数据组的L2P映射信息更新的第一表存储在存储器装置中。
在从主机接收到表示提交多个数据的提交信息之前,处理器可从第一表读取先前的L2P映射信息并将所读取的L2P映射信息存储在第二表中,将多个数据存储在存储器装置中,并且更新存储在第一表中的数据组的L2P映射信息。
处理器可响应于接收来自主机的中止信息而通过参照第二表来恢复数据组的L2P映射信息。
处理器可响应于发生突然断电(SPO)而通过参照第二表来恢复数据组的L2P映射信息。
根据本发明的另一实施例,一种存储器系统的操作方法可包括:接收包括需要被全部处理的多个数据的至少一个数据组;在提交接收多个数据之前,从第一表读取该数据组的先前逻辑到物理(L2P)映射信息并将所读取的L2P映射信息存储在第二表中;将多个数据存储在存储器装置中;以及响应于存储多个数据而更新存储在第一表中的数据组的L2P映射信息。
方法可进一步包括:将第二表存储在存储器装置中。
方法可进一步包括:将利用数据组的L2P映射信息更新的第一表存储在存储器装置中。
在提交接收多个数据之前,从第一表中读取数据组的先前的逻辑到物理(L2P)映射信息并将所读取的L2P映射信息存储在第二表中可包括:在从主机接收到表示提交多个数据的提交信息之前,从第一表读取先前的L2P映射信息并将所读取的L2P映射信息存储在第二表中。
方法可进一步包括:响应于接收到来自主机的中止信息而通过参照第二表来恢复数据组的L2P映射信息。
方法可进一步包括:响应于发生突然断电(SPO)而通过参照第二表来恢复数据组的L2P映射信息。
附图说明
图1是说明包括根据本公开的实施例的存储器系统的数据处理系统的框图。
图2是说明图1所示的存储器系统中采用的存储器装置的示例性配置的示意图。
图3是说明图2所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图。
图4是说明图2所示的存储器装置的示例性三维结构的示意图。
图5是说明根据本公开的实施例的存储器系统的框图。
图6说明根据本公开的实施例的主机和存储器系统之间的数据传输/接收。
图7说明根据本公开的实施例的事务数据。
图8说明根据本公开的实施例的事务数据处理。
图9说明根据本公开的另一实施例的事务数据处理。
图10是说明根据本公开的实施例的事务数据处理流程的流程图。
图11是说明根据本公开的实施例的用于事务数据的L2P映射信息恢复操作的流程的流程图。
图12至图20是示意性说明根据本公开的各个实施例的图1所示的数据处理系统的应用示例的简图。
具体实施方式
以下将参照附图更详细地描述本发明的示意性实施例。然而,本发明可以不同的形式实施,并不应被解释为限于本文所阐述的实施例。相反地,提供这些实施例以便使本公开彻底且完整,并且将本发明的范围全面地传达给本领域的技术人员。在整个本公开中,相同的附图标记在本发明的各个附图和实施例中表示相同的部件。
在下文中,将参照附图详细描述本发明的各个实施例。
图1是说明根据本公开的实施例的包括存储器系统100的数据处理系统110的框图。
参照图1,数据处理系统100可包括被可操作地联接至存储器系统110的主机102。
主机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。主机102可执行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可为主机120存储数据,并且控制器130可控制到储器装置150中的数据存储。
控制器130和存储器装置150可集成到单个半导体装置中,单个半导体装置可被包括在如上所例示的各种类型的存储器系统中。
存储器系统110的非限制性应用示例可包括计算机、超级移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码照相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储器、能够在无线环境下传输/接收信息的装置、构成家庭网络的各种电子装置之一、构成计算机网络的各种电子装置之一、构成远程信息处理网络的各种电子装置之一、无线射频识别(RFID)装置或构成计算系统的各种部件之一。
存储器装置150可以是非易失性存储器装置,并且即使不提供电力,也可保留其中存储的数据。存储器装置150可通过写入操作存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供给主机102。存储器装置150可包括多个存储器管芯(未示出),每一存储器管芯包括多个平面(未示出),每一平面包括多个存储块152至156,存储块152至156中的每一个可包括多个页面,并且每一个页面可包括联接到字线的多个存储器单元。
控制器130可响应于来自主机102的请求来控制存储器装置150。例如,控制器130可将从存储器装置150读取的数据提供给主机102,并将由主机102提供的数据存储到存储器装置150中。对于该操作,控制器130可控制存储器装置150的读取操作、写入操作、编程操作和擦除操作。
控制器130可包括主机接口(I/F)单元132、处理器134、错误校正码(ECC)单元138、电源管理单元(PMU)140、NAND闪速控制器(NFC)142以及存储器144,其全部通过内部总线可操作地联接。
主机接口单元132可被配置成处理主机102的命令和数据,并可通过诸如以下的各种接口协议中的一种或多种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-e)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。
ECC单元138可检测并校正包括在从存储器装置150读取的数据中的错误。换言之,ECC单元138可通过在ECC编码处理期间使用的ECC代码对从存储器装置150读取的数据执行错误校正解码处理。根据错误校正解码处理的结果,ECC单元138可输出信号,例如错误校正成功/失败信号。当错误位的数量大于可校正错误位的阈值时,ECC单元138不会校正错误位,并且可输出错误校正失败信号。
ECC单元138可通过诸如以下的编码调制执行错误校正:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhri-Hocquenghem,BCH)码、涡轮码、里德-所罗门(Reed-Solomon)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)以及分组编码调制(BCM)。然而,ECC单元138不限于此。ECC单元138可包括用于错误校正的所有的电路、模块、系统或装置。
PMU 140可提供和管理控制器130的电力。
当存储器装置为NAND闪速存储器时,NFC 142可用作用于接口连接控制器130和存储器装置150的存储器/存储接口,使得控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器或具体地是NAND闪速存储器时,NFC 142可在处理器134的控制下生成用于存储器装置150的控制信号并处理待被提供给存储器装置150的数据。NFC 142可用作处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。具体地,NFC142可支持控制器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是说明图1所示的存储器系统110中采用的存储器装置150的示例性配置的示意图;
参照图2,存储器装置150可包括多个存储块0至N-1,并且块0至N-1中的每一个可包括多个页面,例如2M个页面,页面的数量可根据电路设计而变化。包括在各个存储块0至N-1中的存储器单元可以是下列中的一个或多个:存储1位数据的单层单元(SLC)、存储2位数据的多层单元(MLC)、存储3位数据也被称为三层单元(TLC)的MLC、存储4位数据也被称为四层单元(QLC)的MLC或存储5位或更多位数据的MLC。
图3是说明图2所示的存储器装置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是说明图2的存储器装置150的示例性三维(3D)结构的示意图;
存储器装置150可通过二维(2D)或三维(3D)存储器装置来实施。具体地,如图4所示,存储器装置150可通过具有3D堆叠结构的非易失性存储器装置实施。当存储器装置150具有3D结构时,存储器装置150可包括每一个都具有3D结构或垂直结构的多个存储块BLK0至BLKN-1。
如上所述,存储器系统可将从主机接收到的数据(称为写入数据)写入(或编程)在存储器装置中。例如,写入数据可包括具有原子性的事务数据。事务数据可能必须是一个不可分割单元,正如必须在数据库管理系统中同时执行的一系列操作一样。对事务数据执行的操作可能必须针对所有事务数据来执行,或者针对所有事务数据取消。因此,用于存储器系统中的写入操作的事务数据可指包括需要被全部写入的多个数据的一个数据组。
本公开的以下实施例可提出一种恢复和管理至少一个数据组的映射信息的方法,数据组的每一个都包括需要被全部写入的多个数据。虽然在提交之前,事务数据被写入存储器装置(例如,NAND闪速存储器)中,但事务数据可能不会被反映到转换映射表,例如逻辑到物理(L2P)映射表中。为了解除限制,虽然尚未提交数据组(或事务数据),但是本公开的实施例可将信息反映到L2P映射表中,并单独地存储可能回滚的映射信息。本公开的实施例可以不必在每次提交时刻都执行更新L2P映射表的操作,该提交时刻比中止时刻更可能发生。因此,因为中止或突然断电(SPO)不大可能发生在实际的存储器系统使用环境中,所以本公开的实施例或许能够通过将事务数据的信息反映到L2P映射表中来最小化由于提交而可能发生的映射更新开销。
图5是说明根据本公开的实施例的存储器系统500的框图。
参照图5,存储器系统500可包括控制器510和存储器装置520。存储器系统500、控制器510和存储器装置520可分别对应于图1中所示的存储器系统110、控制器130和存储器装置150,并且可包括相同的组成元件并执行与如参照图1所述的相同的操作。此处,注意的是,对包括控制器510和存储器装置520的存储器系统500的描述受限于根据本公开的实施例的特征和操作。
具体地,控制器510包括处理器512、缓冲器514、第一表516和第二表518。在操作中,处理器512可从主机50接收至少一个数据组。在一些实施例中,至少一个数据组可包括需要被全部写入(或编程)在存储器装置520中的多个数据,作为单个事务数据。
缓冲器514可以是用于存储从主机50接收到的至少一个数据组的写入高速缓冲器或写入缓冲器。缓冲器514可以被包括在图1的存储器144的内部,或者其可与存储器144单独地形成。
第一表516可以是写入存储器装置520中的数据的地址转换表。例如,第一表516可以是逻辑到物理(L2P)映射表,其表示从主机50接收到的用于写入操作的事务数据的逻辑地址与表示存储器装置520的存储区域的物理地址之间的对应关系。
第二表518可以是用于在提交一个事务数据之前从第一表516读取事务数据的L2P映射信息并存储该L2P映射信息的表。例如,第二表518可以是用于在发生突然断电或在提交事务数据之前事务数据被中止时,存储用于恢复操作的事务数据的L2P映射信息的事务恢复表。
处理器512可在包括在数据组中的多个数据的接收被提交之前从第一表516中读取一个数据组的先前L2P映射信息,并将该L2P映射信息存储在第二表518中。此外,处理器512可将第二表518存储在存储器装置520中。
处理器512可将包括在数据组中的多个数据存储在存储器装置520中,并且当多个数据被存储在存储器装置520中时,更新存储在第一表516中的数据组的L2P映射信息。此外,处理器512可将已更新数据组的L2P映射信息的第一表516存储到存储器装置520中。
根据示例,当在提交从主机50传输的数据组之前接收到中止信息时,处理器512可能通过参照第二表518来恢复该数据组的L2P映射信息。根据另一示例,当在提交从主机50传输的数据组之前发生突然断电时,处理器512可能通过参照第二表518来恢复该数据组的L2P映射信息。
图6示出根据本发明实施例的主机和存储器系统之间的数据传输/接收610。例如,图6所示的主机和存储器系统可以是图5所示的主机50和存储器系统500。
参照图6,存储器系统500可从主机50接收用于写入操作的事务数据。事务数据可指包括需要被全部处理的多个数据的至少一个数据组。此外,存储器系统500可接收用于确保事务数据的原子性的事务数据的标识符信息(ID)、表示事务数据结束的提交信息或表示来自主机50的事务数据停止的中止信息。
图7说明根据本公开的实施例的事务数据700。例如,事务数据700可以是存储器系统500从主机50接收的用于写入操作的数据。
参照图7,事务数据700可包括数据A711、数据B 712、数据C 713和数据D 714。数据A 711、数据B 712、数据C 713和数据D 714可能需要被全部处理。换言之,事务数据700可以是包括需要被全部处理的多个数据的一个数据组。此外,事务数据700可包括表示事务数据的结束的提交信息715。
图8说明根据本公开的实施例的事务数据处理。例如,图8所示的事务数据处理可由图5所述的控制器510和存储器装置520执行。此处,存储器装置520可以被描述为NAND闪速存储器,但是本公开的概念和精神不限于此。
参照图8,控制器510可将接收到的事务数据TO以及表示事务数据结束的提交信息TOC顺序地存储在写入缓冲器514中(810)。
控制器510可将存储在写入缓冲器514中的事务数据TO存储在存储器装置520的NAND块中。此外,虽然是在接收到提交信息TOC之前,但控制器510可能生成事务数据TO的事务映射信息TM(或恢复映射信息),并将其存储在NAND块中(820)。
图9说明根据本公开的另一实施例的事务数据处理。例如,图9所示的事务数据处理可由图5所述的控制器510和存储器装置520执行。此处,存储器装置520可以被描述为NAND闪速存储器,但是本公开的概念和精神不限于此。
参照图9,控制器510可将接收的数据顺序地存储在写入缓冲器514中(910)。例如,数据可按照T1→T1→N→T4→T4→T5→T1C→T4C→T5C的顺序被存储在写入缓冲器514中。在存储在写入缓冲器514中的数据中,T1可表示第一事务数据(或数据组),T4可表示第四事务数据,并且T5可表示第五事务数据。此处,N可表示正常的数据。此外,T1C是表示第一事务数据T1结束的信息,T4C是表示第四事务数据T4结束的信息。T5C是表示第五事务数据T5结束的信息。此处,以接收到所有事务数据之后接收到事务数据提交信息的情况作为示例进行说明和描述。然而,可以在接收到一个事务数据之后立即接收到相应的事务数据提交信息。例如,虽然在本示例中描述了在T5之后接收并存储T1C,但可在T1之后接收并存储T1C。
控制器510可将存储在写入缓冲器514中的数据存储在NAND块中。此处,控制器510可生成数据的L2P映射信息和事务映射信息(或恢复映射信息),并将它们存储在NAND块中(920)。此处,描述了仅在接收到事务数据T4时才生成L2P映射信息和事务映射信息(或恢复映射信息)的示例,但示例并非限制性的,而仅用于说明。
控制器510可将事务数据T4存储在NAND块中(921和922)。此外,虽然是在接收到事务数据T4的提交信息T4C之前,但控制器510可能生成事务数据T4的L2P映射信息和事务映射信息TM(或恢复映射信息),并将它们存储在NAND块中(923、924和925)。
图10是说明根据本公开的实施例的事务数据处理流程的流程图。例如,图10所示的事务数据处理可由图5所示的控制器510和存储器装置520执行。此处,假设存储器装置520为NAND闪速存储器,但该假设并非限制性的,而仅用于说明。此外,为便于描述,将利用接收到一个事务数据的提交信息之前执行的操作来描述处理事务数据的示例。
参照图10,在步骤1010中,当接收到事务数据例如图9的T4时,控制器510可确定是否已经接收到事务数据例如图9的T4C的提交信息。当尚未接收到事务数据的提交信息时,然后,控制器510接收下一个事务数据并重复步骤1010。
当确定至今尚未接收到事务数据的提交信息时,在步骤1020中,控制器510将对应于事务数据的L2P映射信息存储在例如图5的第二表518的事务恢复表中。
在步骤1030中,控制器510可将事务恢复表存储在存储器装置520的NAND块中。在步骤1040中,控制器510可将事务数据存储在存储器装置520的NAND块中。此处,虽然描述了在将事务恢复表存储在存储器装置520中之后存储事务数据的示例,但也可以采用相反的顺序(例如,图9)。
在步骤1050中,控制器510可更新L2P映射表(例如,图5的第一表516),并将更新的L2P映射表存储在存储器装置520的NAND块中。
图11是说明根据本公开的实施例的用于事务数据的L2P映射信息恢复操作的流程的流程图。例如,图11的处理可由图5所示的控制器510和存储器装置520执行。此处,假设存储器装置520为NAND闪速存储器,但该假设并非限制性的,而仅用于说明。
参照图11,在步骤1110中,控制器510可确定是否从主机50接收到中止信息,或者在提交一个事务数据(或一个数据组)之前,即在接收到事务数据的提交信息之前是否发生突然断电(SPO)。
当确定在提交一个事务数据(或一个数据组)之前从主机50接收到中止信息,或者确定在提交一个事务数据(或一个数据组)之前发生突然断电(SPO),在步骤1120中,控制器510可能通过参照事务恢复表(例如,图5的第二表518)来恢复存储在L2P映射表(例如,图5的第一表516)中的事务数据的L2P映射信息。
如上所述,本公开的实施例提出了一种恢复和管理用于至少一个数据组的映射信息的方法,该至少一个数据组包括需要在存储器系统(或存储器装置)中全部处理的多个数据。虽然尚未提交数据组(或事务数据),但本公开的实施例可将信息反映到L2P映射表中,并单独存储可能回滚的映射信息。根据本公开的实施例,每当发生比中止更可能发生的提交时,控制器不必执行更新L2P映射表的操作。因为在实际的存储器系统使用环境中,中止或突然断电的概率非常低,所以根据本公开的实施例,可通过事先将事务数据的信息反映到L2P映射表中来最小化可能由于提交而导致的映射更新开销。
在下文中,将参照图12至图20更详细地描述提供有存储器系统110的数据处理系统和电子设备,该存储器系统110包括根据实施例的参照图1至图11描述的存储器装置150和控制器130。
图12至图20是示意性说明根据本公开的各个实施例的图1的数据处理系统的应用示例的简图。
图12是示意性说明包括根据本公开的实施例的存储器系统的数据处理系统的另一示例的简图。图12示意性说明应用根据实施例的存储器系统的存储卡系统。
参照图12,存储卡系统6100可包括连接器6110、存储器控制器6120和存储器装置6130。
更具体地,存储器控制器6120可被连接到通过非易失性存储器实施的存储器装置6130,并被配置为访问存储器装置6130。例如,存储器控制器6120可被配置为控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机之间的接口并驱动用于控制存储器装置6130的固件。也就是说,存储器控制器6120可对应于参照图1描述的存储器系统110的控制器130,并且存储器装置6130可对应于参照图1描述的存储器系统110的存储器装置150。
因此,存储器控制器6120可包括随机存取存储器(RAM)、处理单元、主机接口、存储器接口和错误校正单元。存储器控制器6120可进一步包括图5所示的元件。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1所述,存储器控制器6120可被配置成通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(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)。
图13是示意性说明包括根据本公开的实施例的存储器系统的数据处理系统的另一示例的简图。
参照图13,数据处理系统6200可包括具有一个或多个非易失性存储器(NVM)的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图13所示的数据处理系统6200可作为如参照图1所描述的诸如存储卡(例如,CF、SD、微型SD等)或USB装置的存储介质。存储器装置6230和存储器控制器6220可对应于图1至图10中所述的存储器装置和控制器。
存储器控制器6220可响应于主机6210的请求控制对存储器装置6230的读取操作、写入操作或擦除操作,并且存储器控制器6220可包括中央处理器(CPU)6221、作为缓冲存储器6222的随机存取存储器(RAM)、错误校正码(ECC)电路6223、主机接口6224以及作为存储器接口6225的NVM接口。
CPU 6221可控制对存储器装置6230的全部操作,例如读取操作、写入操作、文件系统管理和坏页面管理操作。RAM 6222可根据CPU6221的控制来操作且用作工作存储器、缓冲存储器或高速缓冲存储器。当RAM 6222用作工作存储器时,通过CPU 6221处理的数据可被临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM6222可用于缓冲从主机6210传输到存储器装置6230的数据或从存储器装置6230传输到主机6210的数据。当RAM 6222用作高速缓冲存储器时,RAM 6222可辅助低速存储器装置6230以高速运行。
ECC电路6223可对应于图1所示的控制器130的ECC单元138。如参照图1所述,ECC电路6223可生成用于校正从存储器装置6230提供的数据的失效位或错误位的错误校正码。ECC电路6223可对提供给存储器装置6230的数据执行错误校正编码,从而形成具有奇偶校验位的数据。奇偶校验位可被存储在存储器装置6230中。ECC电路6223可对从存储器装置6230输出的数据执行错误校正解码。此时,ECC电路6223可使用奇偶校验位来校正错误。例如,如上参照图1所述,ECC电路6223可使用包括诸如以下的编码调制的任何适当的方法来校正错误:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhri-Hocquenghem,BCH)码、涡轮码、里德-所罗门(RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)或分组编码调制(BCM)。
存储器控制器6220可通过主机接口6224向主机6210传输数据/从主机6210接收数据,并通过NVM接口6225向存储器装置6230传输数据/从存储器装置6230接收数据。主机接口6224可通过诸如以下的各种接口协议中的至少一种连接到主机6210:并行高级技术附件(PATA)总线、串行高级技术附件(SATA)总线、小型计算机系统接口(SCSI)、通用串行总线(USB)、高速外围组件互连(PCIe)或NAND接口。存储器控制器6220可利用诸如无线保真(WiFi)或长期演进(LTE)的移动通信协议具有无线通信功能。存储器控制器6220可连接到外部装置,例如主机6210或另一个外部装置,然后向外部装置传输数据/从外部装置接收数据。特别地,由于存储器控制器6220被配置成通过各种通信协议中的一种或多种与外部装置通信,因此根据实施例的存储器系统和数据处理系统可被应用于有线/无线电子装置或特别是移动电子装置。
图14是示意性说明包括根据本公开的实施例的存储器系统的数据处理系统的另一示例的简图。图14示意性说明了应用根据实施例的存储器系统的固态驱动器(SSD)6300。
参照图15,SSD 6300可包括控制器6320和包括多个非易失性存储器的存储器装置6340。控制器6320和存储器装置6340可对应于参照图1至图10所述的存储器系统中的控制器和存储器装置。
更具体地,控制器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)的非易失性存储器来实施。为便于描述,图14示出缓冲存储器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级别,即,从SSD 6300中的主机6310提供的写入命令的RAID级别信息,来选择一个或多个存储器系统或SSD 6300,并将对应于写入命令的数据输出到选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取命令时,RAID控制器可根据多个RAID级别,即,从SSD 6300中的主机6310提供的读取命令的RAID级别信息,来选择一个或多个存储器系统或SSD 6300,并将从所选择的SSD 6300读取的数据提供给主机6310。
图15是示意性说明包括根据本公开的实施例的存储器系统的数据处理系统的另一示例的简图。图15示意性说明应用了根据实施例的存储器系统的嵌入式多媒体卡(eMMC)。
参照图15,eMMC 6400可包括控制器6430和通过一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1至图11的存储器系统中的控制器,并且存储器装置6440可对应于图1至图11的存储器系统中的存储器装置。
更具体地,控制器6430可通过多个通道连接到存储器装置6440。控制器6430可包括一个或多个内核6432、主机接口6431和诸如NAND接口6433的存储器接口。
内核6432可控制eMMC6400的全部操作,主机接口6431可提供控制器6430和主机6410之间的接口功能,并且NAND接口6433可提供存储器装置6440和控制器6430之间的接口功能。例如,主机接口6431可用作并行接口,例如参照图1所描述的MMC接口。此外,主机接口6431可用作诸如超高速等级1(UHS-I)/UHS等级2(UHS-II)和通用闪存(UFS)接口的串行接口。
图16至图19是示意性说明包括根据本实施例的存储器系统的数据处理系统的其它示例的简图。图16至图19示意性地说明应用根据实施例的存储器系统的通用闪存(UFS)系统。
参照图16至图19,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至图9所述的存储器系统110来实施。例如,在UFS系统6500、6600、6700和6800中,UFS装置6520、6620、6720和6820可以参照图13至图15描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730和6830可以以参照图12描述的存储卡系统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协议以外的各种协议,例如,USB闪存驱动器(UFD)、多媒体卡(MMC)、安全数字(SD)、迷你SD和微型SD彼此通信。
在图16所示的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。
在图17所示的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。
在图18所示的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。
在图19所示的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。
图20是示意性说明包括根据本公开的实施例的存储器系统的数据处理系统的另一示例的简图。图20是示意性说明应用了根据实施例的存储器系统的用户系统的简图。
参照图20,用户系统6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可驱动包括在用户系统6900中的诸如OS的部件,并且包括控制包括在用户系统6900中的部件的控制器、接口和图形引擎。应用处理器6930可作为片上系统(SoC)被提供。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可包括诸如动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率(DDR)SDRAM、DDR2SDRAM、DDR3SDRAM、低功率双倍数据速率(LPDDR)SDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性随机存取存储器,或者诸如相变随机存取存储器(PRAM)、电阻式随机存取存储器(ReRAM)、磁性随机存取存储器(MRAM)和铁电随机存取存储器(FRAM)的非易失性随机存取存储器。例如,可基于堆叠式封装(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可被实施为如上参照图14至图19所述的SSD、eMMC和UFS。
用户接口6910可包括用于向应用处理器6930输入数据或命令或者用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、发光二极管(LED)、扬声器和电动机的用户输出接口。
此外,当图1的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的全部操作,并且网络模块6940可用作用于控制与外部装置的有线和/或无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示通过处理器6930处理的数据,或支持从触摸面板接收数据的功能。
虽然已经针对具体实施例描述了本发明,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可进行其它各种实施例、改变和修改。
Claims (19)
1.一种存储器系统,其包括:
存储器装置;以及
控制器,
其中当至少一个数据组被接收时,所述数据组包括需要被全部处理的多个数据,所述控制器在提交接收所述数据组的多个数据之前从第一表读取所述数据组的先前的逻辑到物理(L2P)映射信息并将所读取的L2P映射信息存储在第二表中,并且
所述控制器将所述多个数据存储在所述存储器装置中,并且
所述控制器响应于在所述存储器装置中存储所述多个数据而更新存储在所述第一表中的所述数据组的L2P映射信息。
2.根据权利要求1所述的存储器系统,其中所述控制器进一步将所述第二表存储在所述存储器装置中。
3.根据权利要求2所述的存储器系统,其中所述控制器进一步将利用所述数据组的L2P映射信息更新的所述第一表存储在所述存储器装置中。
4.根据权利要求3所述的存储器系统,其中所述控制器包括:
所述第一表;
所述第二表;
缓冲器,其适于存储从主机接收到的所述多个数据中的每一个;以及
处理器,其适于从所述第一表读取所述先前的L2P映射信息,并将所读取的L2P映射信息存储在所述第二表中,将所述多个数据存储在所述存储器装置中,以及更新存储在所述第一表中的所述数据组的L2P映射信息。
5.根据权利要求4所述的存储器系统,其中在从所述主机接收到表示提交所述多个数据的提交信息之前,所述处理器从所述第一表读取所述先前的L2P映射信息并将所读取的L2P映射信息存储在所述第二表中,将所述多个数据存储在所述存储器装置中,并且更新存储在所述第一表中的所述数据组的L2P映射信息。
6.根据权利要求5所述的存储器系统,其中所述处理器响应于接收到来自所述主机的中止信息而通过参照所述第二表来恢复所述数据组的L2P映射信息。
7.根据权利要求5所述的存储器系统,其中所述处理器响应于发生突然断电(SPO)而通过参照所述第二表来恢复所述数据组的L2P映射信息。
8.一种存储器控制器,其包括:
第一表;
第二表;以及
处理器,其适于当接收到至少一个数据组时,所述数据组包括需要被全部处理的多个数据,在提交接收所述多个数据之前,从所述第一表读取用于所述数据组的先前的逻辑到物理(L2P)映射信息并将所读取的L2P映射信息存储在所述第二表中,
将所述多个数据存储在所述存储器装置中,并且
响应于存储所述多个数据而更新存储在所述第一表中的所述数据组的L2P映射信息。
9.根据权利要求8所述的存储器控制器,其中所述处理器进一步将所述第二表存储在所述存储器装置中。
10.根据权利要求9所述的存储器控制器,其中所述处理器进一步将利用所述数据组的L2P映射信息更新的所述第一表存储在所述存储器装置中。
11.根据权利要求10所述的存储器控制器,其中在从所述主机接收到表示提交所述多个数据的提交信息之前,所述处理器从所述第一表读取所述先前的L2P映射信息并将所读取的L2P映射信息存储在所述第二表中,将所述多个数据存储在所述存储器装置中,并且更新存储在所述第一表中的所述数据组的L2P映射信息。
12.根据权利要求11所述的存储器控制器,其中所述处理器响应于接收到来自所述主机的中止信息而通过参照所述第二表来恢复所述数据组的L2P映射信息。
13.根据权利要求11所述的存储器控制器,其中所述处理器响应于发生突然断电(SPO)而通过参照所述第二表来恢复所述数据组的L2P映射信息。
14.一种存储器系统的操作方法,其包括:
接收包括需要被全部处理的多个数据的至少一个数据组;
在提交接收所述多个数据之前,从第一表读取所述数据组的先前的逻辑到物理(L2P)映射信息并将所读取的L2P映射信息存储在第二表中;
将所述多个数据存储在所述存储器装置中;以及
响应于存储所述多个数据而更新存储在所述第一表中的所述数据组的L2P映射信息。
15.根据权利要求14所述的方法,其进一步包括:
将所述第二表存储在所述存储器装置中。
16.根据权利要求15所述的方法,其进一步包括:
将利用所述数据组的L2P映射信息更新的所述第一表存储在所述存储器装置中。
17.根据权利要求16所述的方法,其中在提交接收所述多个数据之前,从所述第一表读取所述数据组的先前的逻辑到物理(L2P)映射信息并将所读取的L2P映射信息存储在所述第二表中包括:
在从主机接收到表示提交所述多个数据的提交信息之前,从所述第一表读取所述先前的L2P映射信息并将所读取的L2P映射信息存储在所述第二表中。
18.根据权利要求17所述的方法,其进一步包括:
响应于接收到来自所述主机的中止信息而通过参照所述第二表来恢复所述数据组的L2P映射信息。
19.根据权利要求17所述的方法,其进一步包括:
响应于发生突然断电(SPO)而通过参照所述第二表来恢复所述数据组的L2P映射信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0063898 | 2017-05-24 | ||
KR1020170063898A KR20180128588A (ko) | 2017-05-24 | 2017-05-24 | 메모리 시스템 및 그의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108932202A true CN108932202A (zh) | 2018-12-04 |
CN108932202B CN108932202B (zh) | 2022-10-04 |
Family
ID=64401587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711401382.9A Active CN108932202B (zh) | 2017-05-24 | 2017-12-22 | 存储器系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US20180341576A1 (zh) |
KR (1) | KR20180128588A (zh) |
CN (1) | CN108932202B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338995A (zh) * | 2018-12-19 | 2020-06-26 | 爱思开海力士有限公司 | 数据存储装置及操作数据存储装置的方法 |
CN111338979A (zh) * | 2018-12-19 | 2020-06-26 | 爱思开海力士有限公司 | 存储器控制器及其操作方法 |
CN111435289A (zh) * | 2019-01-15 | 2020-07-21 | 爱思开海力士有限公司 | 映射数据访问性能提高的存储器控制器及其操作方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200091199A (ko) * | 2019-01-22 | 2020-07-30 | 에스케이하이닉스 주식회사 | 저장 장치, 저장 장치를 포함하는 컴퓨팅 시스템 및 그 동작 방법 |
KR20210029384A (ko) | 2019-09-06 | 2021-03-16 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
KR20210151372A (ko) * | 2020-06-05 | 2021-12-14 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007141375A1 (en) * | 2006-06-08 | 2007-12-13 | Tellabs Oy | Method and arrangement for processing transactions in a flash type memory device |
CN101169751A (zh) * | 2006-10-25 | 2008-04-30 | 三星电子株式会社 | 具有闪存设备的系统及其数据恢复方法 |
US20090055578A1 (en) * | 2007-08-24 | 2009-02-26 | Samsung Electronics Co., Ltd. | Apparatus using flash memory as storage and method of operating the same |
US20110296123A1 (en) * | 2010-05-25 | 2011-12-01 | Jason Adler | Memory access table saving and restoring system and methods |
CN102541676A (zh) * | 2011-12-22 | 2012-07-04 | 福建新大陆通信科技股份有限公司 | 一种nand flash的状态检测及映射方法 |
US20130019057A1 (en) * | 2011-07-15 | 2013-01-17 | Violin Memory, Inc. | Flash disk array and controller |
US20130198446A1 (en) * | 2012-01-30 | 2013-08-01 | Infinidat Ltd. | Storage system for atomic write of one or more commands |
US20140325117A1 (en) * | 2013-04-30 | 2014-10-30 | Lsi Corporation | Flash translation layer with lower write amplification |
US20140342710A1 (en) * | 2006-10-10 | 2014-11-20 | Dashwire, Inc. c/o HTC Corporation | Method and apparatus for providing mobile device information through a computing device |
CN104166636A (zh) * | 2013-05-17 | 2014-11-26 | 宇瞻科技股份有限公司 | 存储器储存装置及其还原方法与存储器控制器 |
US20150193315A1 (en) * | 2014-01-07 | 2015-07-09 | Electronics And Telecommunications Research Institute | Method and device for managing multiple snapshots of data strorage device |
CN105009094A (zh) * | 2013-03-05 | 2015-10-28 | 西部数据技术公司 | 在固态驱动器中利用空闲空间计数来重建两阶加电映射的方法、设备和系统 |
CN105224478A (zh) * | 2015-09-25 | 2016-01-06 | 联想(北京)有限公司 | 一种映射表的形成、更新和恢复方法及电子设备 |
US20160124820A1 (en) * | 2014-11-03 | 2016-05-05 | Silicon Motion, Inc. | Data Storage Device and Flash Memory Control Method |
CN106372000A (zh) * | 2015-07-20 | 2017-02-01 | 群联电子股份有限公司 | 映射表更新方法、存储器控制电路单元及存储器存储装置 |
CN106569911A (zh) * | 2016-10-14 | 2017-04-19 | 深圳前海微众银行股份有限公司 | 数据备份方法和装置 |
CN106598877A (zh) * | 2015-10-15 | 2017-04-26 | 爱思开海力士有限公司 | 存储器系统及该存储器系统的操作方法 |
CN106649129A (zh) * | 2016-09-28 | 2017-05-10 | 深圳市金泰克半导体有限公司 | 一种基于ftl的具有版本管理功能的固态硬盘及其实现方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140372710A1 (en) * | 2013-06-18 | 2014-12-18 | Samsung Electronics Co., Ltd. | System and method for recovering from an unexpected shutdown in a write-back caching environment |
US9652164B2 (en) * | 2015-05-14 | 2017-05-16 | Toshiba Corporation | Solid-state mass storage device and method for processing forced unit access write commands |
US20170185354A1 (en) * | 2015-12-23 | 2017-06-29 | Intel Corporation | Techniques for a Write Transaction at a Storage Device |
-
2017
- 2017-05-24 KR KR1020170063898A patent/KR20180128588A/ko unknown
- 2017-11-20 US US15/817,489 patent/US20180341576A1/en not_active Abandoned
- 2017-12-22 CN CN201711401382.9A patent/CN108932202B/zh active Active
-
2020
- 2020-09-30 US US17/037,967 patent/US20210011843A1/en not_active Abandoned
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007141375A1 (en) * | 2006-06-08 | 2007-12-13 | Tellabs Oy | Method and arrangement for processing transactions in a flash type memory device |
US20140342710A1 (en) * | 2006-10-10 | 2014-11-20 | Dashwire, Inc. c/o HTC Corporation | Method and apparatus for providing mobile device information through a computing device |
CN101169751A (zh) * | 2006-10-25 | 2008-04-30 | 三星电子株式会社 | 具有闪存设备的系统及其数据恢复方法 |
US20090055578A1 (en) * | 2007-08-24 | 2009-02-26 | Samsung Electronics Co., Ltd. | Apparatus using flash memory as storage and method of operating the same |
US20110296123A1 (en) * | 2010-05-25 | 2011-12-01 | Jason Adler | Memory access table saving and restoring system and methods |
US20130019057A1 (en) * | 2011-07-15 | 2013-01-17 | Violin Memory, Inc. | Flash disk array and controller |
CN102541676A (zh) * | 2011-12-22 | 2012-07-04 | 福建新大陆通信科技股份有限公司 | 一种nand flash的状态检测及映射方法 |
US20130198446A1 (en) * | 2012-01-30 | 2013-08-01 | Infinidat Ltd. | Storage system for atomic write of one or more commands |
CN105009094A (zh) * | 2013-03-05 | 2015-10-28 | 西部数据技术公司 | 在固态驱动器中利用空闲空间计数来重建两阶加电映射的方法、设备和系统 |
US20140325117A1 (en) * | 2013-04-30 | 2014-10-30 | Lsi Corporation | Flash translation layer with lower write amplification |
CN104166636A (zh) * | 2013-05-17 | 2014-11-26 | 宇瞻科技股份有限公司 | 存储器储存装置及其还原方法与存储器控制器 |
US20150193315A1 (en) * | 2014-01-07 | 2015-07-09 | Electronics And Telecommunications Research Institute | Method and device for managing multiple snapshots of data strorage device |
US20160124820A1 (en) * | 2014-11-03 | 2016-05-05 | Silicon Motion, Inc. | Data Storage Device and Flash Memory Control Method |
CN106372000A (zh) * | 2015-07-20 | 2017-02-01 | 群联电子股份有限公司 | 映射表更新方法、存储器控制电路单元及存储器存储装置 |
CN105224478A (zh) * | 2015-09-25 | 2016-01-06 | 联想(北京)有限公司 | 一种映射表的形成、更新和恢复方法及电子设备 |
CN106598877A (zh) * | 2015-10-15 | 2017-04-26 | 爱思开海力士有限公司 | 存储器系统及该存储器系统的操作方法 |
CN106649129A (zh) * | 2016-09-28 | 2017-05-10 | 深圳市金泰克半导体有限公司 | 一种基于ftl的具有版本管理功能的固态硬盘及其实现方法 |
CN106569911A (zh) * | 2016-10-14 | 2017-04-19 | 深圳前海微众银行股份有限公司 | 数据备份方法和装置 |
Non-Patent Citations (1)
Title |
---|
舒继武等: "基于非易失性存储器的存储系统技术研究进展", 《科技导报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338995A (zh) * | 2018-12-19 | 2020-06-26 | 爱思开海力士有限公司 | 数据存储装置及操作数据存储装置的方法 |
CN111338979A (zh) * | 2018-12-19 | 2020-06-26 | 爱思开海力士有限公司 | 存储器控制器及其操作方法 |
CN111338995B (zh) * | 2018-12-19 | 2023-08-18 | 爱思开海力士有限公司 | 数据存储装置及操作数据存储装置的方法 |
CN111435289A (zh) * | 2019-01-15 | 2020-07-21 | 爱思开海力士有限公司 | 映射数据访问性能提高的存储器控制器及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108932202B (zh) | 2022-10-04 |
US20180341576A1 (en) | 2018-11-29 |
KR20180128588A (ko) | 2018-12-04 |
US20210011843A1 (en) | 2021-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108572927A (zh) | 存储器系统及其操作方法 | |
CN108304141A (zh) | 存储器系统及其操作方法 | |
CN108255739A (zh) | 存储器系统及其操作方法 | |
CN109144408A (zh) | 存储器系统及其操作方法 | |
CN109388594A (zh) | 存储器系统及其操作方法 | |
CN109947358A (zh) | 存储器系统及其操作方法 | |
CN107818057A (zh) | 存储器系统及其操作方法 | |
CN108932202A (zh) | 存储器系统及其操作方法 | |
CN109426449A (zh) | 存储器系统及其操作方法 | |
CN109284202A (zh) | 控制器及其操作方法 | |
CN110347330A (zh) | 存储器系统及其操作方法 | |
CN109521947A (zh) | 存储器系统以及存储器系统的操作方法 | |
CN109390003A (zh) | 存储器系统及其操作方法 | |
CN108388525A (zh) | 存储器系统及其操作方法 | |
CN108268212A (zh) | 控制器及操作方法 | |
CN109935251A (zh) | 存储器系统、其操作方法以及包括其的数据处理系统 | |
CN110473582A (zh) | 存储器系统及其操作方法 | |
CN108932203A (zh) | 数据处理系统和数据处理方法 | |
CN110321069A (zh) | 存储器系统及其操作方法 | |
CN109032501A (zh) | 存储器系统及其操作方法 | |
CN108257637A (zh) | 存储器系统及其操作方法 | |
CN109271328A (zh) | 存储器系统及其操作方法 | |
CN109656469A (zh) | 用于控制一个或多个存储器装置的控制器及其操作方法 | |
CN107562653A (zh) | 存储器系统及其操作方法 | |
CN109656749A (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 |