CN109710174B - 数据处理系统及其操作方法 - Google Patents
数据处理系统及其操作方法 Download PDFInfo
- Publication number
- CN109710174B CN109710174B CN201810988447.2A CN201810988447A CN109710174B CN 109710174 B CN109710174 B CN 109710174B CN 201810988447 A CN201810988447 A CN 201810988447A CN 109710174 B CN109710174 B CN 109710174B
- Authority
- CN
- China
- Prior art keywords
- information
- data
- write data
- write
- transaction information
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- 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
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1474—Saving, restoring, recovering or retrying in transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
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)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开一种数据处理系统,包括:主机,生成被分组到事务中的多个写入数据和包括写入数据中的每一个的事务信息的多个写入命令;以及存储器系统,响应于从主机接收的写入命令将写入数据存储在存储器装置的正常区域中,并且将包括在写入命令中的每一个中的事务信息存储在存储器装置的、对应于正常区域的备用区域中。
Description
相关申请的交叉引用
本申请要求于2017年10月25日提交的申请号为10-2017-0139422的韩国专利申请的优先权,该韩国专利申请通过引用全部并入本文。
技术领域
本发明总体涉及一种数据处理系统。特别地,本发明的各个实施例涉及一种能够将被分组成事务的写入数据存储在存储器系统中的数据处理系统及其操作方法。
背景技术
计算环境范例正转变为普适计算,其允许用户在任何时间和任何地点使用计算机系统。因为这个原因,对诸如移动电话、数码相机和膝上型计算机的便携式电子装置的需求增长迅速。这些电子装置通常包括使用存储器装置的存储器系统作为数据存储装置。数据存储装置可以是便携式电子装置的主存储器或辅助存储器。
因为使用存储器装置的数据存储装置不具有机械驱动单元,所以其可具有优异的稳定性和耐久性。此外,数据存储装置具有快速的数据访问速率和低功耗。具有这种优点的数据存储装置的非限制性示例包括通用串行总线(USB)存储器装置、各种接口的存储卡以及固态驱动器(SSD)等。
发明内容
本发明的各个实施例涉及一种能够存储被分组成事务的写入数据的数据处理系统及其操作方法。
根据本发明的实施例,一种数据处理系统包括:主机,生成被分组到事务中的多个写入数据和包括写入数据中的每一个的事务信息的多个写入命令;以及存储器系统,响应于从主机接收的写入命令将写入数据存储在存储器装置的正常区域中,并且将包括在写入命令中的每一个中的事务信息存储在存储器装置的、对应于正常区域的备用区域中。
事务信息可包括事务ID信息、提交信息和中止信息。
主机可生成被分组到第一事务中的第一写入数据中的每一个的事务信息,第一写入数据中的每一个的事务信息包括第一ID信息和提交信息,并且根据检查从主机接收的写入命令中的每一个中的事务信息的结果,存储器系统将包括第一ID信息的写入命令识别为第一写入命令,并将对应于第一写入命令的写入数据识别为第一写入数据,并且当响应于第一写入命令将第一写入数据存储在第一正常区域中时,存储器系统将包括在第一写入命令中的事务信息加载并存储在对应于第一正常区域的第一备用区域中。
主机可生成被分组到第二事务中的第二写入数据中的每一个的事务信息,第二写入数据中的每一个的事务信息包括第二ID信息和提交信息,并且根据检查从主机接收的写入命令中的每一个中的事务信息的结果,存储器系统将包括第二ID信息的写入命令识别为第二写入命令,并将对应于第二写入命令的写入数据识别为第二写入数据,并且当响应于第二写入命令将第二写入数据存储在第二正常区域中时,存储器系统将包括在第二写入命令中的事务信息加载并存储在对应于第二正常区域的第二备用区域中。
存储器装置可包括多个页面,第一正常区域包括页面中的第一页面的第一数据区段,第二正常区域包括第一页面的第二数据区段,第一备用区域包括第一页面的第一备用区段,并且第二备用区域包括第一页面的第二备用区段。
存储器装置可包括多个页面,第一正常区域包括页面中的第一页面的数据区段,第二正常区域包括页面中的第二页面的数据区段,第一备用区域包括第一页面的备用区段,并且第二备用区域包括第二页面的备用区段。
存储器装置可包括多个页面,第一正常区域包括包含页面中至少两个页面的第一页面组的数据区段,第二正常区域包括包含页面中至少两个页面的第二页面组的数据区段,第一备用区域包括第一页面组的备用区段,并且第二备用区域包括第二页面组的备用区段。
主机可生成写入数据中最后数据的事务信息,写入数据中最后数据的事务信息包括激活的提交信息和停用的中止信息,用于使写入数据生效,主机可生成最后数据的事务信息,最后数据的事务信息包括停用的提交信息和激活的中止信息,用于使写入数据无效,并且主机可生成写入数据中除最后数据之外的剩余中间数据中的每一个的事务信息,写入数据中除最后数据之外的剩余中间数据中的每一个的事务信息包括停用的提交信息和停用的中止信息。
根据在将写入数据存储在存储器装置中的同时发生突然断电(SPO)后再次供电的启动期间重建写入数据时,读取和检查存储在备用区域中的写入数据的事务信息的结果,当检索到包括激活的提交信息的事务信息时,存储器系统确定存储在正常区域中的写入数据处于正常状态并重建写入数据,并且当未检索到包括激活的提交信息的事务信息,或者检索到包括激活的中止信息的事务信息时,存储器系统确定存储在正常区域中的写入数据处于异常状态并且不重建写入数据。
写入数据中的每一个的事务信息可进一步包括开始信息,并且主机可生成中间数据中开始数据的事务信息,开始数据的事务信息包括停用的提交信息、停用的中止信息和激活的开始信息。
根据在将写入数据存储在存储器装置中的同时发生突然断电(SPO)后再次供电的启动期间重建写入数据时,读取和检查存储在备用区域中的写入数据的事务信息的结果,当检索到包括激活的提交信息的事务信息和包括激活的开始信息的事务信息时,存储器系统确定存储在正常区域中的写入数据处于正常状态并重建写入数据,并且当未检索到包括激活的开始信息的事务信息或包括激活的提交信息的事务信息时,存储器系统确定存储在正常区域中的写入数据处于异常状态并且不重建写入数据。
根据本发明的实施例,一种数据处理系统的操作方法,其中数据处理系统包括:主机,生成被分组到事务中的多个写入数据和多个写入命令;以及存储器系统,响应于从主机接收的写入命令而将写入数据存储在存储器装置中,该操作方法可以包括:通过主机生成包括写入数据中的每一个的事务信息的写入命令;以及通过存储器系统将写入数据存储在存储器装置的正常区域中,并将包括在写入命令中的每一个中的事务信息存储在存储器装置的、对应于正常区域的备用区域中。
事务信息可包括事务ID信息、提交信息和中止信息。
第一ID信息、提交信息和中止信息可包括在被分组到第一事务中的第一写入数据中的每一个的事务信息中,并且将写入数据存储在存储器装置的正常区域中并将事务信息存储在存储器装置的备用区域中可包括:根据检查从主机接收的写入命令中的每一个中的事务信息的结果,将包括第一ID信息的写入命令识别为第一写入命令,并将对应于第一写入命令的写入数据识别为第一写入数据;以及当响应于第一写入命令将第一写入数据存储在第一正常区域中时,将包括在第一写入命令中的事务信息加载并存储在对应于第一正常区域的第一备用区域中。
第二ID信息、提交信息和中止信息可包括在被分组到第二事务中的第二写入数据中的每一个的事务信息中,并且将写入数据存储在存储器装置的正常区域中并将事务信息存储在存储器装置的备用区域中可进一步包括:根据检查从主机接收的写入命令中的每一个中的事务信息的结果,将包括第二ID信息的写入命令识别为第二写入命令,并将对应于第二写入命令的写入数据识别为第二写入数据;以及当响应于第二写入命令将第二写入数据存储在第二正常区域中时,将包括在第二写入命令中的事务信息加载并存储在对应于第二正常区域的第二备用区域中。
存储器装置可包括多个页面,第一正常区域包括页面中的第一页面的第一数据区段,第二正常区域包括第一页面的第二数据区段,第一备用区域包括第一页面的第一备用区段,并且第二备用区域包括第一页面的第二备用区段。
存储器装置可包括多个页面,第一正常区域包括页面中的第一页面的数据区段,第二正常区域包括页面中的第二页面的数据区段,第一备用区域包括第一页面的备用区段,并且第二备用区域包括第二页面的备用区段。
存储器装置可包括多个页面,第一正常区域包括包含页面中两个或更多个页面的第一页面组的数据区段,第二正常区域包括包含页面中两个或更多个页面的第二页面组的数据区段,第一备用区域包括第一页面组的备用区段,并且第二备用区域包括第二页面组的备用区段。
生成包括写入数据中的每一个的事务信息的写入命令可包括:生成写入数据中最后数据的事务信息,激活的提交信息和停用的中止信息包括在写入数据中最后数据的事务信息中,用于使写入数据生效;生成最后数据的事务信息,最后数据的事务信息包括停用的提交信息和激活的中止信息,用于使写入数据无效;以及生成写入数据中除最后数据之外的剩余中间数据中的每一个的事务信息,写入数据中除最后数据之外的剩余中间数据中的每一个的事务信息包括停用的提交信息和停用的中止信息。
操作方法可进一步包括:在存储器系统将写入数据存储在存储器装置中的同时发生突然断电(SPO)后再次供电的启动期间重建写入数据时,读取和检查存储在备用区域中的写入数据的事务信息;当根据读取和检查事务信息的结果,检索到包括激活的提交信息的事务信息时,确定存储在正常区域中的写入数据处于正常状态并重建写入数据;以及当根据读取和检查事务信息的结果,未检索到包括激活的提交信息的事务信息,或者检索到包括激活的中止信息的事务信息时,确定存储在正常区域中的写入数据处于异常状态并且不重建写入数据。
根据本发明的实施例,一种存储器系统可包括:存储器装置,包括第一区域和对应于第一区域的第二区域;以及控制器,用于:接收分组到事务中的多个写入数据和包括写入数据中的每一个的事务信息的多个写入命令;响应于写入命令将写入数据存储在第一区域中;以及将包括在写入命令中的每一个中的事务信息存储在第二区域中。
将写入数据中的每一个的事务信息包括并生成到写入命令中可包括:将激活的提交信息和停用的中止信息包括并生成到写入数据中最后数据的事务信息中,以使写入数据生效;将停用的提交信息和激活的中止信息包括并生成到最后数据的事务信息中,以使写入数据无效;以及将停用的提交信息和停用的中止信息包括并生成到写入数据中除最后数据之外的剩余中间数据中的每一个的事务信息中。操作方法可进一步包括:在存储器系统将写入数据存储在存储器装置中的同时发生突然断电(SPO)后再次供电的启动期间重建写入数据时,读取和检查存储在备用区域中的写入数据的事务信息;当根据读取和检查事务信息的结果,检索到包括激活的提交信息的事务信息时,确定存储在正常区域中的写入数据处于正常状态并重建写入数据;以及当根据读取和检查事务信息的结果,未检索到包括激活的提交信息的事务信息,或者检索到包括激活的中止信息的事务信息时,确定存储在正常区域中的写入数据处于异常状态并且不重建写入数据。
从下面结合附图的描述中,本发明的这些和其它特征与优点对于本发明所属领域普通技术人员将变得显而易见。
附图说明
图1是示出根据本发明的实施例的包括存储器系统的数据处理系统的框图。
图2是示出图1所示的存储器系统的存储器装置的示例性配置的示意图。
图3是示出图2所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图。
图4是示出图2所示的存储器装置的示例性三维结构的示意图。
图5是示出根据本发明的实施例的数据处理系统中处理被分组到事务中的多个写入数据的操作的示图。
图6A至图6C是示出根据本发明的实施例的数据处理系统中处理被分组到事务中的多个写入数据的操作的示图。
图7A和图7B是示出根据本发明的实施例的数据处理系统中的事务信息的示例的示图。
图8是示出根据本发明的实施例的数据处理系统中发生突然断电(SPO)之后对被分组到事务中的多个写入数据进行重建的操作的示图。
图9至图17是示意性示出根据本发明的各个实施例的数据处理系统的应用示例的示图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,注意到的是,本发明可以不同的其他实施例、形式及其变型实施,且不应被解释为限于本文所阐述的实施例。相反,提供所描述的实施例使得本公开将完整和全面并将本发明充分地传达给本发明所属领域的技术人员。在整个本公开中,相同的附图标记在本发明的各个附图和实施例中表示相同的部件。
将理解的是,虽然可在本文中使用术语“第一”、“第二”、“第三”等来描述各个元件,但是这些元件不受这些术语的限制。这些术语用于将一个元件与另一个元件区分开。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,为了清楚地说明实施例的特征,比例可能已经被夸大。当元件被称为连接至或联接到另一元件时,应当理解的是前者可直接连接或联接到后者,或者经由其间的中间元件电连接或联接到后者。
将进一步理解的是,当元件被称为“连接至”或“联接到”另一元件时,它可直接在其它元件上、连接至或联接到其它元件,或者可存在一个或多个中间元件。另外,还将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
本文使用的术语仅是为了描述特定实施例的目的,并不旨在限制本发明。
如本文所使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。
将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其说明所陈述元件的存在,并不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和全部组合。
除非另有定义,否则本文使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员基于本公开所通常理解的含义相同的含义。将进一步理解的是,诸如在常用字典中定义的那些术语的术语应当被解释为具有与其在本公开和相关技术语境中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文中明确地这样定义。
在下面的描述中,为了提供对本发明的全面理解,描述了大量具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,为了避免不必要地模糊本发明,未详细地描述公知的进程结构和/或进程。
还注意的是,在一些情况下,如对于相关领域的技术人员显而易见的是,除非另有明确说明,否则结合一个实施例所描述的特征或元件可单独使用或与另一个实施例的其它特征或元件组合使用。
图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的诸如读取操作、写入操作、编程操作和擦除操作的全部操作。例如,存储器系统110的控制器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闪速存储器时,存储器接口142可生成用于存储器装置150的控制信号,并在处理器134的控制下处理待提供给存储器装置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可包括多个存储块BLOCK 0至BLOCKN-1,并且块BLOCK 0至BLOCK N-1中的每一个可包括多个页面,例如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仅作为示例示出了通过NAND闪速存储器单元配置的存储块330,但注意的是,根据实施例的存储器装置150的存储块330不限于NAND闪速存储器,并且可通过NOR闪速存储器、其中组合了至少两种存储器单元的混合闪速存储器、或其中控制器被内置在存储器芯片中的1-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结构(或垂直结构)。
图5是示出根据本发明的实施例的数据处理系统中处理被分组到事务中的多个写入数据的操作的示图。
参照图5,数据处理系统100可包括主机102和存储器系统110。数据处理系统100可具有图1所示的配置。
如上参照图1所述,存储器系统110可包括控制器130和存储器装置150。
如上参照图1所述,存储器装置150可包括多个存储块152和154。如上参照图2所述,存储块152和154中的每一个可包括多个页面,例如,2M个页面。
虽然图5示出了存储器系统110仅包括单个非易失性存储器装置150,但应注意到的是,存储器系统110中可包括多个非易失性存储器装置。而且,为便于描述,在存储块152中仅示出了五个页面P10至P15,并且在存储块154中仅示出了五个页面P20至P25。注意到的是,每一个块中的页面数量可能不同。
尽管示出图1的控制器130中包括的主机接口(I/F)132、处理器134、错误校正码(ECC)电路138、电源管理电路(PMC)140、NAND闪存控制器142和存储器144未被包括在图5的控制器130中,但仅仅是为了便于描述而将它们从图中省略。实际上,它们可被包括在控制器130中。
参照图5,主机102可生成被分组到事务中的多个写入数据WTDT<1:N+M>和用于控制将写入数据WTDT<1:N+M>存储在存储器系统中的操作的多个写入命令WCMD<1:N+M>,并且将所生成的写入数据WTDT<1:N+M>和写入命令WCMD<1:N+M>传输到存储器系统110。
存储器系统110可响应于从主机102接收的写入命令WCMD<1:N+M>将写入数据WTDT<1:N+M>存储在存储器装置150中。
根据本发明,写入数据WTDT<1:N+M>被分组到多个事务中,因此,在本发明的数据处理系统100中执行的写入操作不同于在常规的数据处理系统中执行的常规的写入操作。
根据本发明,将写入数据WTDT<1:N+M>分组到多个事务中是指将用于相同目的的多个写入数据分组到单个事务中。例如,写入数据WTDT<1:N+M>中用于相同目的的第一写入数据1st_WTDT<1:N>和第二写入数据2nd_WTDT<1:M>被分组到单个事务中。
各种数据目的的示例可以是数据修改、数据添加或数据更新。因此,在实施例中,用于数据修改的写入数据可被分组到一个事务中,用于数据添加的写入数据可被分组到另一事务中,并且用于数据更新目的的写入数据可被分组到又一事务中。总之,根据写入数据的目的,写入数据可被分组到多个事务中。在另一实施例中,用于修改数据库目的的数据可被分组到一个事务组中,并且用于添加到数据库目的的数据可被分组到另一事务组中。
当主机102将分组到一个事务中的写入数据,例如第一写入数据1st_WTDT<1:N>或第二写入数据2nd_WTDT<1:M>,传输到存储器系统110时,分组到一个事务中的所有数据应当从主机102传输并存储在存储器系统110中,使得事务的数据可被认定为处于有效提交状态。如果事务的数据中的至少一个未被传输和存储,则事务的数据都不能被置于有效提交状态。而且,根据从主机102接收的中止请求,事务的所有数据可被置于无效中止状态。
也就是说,分组到一个事务中的写入数据,例如第一写入数据1st_WTDT<1:N>或第二写入数据2nd_WTDT<1:M>,仅当它们全部被传输并存储以便全部处于有效提交状态时才是有效的。
例如,对于被分组到第一事务中的第一写入数据1st_WTDT<1:N>在存储器系统110中被置于有效提交状态,所有的“N”个第一写入数据1st_WTDT<1:N>应当从主机102传输并存储到存储器系统110中,并且同时不存在从主机102接收到的中止请求。即使当“N”个第一写入数据1st_WTDT<1:N>中的一个未被传输并存储时,或者当在完成所有第一写入数据1st_WTDT<1:N>的传输和存储之前接收到来自主机102的中止请求时,则所有第一写入数据1st_WTDT<1:N>在存储器系统110中被置于中止状态。
所描述的将分组到事务中的写入数据WTDT<1:N+M>划分和管理到提交状态或中止状态的操作在本文中通常被称为用于保护事务的原子性的操作。
当写入数据WTDT<1:N+M>从主机102传输到存储器系统110时,被分组到多个事务中的写入数据,例如第一写入数据1st_WTDT<1:N>或第二写入数据2nd_WTDT<1:M>,可以随机混合状态传输到存储器系统110。例如,当分组到第一事务中的第一写入数据1st_WTDT<1:N>和分组到第二事务中的第二写入数据2nd_WTDT<1:M>从主机102传输到存储器系统110时,第一写入数据1st_WTDT<1:N>和第二写入数据2nd_WTDT<1:M>可通过识别事务ID来区分,并且可以随机混合状态作为写入数据WTDT<1:N+M>传输。
在实施例中,写入数据WTDT<1:N+M>可被分组到从主机102生成的多个事务中,然后可根据图6A所示的示例性方法,以随机混合状态传输到存储器系统110。
参照图6A,主机102可生成被分组到第一事务中的第一写入数据1st_WTDT<1:2>和包括第一事务ID TID1的第一写入命令1st_WCMD<1:2>,第一写入命令1st_WCMD<1:2>用以控制将第一写入数据1st_WTDT<1:2>存储在存储器系统110中的操作,并且主机102可将第一写入数据1st_WTDT<1:2>和第一写入命令1st_WCMD<1:2>传输到存储器系统110。
而且,主机102可生成被分组到第二事务中的第二写入数据2nd_WTDT<1:3>和包括第二事务ID TID2的第二写入命令2nd_WCMD<1:3>,第二写入命令2nd_WCMD<1:3>用以控制将第二写入数据2nd_WTDT<1:3>存储在存储器系统110中的操作,并且主机102可将第二写入数据2nd_WTDT<1:3>和第二写入命令2nd_WCMD<1:3>传输到存储器系统110。
此时,第一写入命令1st_WCMD<1:2>中的每一个和第一写入数据1st_WTDT<1:2>中的每一个可在彼此不连续的时间点T1和时间点T3进行传输。第二写入命令2nd_WCMD<1:3>中的每一个和第二写入数据2nd_WTDT<1:3>中的每一个可在彼此不连续的时间点T2、时间点T5和时间点T6进行传输。
以这种方式,第一写入命令1st_WCMD<1:2>和第一写入数据1st_WTDT<1:2>以及第二写入命令WCMD<1:3>和第二写入数据2nd_WTDT<1:3>可以随机混合状态从主机102传输到存储器系统110。
根据检查在时间点T1和T3从主机102传输的写入命令WCMD<1:2+3>包括第一事务ID TID1的结果,存储器系统110可将在时间点T1和T3从主机102传输的写入命令WCMD<1:2+3>识别为第一写入命令1st_WCMD<1:2>,并且将在时间点T1和T3从主机102传输的写入数据WTDT<1:2+3>识别为被分组到第一事务中的第一写入数据1st_WTDT<1:2>。
因此,存储器系统110可响应于第一写入命令1st_WCMD<1:2>而将第一写入数据1st_WTDT<1:2>存储在存储器装置150中。存储器系统110可对第一映射信息TID1_MAP进行管理,第一映射信息TID1_MAP用于表示在时间点T1和T3存储在存储器装置150中的第一写入数据1st_WTDT<1:2>被包括在第一事务组中。也就是说,存储器系统110可使用以下方式:将表示第一写入数据1st_WTDT<1:2>被分组到第一事务中的信息包括在管理第一写入数据1st_WTDT<1:2>的物理地址和逻辑地址之间的映射关系的第一映射信息TID1_MAP中。第一映射信息TID1_MAP可在识别出第一写入数据1st_WTDT<1:2>处于提交状态之前在存储器系统110中具有易失性特征的存储器144中进行管理,然后可在识别出第一写入数据1st_WTDT<1:2>处于提交状态时存储在具有非易失性特征的存储器装置150中。
在这种情况下,主机102可识别出第一写入数据1st_WTDT<1:2>包括两个数据,但存储器系统110可能不会如此。因此,在第一写入数据1st_WTDT<1:2>从主机102传输到存储器系统110之后,主机102可生成用于表示第一写入数据1st_WTDT<1:2>传输完成的第一提交命令1st_COMMIT,并将第一提交命令1st_COMMIT传输到存储器系统110。也就是说,如图所示,主机102可在完成第一写入数据1st_WTDT<1:2>的传输的时间点T3之后的时间点T4生成第一提交命令1st_COMMIT并将其传输到存储器系统110。因此,存储器系统110可检查到第一写入数据1st_WTDT<1:2>处于提交状态,并将在存储器144中进行管理的第一映射信息TID1_MAP存储在存储器装置150中。
类似地,根据检查在时间点T2、T5和T6从主机102传输的写入命令WCMD<1:2+3>包括第二事务ID TID2的结果,存储器系统110可将在时间点T2、T5和T6从主机102传输的写入命令WCMD<1:2+3>识别为第二写入命令2nd_WCMD<1:3>,并且将在时间点T2、T5和T6从主机102传输的写入数据WTDT<1:2+3>识别为被分组到第二事务中的第二写入数据2nd_WTDT<1:3>。
因此,存储器系统110可响应于第二写入命令2nd_WCMD<1:3>而将第二写入数据2nd_WTDT<1:3>存储在存储器装置150中。存储器系统110可对第二映射信息TID2_MAP进行管理,第二映射信息TID2_MAP用于表示在时间点T2、T5和T6存储在存储器装置150中的第二写入数据2nd_WTDT<1:3>被包括在第二事务组中。也就是所,存储器系统110可使用以下方式:将表示第二写入数据2nd_WTDT<1:3>被分组到第二事务中的信息包括在管理第二写入数据2nd_WTDT<1:3>的物理地址和逻辑地址之间的映射关系的第二映射信息TID2_MAP中。第二映射信息TID2_MAP可在识别出第二写入数据2nd_WTDT<1:3>处于提交状态之前在存储器系统110的存储器144中进行管理,然后可在识别出第二写入数据2nd_WTDT<1:3>处于提交状态时存储在具有非易失性特征的存储器装置150中。
在这种情况下,主机102可识别出第二写入数据2nd_WTDT<1:3>包括三个数据,但存储器系统110可能不会如此。因此,在第二写入数据2nd_WTDT<1:3>从主机102传输到存储器系统110之后,主机102可生成用于表示第二写入数据2nd_WTDT<1:3>传输完成的第二提交命令2nd_COMMIT,并将第二提交命令2nd_COMMIT传输到存储器系统110。也就是说,如图所示,主机102可在完成第二写入数据2nd_WTDT<1:3>的传输的时间点T6之后的时间点T7生成第二提交命令2nd_COMMIT并将其传输到存储器系统110。因此,存储器系统110可检查到第二写入数据2nd_WTDT<1:3>处于提交状态,并将在存储器144中进行管理的第二映射信息TID2_MAP存储在存储器装置150中。
在上述描述中例示了检查到第一写入数据1st_WTDT<1:2>和第二写入数据2nd_WTDT<1:3>处于提交状态的情况。当根据主机102的中止请求,第一写入数据1st_WTDT<1:2>或第二写入数据2nd_WTDT<1:3>的状态转变为中止状态时,无论在任何时间点,中止命令(未示出)可从主机102传输到存储器系统110。例如,当第一写入数据1st_WTDT<1:2>的状态转变为中止状态时,主机102可在时间点T3将中止命令(未示出)而非第一写入命令1st_WCMD<2>和第一写入数据1st_WTDT<2>传输到存储器系统110。又例如,当第一写入数据1st_WTDT<1:2>的状态转变为中止状态时,主机102可在时间点T4将中止命令(未示出)而非第一提交命令1st_COMMIT传输到存储器系统110。
如上参照图6A所述,可以看出的是,主机102在生成被分组到多个事务中的写入数据WTDT<1:2+3>并将其传输到存储器系统110的同时,生成并传输提交命令1st_COMMIT和2nd_COMMIT以保护事务的原子性。而且,存储器系统110可在提交命令1st_COMMIT和2nd_COMMIT从主机102传输之前,仅在存储器144中对被分组到事务中的写入数据WTDT<1:2+3>的映射信息TID1_MAP和TID2_MAP进行管理,然后可在提交命令1st_COMMIT和2nd_COMMIT从主机102传输之后,将映射信息TID1_MAP和TID2_MAP存储在存储器装置150中,从而支持保护事务的原子性的操作。
然而,在图6A所示的操作中,主机102面临着为了支持保护事务的原子性的操作而生成单独的提交命令1st_COMMIT和2nd_COMMIT的负担,并且存储器系统110也面临着每当检查到事务的提交时将映射信息TID1_MAP和TID2_MAP存储在存储器装置150中的负担。
图5、图6B和图6C中示出的另一种方法可应用于根据本发明的实施例的数据处理系统100。该方法解决了参照图5和图6A描述的方法的上述限制。
再次参照图5,主机102可生成被分组到多个事务中的写入数据WTDT<1:N+M>和包括写入数据WTDT<1:N+M>的事务信息TRINFO<1:N+M>的写入命令WCMD<1:N+M>。例如,在操作1021中,主机102可生成对应于第一事务的第一写入数据1st_WTDT<1:N>和用于控制将第一写入数据1st_WTDT<1:N>存储在存储器系统110中的操作的第一写入命令1st_WCMD<1:N>。在这种情况下,在操作1023中,主机102可分别将第一写入数据1st_WTDT<1:N>的事务信息TRINFO<1:N>包括在第一写入命令1st_WCMD<1:N>中。而且,在操作1022中,主机102可生成对应于第二事务的第二写入数据2nd_WTDT<1:M>和用于控制将第二写入数据2nd_WTDT<1:M>存储在存储器系统110的操作的第二写入命令2nd_WCMD<1:M>。在这种情况下,在操作1024中,主机102可分别将第二写入数据2nd_WTDT<1:M>的事务信息TRINFO<N+1:N+M>包括在第二写入命令2nd_WCMD<1:M>中。
在各个实施例中,如图7A所示,从主机102生成的写入数据WTDT<1:N+M>的事务信息TRINFO<1:N+M>可包括事务ID信息TXID、提交信息Commit、中止信息Abort。
在一些实施例中,事务ID信息可表示写入数据WTDT<1:N+M>中的每一个被分组到哪个事务中。例如,可假设主机102生成被分组到第一事务中的第一写入数据1st_WTDT<1:N>和被分组到第二事务中的第二写入数据2nd_WTDT<1:M>。在该状态下,对应于第一写入数据1st_WTDT<1:N>的事务信息TRINFO<1:N>可包括作为事务ID信息的第一事务ID TID1,第一事务ID TID1表示第一写入数据1st_WTDT<1:N>被分组到第一事务中。类似地,对应于第二写入数据2nd_WTDT<1:M>的事务信息TRINFO<N+1:N+M>可包括作为事务ID信息的第二事务ID TID2,第二事务ID TID2表示第二写入数据2nd_WTDT<1:M>被分组到第二事务中。
在一些实施例中,提交信息和中止信息可分别表示所有写入数据WTDT<1:N+M>是被置于有效提交状态还是被置于无效中止状态。
例如,如图7A所示,当提交信息被包括在作为第一写入数据1st_WTDT<1:N>中的最后数据的第N第一写入数据1st_WTDT<N>中时,所有第一写入数据1st_WTDT<1:N>可被置于有效提交状态。相反地,当中止信息被包括在第N第一写入数据1st_WTDT<N>中时,所有第一写入数据1st_WTDT<1:N>可被置于无效中止状态。
类似地,当提交信息被包括在作为第二写入数据2nd_WTDT<1:M>中的最后数据的第M第二写入数据2nd_WTDT<M>中时,所有第二写入数据2nd_WTDT<1:M>可被置于有效提交状态。相反地,当中止信息被包括在第M第二写入数据2nd_WTDT<M>中时,所有第二写入数据2nd_WTDT<1:M>可被置于无效中止状态。
因为提交信息和中止信息中的每一个将写入数据1st_WTDT<1:N>或2nd_WTDT<1:M>各自确定为提交状态和中止状态,所以提交信息和中止信息可分别被包括在写入数据1st_WTDT<1:N>或2nd_WTDT<1:M>中的最后数据1st_WTDT<N>或2nd_WTDT<M>中。
因此,如图6B所示,对应于第一至第(N-1)第一写入数据1st_WTDT<1:N-1>的事务信息TRINFO<1:N-1>可包括停用的提交信息CM_NO和停用的中止信息AB_NO。对应于第N第一写入数据1st_WTDT<N>的事务信息TRINFO<N>可包括激活的提交信息CM_YES和停用的中止信息AB_NO或停用的提交信息CM_NO和激活的中止信息AB_YES。
类似地,如图6B所示,对应于第一至第(M-1)第二写入数据2nd_WTDT<1:M-1>的事务信息TRINFO<N+1:N+M-1>可包括停用的提交信息CM_NO和停用的中止信息AB_NO。对应于第M第二写入数据2nd_WTDT<M>的事务信息TRINFO<N+M>可包括激活的提交信息CM_YES和停用的中止信息AB_NO。可选地,对应于第M第二写入数据2nd_WTDT<M>的事务信息TRINFO<N+M>可包括停用的提交信息CM_NO和激活的中止信息AB_YES。
此处,事务信息TRINFO<1:N+M>的示例可参考图7A所示的事务信息TRINFO<1:N+M>的格式。例如,当假设事务信息TRINFO<1:N+M>中的每一个具有1个字节时,可分配5位(第0位至第4位)作为事务ID信息,可分配1位(第5位)作为提交信息,可分配1位(第6位)作为中止信息,并且可分配剩余的1位(第7位)作为保留信息。
在各个实施例中,如图7B所示,从主机102生成的写入数据WTDT<1:N+M>的事务信息TRINFO<1:N+M>可包括事务ID信息TX ID、提交信息Commit、中止信息Abort以及开始信息Start。
在一些实施例中,事务ID信息可表示写入数据WTDT<1:N+M>中的每一个被分组到哪个事务中。例如,可假设主机102生成被分组到第一事务中的第一写入数据1st_WTDT<1:N>和被分组到第二事务中的第二写入数据2nd_WTDT<1:M>。在该阶段中,对应于第一写入数据1st_WTDT<1:N>的事务信息TRINFO<1:N>可包括作为事务ID信息的第一事务ID TID1,第一事务ID TID1表示第一写入数据1st_WTDT<1:N>被分组到第一事务中。类似地,对应于第二写入数据2nd_WTDT<1:M>的事务信息TRINFO<N+1:N+M>可包括作为事务ID信息的第二事务ID TID2,第二事务ID TID2表示第二写入数据2nd_WTDT<1:M>被分组到第二事务中。
在一些实施例中,提交信息和中止信息可分别表示所有写入数据WTDT<1:N+M>是被置于有效提交状态还是被置于无效中止状态。
例如,如图7B所示,当提交信息被包括在作为第一写入数据1st_WTDT<1:N>中的最后数据的第N第一写入数据1st_WTDT<N>中时,所有第一写入数据1st_WTDT<1:N>可被置于有效提交状态。相反地,当中止信息被包括在第N第一写入数据1st_WTDT<N>中时,所有第一写入数据1st_WTDT<1:N>可被置于无效中止状态。
类似地,当提交信息被包括在作为第二写入数据2nd_WTDT<1:M>中的最后数据的第M第二写入数据2nd_WTDT<M>中时,所有第二写入数据2nd_WTDT<1:M>可被置于有效提交状态。相反地,当中止信息被包括在第M第二写入数据2nd_WTDT<M>中时,所有第二写入数据2nd_WTDT<1:M>可被置于无效中止状态。
因为提交信息和中止信息中的每一个将写入数据1st_WTDT<1:N>或2nd_WTDT<1:M>各自确定为提交状态和中止状态,所以提交信息和中止信息可分别被包括在写入数据1st_WTDT<1:N>或2nd_WTDT<1:M>中的最后数据1st_WTDT<N>或2nd_WTDT<M>中。
在一些实施例中,开始信息可表示写入数据1st_WTDT<1:N>或2nd_WTDT<1:M>的开始数据1st_WTDT<1>或2nd_WTDT<1>。
因此,如图6C所示,对应于第一写入数据1st_WTDT<1>的事务信息TRINFO<1>可包括激活的开始信息ST_YES、停用的提交信息CM_NO和停用的中止信息AB_NO,并且对应于第二至第(N-1)第一写入数据1st_WTDT<2:N-1>的事务信息TRINFO<2:N-1>可包括停用的开始信息ST_NO、停用的提交信息CM_NO和停用的中止信息AB_NO。对应于第N第一写入数据1st_WTDT<N>的事务信息TRINFO<N>可包括停用的开始信息ST_NO、激活的提交信息CM_YES和停用的中止信息AB_NO,或停用的开始信息ST_NO、停用的提交信息CM_NO和激活的中止信息CM_YES。
类似地,如图6C所示,对应于第二写入数据2nd_WTDT<1>的事务信息TRINFO<N+1>可包括激活的开始信息ST_YES、停用的提交信息CM_NO和停用的中止信息AB_NO。对应于第二至第(M-1)第二写入数据2nd_WTDT<2:M-1>的事务信息TRINFO<N+2:N+M-1>可包括停用的开始信息ST_NO、停用的提交信息CM_NO和停用的中止信息AB_NO。对应于第M第二写入数据2nd_WTDT<M>的事务信息TRINFO<N+M>可包括停用的开始信息ST_NO、激活的提交信息CM_YES和停用的中止信息AB_NO。可选地,对应于第M第二写入数据2nd_WTDT<M>的事务信息TRINFO<N+M>可包括停用的开始信息ST_NO、停用的提交信息CM_NO和激活的中止信息AB_YES。
此处,事务信息TRINFO<1:N+M>的示例可参考图7B所示的事务信息TRINFO<1:N+M>的格式。例如,当假设事务信息TRINFO<1:N+M>中的每一个具有1个字节时,可分配5位(第0位至第4位)作为事务ID信息,可分配1位(第5位)作为提交信息,可分配1位(第6位)作为中止信息,并且可分配剩余的1位(第7位)作为开始信息。
再次参照图5,存储器系统110可包括控制器130和存储器装置150,控制器130用于响应于从主机102接收的写入命令WCMD<1:N+M>来控制将写入数据WTDT<1:N+M>存储在存储器装置150中的操作,存储器装置150用于根据控制器130的控制来存储写入数据WTDT<1:N+M>。
此处,存储器装置150可包括存储块152和154,存储块152和154可分别包括页面P1<0:5>和P2<0:5>。页面P1<0:5>和P2<0:5>中的每一个可包括正常区域N1、N2、N3和N4以及备用区域S1、S2、S3和S4。
控制器130可响应于从主机102接收的写入命令WCMD<1:N+M>将写入数据WTDT<1:N+M>存储在存储器装置150的正常区域N1、N2、N3和N4中。而且,控制器130可将包括在写入命令WCMD<1:N+M>中的事务信息TRINFO<1:N+M>存储在对应于正常区域N1、N2、N3和N4的备用区域S1、S2、S3和S4中。
具体地,在操作1301中,控制器130可检查从主机102接收的写入命令WCMD<1:N+M>的事务信息TRINFO<1:N+M>。
在操作1302中,根据操作1301的检查结果,写入命令WCMD<1:N>可被描述为第一写入命令1st_WCMD<1:N>,其中写入命令WCMD<1:N>包括作为事务信息TRINFO<1:N+M>中的事务ID信息的第一事务ID TID1。此外,在操作1302中,根据操作1301的检查结果,写入命令WCMD<N+1:N+M>可被描述为第二写入命令2nd_WCMD<1:M>,其中写入命令WCMD<N+1:N+M>包括作为事务信息TRINFO<1:N+M>中的事务ID信息的第二事务ID TID2。
在操作1303中,根据操作1302的结果,对应于第一写入命令1st_WCMD<1:N>的写入数据WTDT<1:N>可被描述为第一写入数据1st_WTDT<1:N>。此外,在操作1303中,根据操作1302的结果,对应于第二写入命令2nd_WCMD<1:M>的写入数据WTDT<N+1:N+M>可被描述为第二写入数据2nd_WTDT<1:M>。
在操作1302和操作1303之后,在操作1304中,当响应于第一写入命令1st_WCMD<1:N>,第一写入数据1st_WTDT<1:N>被存储在存储器装置150的第一正常区域中时,包括在第一写入命令1st_WCMD<1:N>中的事务信息TRINFO<1:N>可被加载并存储在对应于第一正常区域的第一备用区域中。此外,在操作1302和操作1303之后,在操作1305中,当响应于第二写入命令2nd_WCMD<1:M>,第二写入数据2nd_WTDT<1:M>被存储在存储器装置150的第二正常区域中时,包括在第二写入命令2nd_WCMD<1:M>中的事务信息TRINFO<N+1:N+M>可被加载并存储在对应于第二正常区域的第二备用区域中。
存储第一写入数据1st_WTDT<1:N>的第一正常区域、存储对应于第一写入数据1st_WTDT<1:N>的事务信息TRINFO<1:N>的第一备用区域、存储第二写入数据2nd_WTDT<1:M>的第二正常区域和存储对应于第二写入数据2nd_WTDT<1:M>的事务信息TRINFO<N+1:N+M>的第二备用区域可根据各个实施例而定义如下。
根据第一实施例,存储器装置150中包括的页面P1<0:5>和P2<0:5>中的任何一个页面的第一数据区段N1,例如第一存储块152的第一页面P10的第一数据区段N1,可被设置成第一正常区域。与第一页面P10的第一数据区段N1相对应的第一备用区段S1可被设置成第一备用区域。第一页面P10的第二数据区段N2可被设置成第二正常区域。与第一页面P10的第二数据区段N2相对应的第二备用区段S2可被设置成第二备用区域。
根据另一第一实施例,存储器装置150中包括的页面P1<0:5>和P2<0:5>中的任何一个页面的第一数据区段N1和第二数据区段N2,例如第一存储块152的第一页面P10的第一数据区段N1和第二数据区段N2,可被设置成第一正常区域。与第一页面P10的第一数据区段N1和第二数据区段N2相对应的第一备用区段S1和第二备用区段S2可被设置成第一备用区域。第一页面P10的第三数据区段N3和第四数据区段N4可被设置成第二正常区域。与第一页面P10的第三数据区段N3和第四数据区段N4相对应的第三备用区段S3和第四备用区段S4可被设置成第二备用区域。
也就是说,根据第一实施例,第一正常区域、第二正常区域、第一备用区域和第二备用区域全都可被包括在存储器装置150中包括的页面P1<0:5>和P2<0:5>中的任何一个页面中。
根据第二实施例,存储器装置150中包括的页面P1<0:5>和P2<0:5>中的任何一个页面的数据区段N1、N2、N3和N4,例如第一存储块152的第一页面P10的数据区段N1、N2、N3和N4,可被设置成第一正常区域。第一存储块152的第一页面P10的备用区段S1、S2、S3和S4可被设置成第一备用区域。第一存储块152的第二页面P11的数据区段N1、N2、N3和N4可被设置成第二正常区域。第一存储块152的第二页面P11的备用区段S1、S2、S3和S4可被设置成第二备用区域。
根据另一第二实施例,存储器装置150中包括的页面P1<0:5>和P2<0:5>中的任何一个页面的数据区段N1、N2、N3和N4,例如第一存储块152的第一页面P10的数据区段N1、N2、N3和N4,可被设置成第一正常区域。第一存储块152的第一页面P10的备用区段S1、S2、S3和S4可被设置成第一备用区域。第二存储块154的第一页面P20的数据区段N1、N2、N3和N4可被设置成第二正常区域。第二存储块154的第一页面P20的备用区段S1、S2、S3和S4可被设置成第二备用区域。
也就是说,根据第二实施例,当第一正常区域和第一备用区域被包括在存储器装置150中包括的页面P1<0:5>和P2<0:5>中的任何一个页面中时,第二正常区域和第二备用区域可被包括在另一个页面中。
根据第三实施例,存储器装置150中包括的页面P1<0:5>和P2<0:5>中的两个或更多个页面的数据区段N1、N2、N3和N4,例如第一存储块152的第一页面P10和第二页面P11的数据区段N1、N2、N3和N4,可被设置成第一正常区域。第一存储块152的第一页面P10和第二页面P11的备用区段S1、S2、S3和S4可被设置成第一备用区域。第一存储块152的第三页面P12和第四页面P13的数据区段N1、N2、N3和N4可被设置成第二正常区域。第一存储块152的第三页面P12和第四页面P13的备用区段S1、S2、S3和S4可被设置成第二备用区域。
根据另一第三实施例,存储器装置150中包括的页面P1<0:5>和P2<0:5>中的两个或更多个页面的数据区段N1、N2、N3和N4,例如第一存储块152的第一页面P10和第二页面P11的数据区段N1、N2、N3和N4,可被设置成第一正常区域。第一存储块152的第一页面P10和第二页面P11的备用区段S1、S2、S3和S4可被设置成第一备用区域。第二存储块154的第一页面P20和第二页面P21的数据区段N1、N2、N3和N4可被设置成第二正常区域。第二存储块154的第一页面P20和第二页面P21的备用区段S1、S2、S3和S4可被设置成第二备用区域。
也就是说,根据第三实施例,当第一正常区域和第一备用区域被包括在存储器装置150中包括的页面P1<0:5>和P2<0:5>中的两个或更多个页面中时,第二正常区域和第二备用区域可被包括在另外的两个或更多个页面中。
在第一至第三实施例中,描述了第一正常区域和第二正常区域始终具有相同的大小,并且因此第一备用区域和第二备用区域始终具有相同的大小。然而,这仅仅是示例。例如,第一实施例可应用于第一正常区域和第一备用区域,第二实施例可应用于第二正常区域和第二备用区域。
再次参照图6B和图6C,主机102可生成被分组到第一事务中的第一写入数据1st_WTDT<1:2>和第一写入命令1st_WCMD<1:2>,其中第一写入命令1st_WCMD<1:2>包括包含第一事务ID TID1的事务信息TRINFO<1:2>,从而控制将第一写入数据1st_WTDT<1:2>存储在存储器系统110中的操作,并且主机102可将第一写入数据1st_WTDT<1:2>和第一写入命令1st_WCMD<1:2>传输到存储器系统110。
另外,主机102可生成被分组到第二事务中的第二写入数据2nd_WTDT<1:3>和第二写入命令2nd_WCMD<1:3>,其中第二写入命令2nd_WCMD<1:3>包括包含第二事务ID TID2的事务信息TRINFO<3:5>,从而控制将第二写入数据2nd_WTDT<1:3>存储在存储器系统110中的操作,并且主机102可将第二写入数据2nd_WTDT<1:3>和第二写入命令2nd_WCMD<1:3>传输到存储器系统110。
此时,第一写入命令1st_WCMD<1:2>和第一写入数据1st_WTDT<1:2>可在彼此不连续的时间点T1和时间点T3进行传输。第二写入命令2nd_WCMD<1:3>和第二写入数据2nd_WTDT<1:3>可在彼此不连续的时间点T2、时间点T4和时间点T5进行传输。
以这种方式,可以看出,第一写入命令1st_WCMD<1:2>和第一写入数据1st_WTDT<1:2>以及第二写入命令2nd_WCMD<1:3>和第二写入数据2nd_WTDT<1:3>以随机混合状态从主机102传输到存储器系统110。
根据检查在时间点T1和T3从主机102接收的写入命令WCMD<1:2+3>中包括的事务信息TRINFO<1:2+3>包括第一事务IDTID1的结果,存储器系统110可将在时间点T1和T3从主机102接收的写入命令WCMD<1:2+3>识别为第一写入命令1st_WCMD<1:2>,并且将在时间点T1和T3从主机102接收的写入数据WTDT<1:2+3>识别为被分组到第一事务中的第一写入数据1st_WTDT<1:2>。
因此,存储器系统110可响应于第一写入命令1st_WCMD<1:2>而将第一写入数据1st_WTDT<1:2>存储在包括在存储器装置150中的第一正常区域中,并且可加载包括在第一写入命令1st_WCMD<1:2>中的与第一写入数据1st_WTDT<1:2>相对应的事务信息TRINFO<1:2>,并将事务信息TRINFO<1:2>存储在包括在存储器装置150中的第一备用区域中。也就是说,存储器系统110可将第一写入数据1st_WTDT<1:2>存储在第一正常区域中,并且然后将第一写入数据1st_WTDT<1:2>的事务信息TRINFO<1:2>存储在对应于第一正常区域的第一备用区域中。
另外,根据检查在时间点T2、T4和T5从主机102接收的写入命令WCMD<1:2+3>中包括的事务信息TRINFO<1:2+3>包括第二个事务IDTID2的结果,存储器系统110可将在时间点T2、T4和T5从主机102接收的写入命令WCMD<1:2+3>识别为第二写入命令2nd_WCMD<1:3>,并且将在时间点T2、T4和T5从主机102接收的写入数据WTDT<1:2+3>识别为被分组到第二事务中的第二写入数据2nd_WTDT<1:3>。
因此,存储器系统110可响应于第二写入命令2nd_WCMD<1:3>而将第二写入数据2nd_WTDT<1:3>存储在包括在存储器装置150中的第二正常区域中。另外,存储器系统110可加载包括在第二写入命令2nd_WCMD<1:3>中的与第二写入数据2nd_WTDT<1:3>相对应的事务信息TRINFO<3:5>,并且将事务信息TRINFO<3:5>存储在包括在存储器装置150中的第二备用区域中。也就是说,存储器系统110可将第二写入数据2nd_WTDT<1:3>存储在第二正常区域中,并且然后将第二写入数据2nd_WTDT<1:3>的事务信息TRINFO<3:5>存储在对应于第二正常区域的第二备用区域中。
此处,再次参照图6B,可以看出,不仅作为事务ID信息的第一事务ID TID1被包括在第一写入数据1st_WTDT<1:2>的事务信息TRINFO<1:2>中,而且提交信息CM和中止信息AB也被包括在第一写入数据1st_WTDT<1:2>的事务信息TRINFO<1:2>中。
因此,通过检查存储在第一备用区域中的第一写入数据1st_WTDT<1:2>的事务信息TRINFO<1:2>的操作,可以看出存储在第一正常区域中的第一写入数据1st_WTDT<1:2>是处于提交状态还是处于中止状态。
例如,可以看出,第一事务ID TID1、停用的提交信息CM_NO和停用的中止信息AB_NO被包括在于时间点T1从主机102生成并传输的、存储在存储器装置150的第一备用区域中的第一写入数据1st_WTDT<1>的事务信息TRINFO<1>中。而且,可以看出,第一事务ID TID1、激活的提交信息CM_YES和停用的中止信息AB_NO被包括在于时间点T3从主机102生成并传输的、存储在存储器装置150的第一备用区域中的第一写入数据1st_WTDT<2>的事务信息TRINFO<2>中,。
因此,通过检查存储在存储器装置150的第一备用区域中的第一写入数据1st_WTDT<1:2>的事务信息TRINFO<1:2>的操作,存储在第一正常区域中的数据可被识别为第一写入数据1st_WTDT<1:2>,并且同时,可以看出,第一写入数据1st_WTDT<1:2>被置于提交状态。
综上所述,因为主机102不仅将作为第一事务ID TID1的事务ID信息包括在第一写入数据1st_WTDT<1:2>的事务信息TRINFO<1:2>中,而且还将提交信息和中止信息包括在第一写入数据1st_WTDT<1:2>的事务信息TRINFO<1:2>中,并且存储器系统110将第一写入数据1st_WTDT<1:2>的事务信息TRINFO<1:2>存储在第一备用区域中,所以可检查到存储在第一正常区域中的数据是第一写入数据1st_WTDT<1:2>。同时,仅通过检查第一备用区域的操作,可确定第一写入数据1st_WTDT<1:2>是处于提交状态还是处于中止状态。
可以看出,不仅作为事务ID信息的第二事务ID TID2被包括在第二写入数据2nd_WTDT<1:3>的事务信息TRINFO<3:5>中,而且提交信息和中止信息也被包括在第二写入数据2nd_WTDT<1:3>的事务信息TRINFO<3:5>中。
因此,通过检查存储在第二备用区域中的第二写入数据2nd_WTDT<1:3>的事务信息TRINFO<3:5>的操作,可以看出存储在第二正常区域中的第二写入数据2nd_WTDT<1:3>是处于提交状态还是处于中止状态。
例如,可以看出,第二事务ID TID2、停用的提交信息CM_NO和停用的中止信息AB_NO被包括在于时间点T2从主机102生成并被接收的、存储在存储器装置150的第二备用区域中的第二写入数据2nd_WTDT<1>的事务信息TRINFO<3>中。而且,可以看出,第二事务IDTID2、停用的提交信息CM_NO和停用的中止信息AB_NO被包括在于时间点T4从主机102生成并被接收的、存储在存储器装置150的第二备用区域中的第二写入数据2nd_WTDT<2>的事务信息TRINFO<4>中。而且,可以看出,第二事务ID TID2、激活的提交信息CM_YES和停用的中止信息AB_NO被包括在于时间点T5从主机102生成并被接收的、存储在存储器装置150的第二备用区域中的第二写入数据2nd_WTDT<3>的事务信息TRINFO<5>中。
因此,通过检查存储在存储器装置150的第二备用区域中的第二写入数据2nd_WTDT<1:3>的事务信息TRINFO<3:5>的操作,存储在第二正常区域中的数据可被识别为第二写入数据2nd_WTDT<1:3>。同时,可以看出第二写入数据2nd_WTDT<1:3>被置于提交状态。
综上所述,因为主机102不仅将作为第二事务ID TID2的事务ID信息包括在第二写入数据2nd_WTDT<1:3>的事务信息TRINFO<3:5>中,而且还将提交信息和中止信息包括在第二写入数据2nd_WTDT<1:3>的事务信息TRINFO<3:5>中,并且存储器系统110将第二写入数据2nd_WTDT<1:3>的事务信息TRINFO<3:5>存储在第二备用区域中,所以可检查到存储在第二正常区域中的数据是第二写入数据2nd_WTDT<1:3>。同时,仅通过检查第二备用区域的操作,可确定第二写入数据2nd_WTDT<1:3>是处于提交状态还是处于中止状态。
因为参照图6B描述的存储器系统110可通过检查第一备用区域的操作来确定存储在第一正常区域中的第一写入数据1st_WTDT<1:2>是否处于提交状态,并且通过检查第二备用区域的操作来确定存储在第二正常区域中的第二写入数据2nd_WTDT<1:3>是否处于提交状态,所以如之前参照图6A所述,主机102可无需生成用于表示第一写入数据1st_WTDT<1:2>传输完成的第一提交命令1st_COMMIT和用于表示第二写入数据2nd_WTDT<1:3>传输完成的第二提交命令2nd_COMMIT并将其传输到存储器系统110。
再次参照图6C,可以看出,不仅作为事务ID信息的第一事务IDTID1被包括在第一写入数据1st_WTDT<1:2>的事务信息TRINFO<1:2>中,而且开始信息ST、提交信息CM和中止信息AB也被包括在第一写入数据1st_WTDT<1:2>的事务信息TRINFO<1:2>中。
因此,通过检查存储在第一备用区域中的第一写入数据1st_WTDT<1:2>的事务信息TRINFO<1:2>的操作,可以看出事务的开始数据是否被包括在存储在第一正常区域中的第一写入数据1st_WTDT<1:2>中,同时可以看出第一写入数据1st_WTDT<1:2>是处于提交状态还是中止状态。
例如,可以看出,第一事务ID TID1、激活的开始信息ST_YES、停用的提交信息CM_NO和停用的中止信息AB_NO被包括在于时间点T1从主机102生成并被接收的、存储在存储器装置150的第一备用区域中的第一写入数据1st_WTDT<1>的事务信息TRINFO<1>中。此外,可以看出,第一事务ID TID1、停用的开始信息ST_NO、激活的提交信息CM_YES和停用的中止信息AB_NO被包括在于时间点T3从主机102生成并被接收的、存储在存储器装置150的第一备用区域中的第一写入数据1st_WTDT<2>的事务信息TRINFO<2>中。
因此,通过检查存储在存储器装置150的第一备用区域中的第一写入数据1st_WTDT<1:2>的事务信息TRINFO<1:2>的操作,存储在第一正常区域中的数据可被识别为第一写入数据1st_WTDT<1:2>。同时,可以看出,第一写入数据1st_WTDT<1>是开始数据,并且第一写入数据1st_WTDT<1:2>被置于提交状态。
综上所述,主机102不仅可将作为第一事务ID TID1的事务ID信息包括在第一写入数据1st_WTDT<1:2>的事务信息TRINFO<1:2>中,而且还将开始信息ST、提交信息CM和中止信息AB包括在第一写入数据1st_WTDT<1:2>的事务信息TRINFO<1:2>中,并且存储器系统110可将第一写入数据1st_WTDT<1:2>的事务信息TRINFO<1:2>存储在第一备用区域中。因此,仅通过检查第一备用区域的操作,可检查到存储在第一正常区域中的数据是第一写入数据1st_WTDT<1:2>,并且可确定事务的开始数据是否被包括在第一写入数据1st_WTDT<1:2>中,并且同时可确定第一写入数据1st_WTDT<1:2>是处于提交状态还是处于中止状态。
检查开始数据是否被包括在第一写入数据1st_WTDT<1:2>中的操作的优点在于,可清楚地区分第一事务的开始时刻。也就是说,如果当多个事务以混合状态从主机102向存储器系统110传输时,每一个事务的开始数据都被清楚地区分,则区分存储器系统110中的多个事务中的每一个的操作可更加简单。
另外,可以看出,不仅作为事务ID信息的第二事务ID TID2被包括在第二写入数据2nd_WTDT<1:3>的事务信息TRINFO<3:5>中,而且开始信息、提交信息和中止信息也被包括在第二写入数据2nd_WTDT<1:3>的事务信息TRINFO<3:5>中。
因此,通过检查存储在第二备用区域中的第二写入数据2nd_WTDT<1:3>的事务信息TRINFO<3:5>的操作,可以看出事务的开始数据是否被包括在存储在第二正常区域中的第二写入数据2nd_WTDT<1:3>中,并且同时可以看出第二写入数据2nd_WTDT<1:3>是处于提交状态还是中止状态。
例如,可以看出,第二事务ID TID2、激活的开始信息ST_YES、停用的提交信息CM_NO和停用的中止信息AB_NO被包括在于时间点T2从主机102生成并被接收的、存储在存储器装置150的第二备用区域中的第二写入数据2nd_WTDT<1>的事务信息TRINFO<3>中。而且,可以看出,第二事务ID TID2、停用的开始信息ST_NO、停用的提交信息CM_NO和停用的中止信息AB_NO被包括在于时间点T4从主机102生成并被接收的、存储在存储器装置150的第二备用区域中的第二写入数据2nd_WTDT<2>的事务信息TRINFO<4>中。此外,可以看出,第二事务ID TID2、停用的开始信息ST_NO、激活的提交信息CM_YES和停用的中止信息AB_NO被包括在于时间点T5从主机102生成并被接收的、存储在存储器装置150的第二备用区域中的第二写入数据2nd_WTDT<3>的事务信息TRINFO<5>中。
因此,通过检查存储在存储器装置150的第二备用区域中的第二写入数据2nd_WTDT<1:3>的事务信息TRINFO<3:5>的操作,存储在第二正常区域中的数据可被识别为第二写入数据2nd_WTDT<1:3>。同时,可以看出,第二写入数据2nd_WTDT<1>是开始数据,并且第二写入数据2nd_WTDT<1:3>被置于提交状态。
综上所述,主机102不仅可将作为第二事务ID TID2的事务ID信息包括在第二写入数据2nd_WTDT<1:3>的事务信息TRINFO<3:5>中,而且还将开始信息、提交信息和中止信息包括在第二写入数据2nd_WTDT<1:3>的事务信息TRINFO<3:5>中,并且存储器系统110可将第二写入数据2nd_WTDT<1:3>的事务信息TRINFO<3:5>存储在第二备用区域中。因此,仅通过检查第二备用区域的操作,可检查到存储在第二正常区域中的数据是第二写入数据2nd_WTDT<1:3>,并且可确定事务的开始数据是否被包括在第二写入数据2nd_WTDT<1:3>中,并且同时可确定第二写入数据2nd_WTDT<1:3>是处于提交状态还是处于中止状态。
检查开始数据是否被包括在第二写入数据2nd_WTDT<1:3>中的操作的优点在于,可清楚地区分第二事务的开始时间点。也就是说,如果当多个事务以混合状态从主机102向存储器系统110传输时,每一个事务的开始数据都被清楚地区分,则区分存储器系统110中的多个事务中的每一个的操作可更加简单。
因为参照图6C描述的存储器系统110可通过检查第一备用区域的操作来确定存储在第一正常区域中的第一写入数据1st_WTDT<1:2>是否处于提交状态,并且通过检查第二备用区域的操作来确定存储在第二正常区域中的第二写入数据2nd_WTDT<1:3>是否处于提交状态,所以如之前参照图6A所述,主机102可无需生成用于表示第一写入数据1st_WTDT<1:2>传输完成的第一提交命令1st_COMMIT和用于表示第二写入数据2nd_WTDT<1:3>传输完成的第二提交命令2nd_COMMIT并将其传输到存储器系统110。
图8是示出在图5所示的数据处理系统中发生突然断电(SPO)之后对被分组到事务中的多个写入数据进行重建的操作的示图。
图8没有示出包括在图5所示的数据处理系统100中的存储器系统110的存储器装置150的第一存储块152的正常区域N1、N2、N3和N4,而是仅示出了备用区域S1、S2、S3和S4。另外,图8示出了数据处理系统100中发生突然断电(SPO)之后对被分组到事务中的写入数据进行重建的操作。
参照图8,当将写入数据WTDT<1:N+M>存储在存储器装置150中的同时发生SPO后再次供电的启动期间重建写入数据WTDT<1:N+M>时,存储器系统110可读取并检查存储在存储器装置150的备用区域S1、S2、S3和S4中的写入数据WTDT<1:N+M>的事务信息TRINFO<1:N+M>。
如以上参照图6B和图7A所述,假设根据检查的结果,事务ID信息、提交信息和中止信息被包括在事务信息TRINFO<1:N+M>中。当检索到包括激活的提交信息CM_YES的事务信息TR_INFO1<1:N>和TR_INFO2<1:M>时,可确定存储在正常区域N1、N2、N3和N4中的、对应于事务信息TR_INFO1<1:N>和TR_INFO2<1:M>的写入数据1st_WTDT<1:N>和2nd_WTDT<1:M>为正常状态并进行重建。
如以上参照图6B和图7A所述,假设根据检查的结果,事务ID信息、提交信息和中止信息被包括在事务信息TRINFO<1:N+M>中。当未检索到包括激活的提交信息CM_YES的事务信息TR_INFO1<1:N>和TR_INFO2<1:M>或检索到包括激活的中止信息AB_YES的事务信息TR_INFO1<1:N>和TR_INFO2<1:M>时,可确定存储在正常区域N1、N2、N3和N4中的、对应于事务信息TR_INFO1<1:N>和TR_INFO2<1:M>的写入数据1st_WTDT<1:N>和2nd_WTDT<1:M>为异常状态,并且可不进行重建。
如上面参照图6C和图7B所述,假设根据检查的结果,事务ID信息、开始信息、提交信息和中止信息被包括在事务信息TRINFO<1:N+M>中。当检索到包括激活的提交信息CM_YES的事务信息TR_INFO1<1:N>和TR_INFO2<1:M>以及包括激活的开始信息ST_YES的事务信息TR_INFO1<1:N>和TR_INFO2<1:M>时,可确定存储在正常区域N1、N2、N3和N4中的、对应于事务信息TR_INFO1<1:N>和TR_INFO2<1:M>的写入数据1st_WTDT<1:N>和2nd_WTDT<1:M>为正常状态并进行重建。
如上面参照图6C和图7B所述,假设根据检查的结果,事务ID信息、开始信息、提交信息和中止信息被包括在事务信息TRINFO<1:N+M>中。当未检索到包括激活的开始信息ST_YES的事务信息TR_INFO1<1:N>和TR_INFO2<1:M>以及包括激活的提交信息CM_YES的事务信息TR_INFO1<1:N>和TR_INFO2<1:M>中的任何一种事务信息TR_INFO1<1:N>和TR_INFO2<1:M>时,可确定存储在正常区域N1、N2、N3和N4中的、对应于事务信息TR_INFO1<1:N>和TR_INFO2<1:M>的写入数据1st_WTDT<1:N>和2nd_WTDT<1:M>为异常状态,并且可不进行重建。
再次参照图8以作为示例描述,各段事务信息T2、T2C、T1、T1、T2、T3、T2、T1C、T2、T3C可存储在存储器装置150的第一存储块152的备用区域S1、S2、S3和S4中。
事务信息T2、T2C、T1、T1、T2、T3、T2、T1C、T2、T3C中的“Tx”表示事务ID信息。换言之,T2表示第二事务ID,T1表示第一事务ID,并且T3表示第三事务ID。“Tx”之后的“C”表示提交信息被包括在关于“Tx”的事务信息中,处于激活状态(CM_YES)。虽然没有直接示出,但是“A”可以替代“C”跟随在“Tx”之后,这表示中止信息被包括在关于“Tx”的事务信息中,处于激活状态(AB_YES)。因此,“C”和“A”都未跟随在“Tx”之后的情况表示提交信息和中止信息被包括在关于“Tx”的事务信息中,处于停用状态(CM_NO、AB_NO)。
具体地,“T2”可存储在存储器装置150的第一存储块152的第一页面P10的第一备用区段S1中,“T2C”可存储在第二备用区段S2中,“T1”可存储在第三备用区段S3中,并且“T1”可存储在第四备用区段S4中。
另外,“T2”可存储在存储器装置150的第一存储块152的第二页面P11的第一备用区段S1中,“T3”可存储在第二备用区段S2中,“T2”可存储在第三备用区段S3中,并且“T1C”可存储在第四备用区段S4中。
另外,“T2”可存储在存储器装置150的第一存储块152的第三页面P12的第一备用区段S1中,“T3C”可存储在第二备用区段S2中,并且可假设在将事务信息存储在第三备用区段S3中的过程中发生SPO。
存储器系统110可在发生SPO之后的重建操作期间顺序地读取和检查存储器装置150的第一存储块152的备用区域S1、S2、S3和S4。
根据第一存储块152的备用区域S1、S2、S3和S4的读取顺序,存储器系统110可顺序地检查存储在第一页面P10的备用区域S1、S2、S3和S4中的事务信息“T2、T2C、T1、T1”。随后,存储器系统110可顺序地检查存储在第二页面P11的备用区域S1、S2、S3和S4中的事务信息“T2、T3、T2、T1C”。随后,存储器系统110可顺序地检查在第三页面P12的备用区域S1、S2、S3和S4中发生SPO之前所存储的事务信息“T2、T3C”。
存储器系统110可顺序地将分别存储在第一页面P10的第一备用区段S1和第二备用区段S2中的事务信息“T2”和“T2C”识别为对应于第二事务的事务信息。因为存在“T2”和“T2C”二者,因此存储器系统110可确定针对第二事务检索到激活的提交信息CM_YES。因此,存储器系统110可确定分别存储在与第一页面P10的第一备用区段S1和第二备用区段S2相对应的第一页面P10的第一正常区段N1和第二正常区段N2中的、被分组到第二事务的所有数据(未示出)处于正常状态,并且可重建数据。
随后,存储器系统110可顺序地将分别存储在第一页面P10的第三备用区段S3和第四备用区段S4中以及第二页面P11的第四备用区段S4中的事务信息“T1”、“T1”和“T1C”识别为对应于第一事务的事务信息。因为存在“T1”和“T1C”二者,因此存储器系统110可确定针对第一事务检索到激活的提交信息CM_YES。因此,存储器系统110可确定存储在与第一页面P10的第三备用区段S3和第四备用区段S4以及第二页面P11的第四备用区段S4相对应的第一页面P10的第三正常区段N3和第四正常区段N4以及第二页面P11的第四正常区段N4中的、被分组到第一事务中的所有数据(未示出)处于正常状态,并且可重建数据。
随后,存储器系统110可顺序地将分别存储在第二页面P11的第二备用区段S2中和第三页面P12的第二备用区段S2中的事务信息“T3”和“T3C”识别为对应于第三事务的事务信息。因为存在“T3”和“T3C”二者,因此存储器系统110可确定针对第三事务检索到激活的提交信息CM_YES。因此,存储器系统110可确定存储在与第二页面P11的第二备用区段S2和第三页面P12的第二备用区段S2相对应的第二页面P11的第二正常区段N2和第三页面P12的第二正常区段N2中的、被分组到第三事务中的所有数据(未示出)处于正常状态,并且可重建数据。
随后,存储器系统110可将分别存储在第二页面P11的第一备用区段S1和第三备用区段S3中以及第三页面P12的第一备用区段S1中的事务信息“T2”、“T2”和“T2”识别为对应于第二事务的事务信息。因为仅存在“T2”,并且不存在“T2C”,因此存储器系统110可确定针对第二事务未检索到激活的提交信息CM_YES。因此,存储器系统110可确定存储在与第二页面P11的第一备用区段S1和第三备用区段S3以及第三页面P12的第一备用区段S1相对应的第二页面P11的第一正常区段N1和第三正常区段N3以及第三页面P12的第一正常区段N1中的、被分组到第二事务中的所有数据(未示出)处于异常状态,并且可不重建数据。
图9至图17是示意性说明根据各个实施例的图1至图8的数据处理系统的应用示例的示图。
图9是示意性示出包括根据实施例的存储器系统的数据处理系统的示例的示图。图9示意性示出了应用根据实施例的存储器系统的存储卡系统。
参照图9,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可被连接至通过非易失性存储器实施的存储器装置6130,并被配置成访问存储器装置6130。例如,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机之间的接口并驱动固件以控制存储器装置6130。也就是说,存储器控制器6120可对应于参照图1至图8描述的存储器系统110的控制器130,并且存储器装置6130可对应于参照图1至图8描述的存储器系统110的存储器装置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)。
图10是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。
参照图10,数据处理系统6200可包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图10所示的数据处理系统6200可作为如参照图1所描述的诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质。存储器装置6230可对应于图1至图8所示的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于图1至图8所示的存储器系统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用作缓冲存储器时,RAM6222可用于缓冲从主机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被配置成通过各种通信协议中的一种或多种与外部装置通信,因此根据实施例的存储器系统和数据处理系统可被应用于有线/无线电子装置或特别是移动电子装置。
图11是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图11示意性示出应用根据实施例的存储器系统的SSD。
参照图11,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的非易失性存储器来实施。为便于描述,图11示出了缓冲存储器6325存在于控制器6320中。然而,缓冲存储器6325可存在于控制器6320的外部。
ECC电路6322可在编程操作期间计算待被编程到存储器装置6340的数据的ECC值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与诸如主机6310的外部装置的接口功能,并且非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口功能。
此外,可提供应用了图1的存储器系统110的多个SSD 6300来实施数据处理系统,例如,RAID(独立磁盘冗余阵列)系统。在这种情况下,RAID系统可包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的写入命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD 6300,并将对应于写入命令的数据输出到选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的读取命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD 6300,并将从所选择的SSD 6300读取的数据提供给主机6310。
图12是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图12示意性示出应用了根据实施例的存储器系统的嵌入式多媒体卡(eMMC)。
参照图12,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)接口。
图13至图16是示意性示出包括根据实施例的存储器系统的数据处理系统的其它示例的示图。图13至图16示意性示出应用根据实施例的存储器系统的UFS(通用闪存)系统。
参照图13至图16,UFS系统6500、6600、6700和6800可分别包括主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830。主机6510、6610、6710和6810可用作有线/无线电子装置或特别是移动电子装置的应用处理器,UFS装置6520、6620、6720和6820可用作嵌入式UFS装置,并且UFS卡6530、6630、6730和6830可用作外部嵌入式UFS装置或可移除UFS卡。
各个UFS系统6500、6600、6700和6800中的主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过UFS协议与诸如有线/无线电子装置或特别是移动电子装置的外部装置通信,并且UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过图1所示的存储器系统110来实施。例如,在UFS系统6500、6600、6700和6800中,UFS装置6520、6620、6720和6820可以参照图10至图12描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730和6830可以参照图9描述的存储卡系统6100的形式来实施。
此外,在UFS系统6500、6600、6700和6800中,主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过UFS接口,例如,MIPI(移动行业处理器接口)中的MIPI M-PHY和MIPI UniPro(统一协议)彼此通信。此外,UFS装置6520、6620、6720和6820与UFS卡6530、6630、6730和6830可通过除UFS协议以外的各种协议,例如,UFD、MMC、SD、迷你SD和微型SD彼此通信。
图17是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图17是示意性示出应用了根据实施例的存储器系统的用户系统的示图。
参照图17,用户系统6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可驱动包括在诸如OS的用户系统6900中的组件,并且包括控制包括在用户系统6900中的组件的控制器、接口和图形引擎。应用处理器6930可作为片上系统(SoC)被提供。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDARM、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可被实施为如上参照图11至图16所述的SSD、eMMC和UFS。
用户接口6910可包括用于向应用处理器6930输入数据或命令或者用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器的用户输出接口。
此外,当图1的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的操作,并且网络模块6940可用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示通过处理器6930处理的数据或支持从触摸面板接收数据的功能。
虽然已经针对具体实施例描述了本发明,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求所确定的本发明的实质和范围的情况下,可进行各种改变和修改。
Claims (16)
1.一种数据处理系统,包括:
主机,生成被分组到事务中的多个写入数据和包括所述写入数据中的每一个的事务信息的多个写入命令;以及
存储器系统,响应于从所述主机接收的所述写入命令将所述写入数据存储在存储器装置的正常区域中,并且将包括在所述写入命令中的每一个中的所述事务信息存储在所述存储器装置的、对应于所述正常区域的备用区域中,
其中所述事务信息包括事务ID信息、提交信息和中止信息,
其中所述主机生成所述写入数据中最后数据的事务信息,所述写入数据中最后数据的事务信息包括激活的提交信息和停用的中止信息,用于使所述写入数据生效,
其中所述主机生成所述最后数据的事务信息,所述最后数据的事务信息包括停用的提交信息和激活的中止信息,用于使所述写入数据无效,并且
其中所述主机生成所述写入数据中除所述最后数据之外的剩余中间数据中的每一个的事务信息,所述写入数据中除所述最后数据之外的剩余中间数据中的每一个的事务信息包括停用的提交信息和停用的中止信息。
2.根据权利要求1所述的数据处理系统,其中所述主机生成被分组到第一事务中的第一写入数据中的每一个的事务信息,所述第一写入数据中的每一个的事务信息包括第一ID信息和提交信息,并且
根据检查从所述主机接收的所述写入命令中的每一个中的事务信息的结果,所述存储器系统将包括所述第一ID信息的写入命令识别为第一写入命令,并将对应于所述第一写入命令的写入数据识别为所述第一写入数据,并且
当响应于所述第一写入命令将所述第一写入数据存储在第一正常区域中时,所述存储器系统将包括在所述第一写入命令中的事务信息加载并存储在对应于所述第一正常区域的第一备用区域中。
3.根据权利要求2所述的数据处理系统,其中所述主机生成被分组到第二事务中的第二写入数据中的每一个的事务信息,所述第二写入数据中的每一个的事务信息包括第二ID信息和提交信息,并且
根据检查从所述主机接收的所述写入命令中的每一个中的事务信息的结果,所述存储器系统将包括所述第二ID信息的写入命令识别为第二写入命令,并将对应于所述第二写入命令的写入数据识别为所述第二写入数据,并且
当响应于所述第二写入命令将所述第二写入数据存储在第二正常区域中时,所述存储器系统将包括在所述第二写入命令中的事务信息加载并存储在对应于所述第二正常区域的第二备用区域中。
4.根据权利要求3所述的数据处理系统,其中所述存储器装置包括多个页面,所述第一正常区域包括所述页面中的第一页面的第一数据区段,所述第二正常区域包括所述第一页面的第二数据区段,所述第一备用区域包括所述第一页面的第一备用区段,并且所述第二备用区域包括所述第一页面的第二备用区段。
5.根据权利要求3所述的数据处理系统,其中所述存储器装置包括多个页面,所述第一正常区域包括所述页面中的第一页面的数据区段,所述第二正常区域包括所述页面中的第二页面的数据区段,所述第一备用区域包括所述第一页面的备用区段,并且所述第二备用区域包括所述第二页面的备用区段。
6.根据权利要求3所述的数据处理系统,其中所述存储器装置包括多个页面,所述第一正常区域包括包含所述页面中至少两个页面的第一页面组的数据区段,所述第二正常区域包括包含所述页面中至少两个页面的第二页面组的数据区段,所述第一备用区域包括所述第一页面组的备用区段,并且所述第二备用区域包括所述第二页面组的备用区段。
7.根据权利要求1所述的数据处理系统,其中根据在将所述写入数据存储在所述存储器装置中的同时发生突然断电即SPO后再次供电的启动期间重建所述写入数据时,读取和检查存储在所述备用区域中的所述写入数据的事务信息的结果,
当检索到包括激活的提交信息的事务信息时,所述存储器系统确定存储在所述正常区域中的所述写入数据处于正常状态并重建所述写入数据,并且
当未检索到包括激活的提交信息的事务信息,或者检索到包括激活的中止信息的事务信息时,所述存储器系统确定存储在所述正常区域中的所述写入数据处于异常状态并且不重建所述写入数据。
8.根据权利要求1所述的数据处理系统,其中所述写入数据中的每一个的事务信息进一步包括开始信息,并且
所述主机生成所述中间数据中开始数据的事务信息,所述开始数据的事务信息包括停用的提交信息、停用的中止信息和激活的开始信息。
9.根据权利要求8所述的数据处理系统,其中根据在将所述写入数据存储在所述存储器装置中的同时发生突然断电即SPO后再次供电的启动期间重建所述写入数据时,读取和检查存储在所述备用区域中的所述写入数据的事务信息的结果,
当检索到包括激活的提交信息的事务信息和包括激活的开始信息的事务信息时,所述存储器系统确定存储在所述正常区域中的所述写入数据处于正常状态并重建所述写入数据,并且
当未检索到包括激活的开始信息的事务信息或包括激活的提交信息的事务信息时,所述存储器系统确定存储在所述正常区域中的所述写入数据处于异常状态并且不重建所述写入数据。
10.一种数据处理系统的操作方法,所述数据处理系统包括:主机,生成被分组到事务中的多个写入数据和多个写入命令;以及存储器系统,响应于从所述主机接收的所述写入命令而将所述写入数据存储在存储器装置中,所述操作方法包括:
通过所述主机生成包括所述写入数据中的每一个的事务信息的所述写入命令;以及
通过所述存储器系统将所述写入数据存储在所述存储器装置的正常区域中,并将包括在所述写入命令中的每一个中的所述事务信息存储在所述存储器装置的、对应于所述正常区域的备用区域中,
其中所述事务信息包括事务ID信息、提交信息和中止信息,
其中生成包括所述写入数据中的每一个的事务信息的所述写入命令包括:
生成所述写入数据中最后数据的事务信息,激活的提交信息和停用的中止信息包括在所述写入数据中最后数据的事务信息中,用于使所述写入数据生效;
生成所述最后数据的事务信息,所述最后数据的事务信息包括停用的提交信息和激活的中止信息,用于使所述写入数据无效;以及
生成所述写入数据中除所述最后数据之外的剩余中间数据中的每一个的事务信息,所述写入数据中除所述最后数据之外的剩余中间数据中的每一个的事务信息包括停用的提交信息和停用的中止信息。
11.根据权利要求10所述的操作方法,其中第一ID信息、提交信息和中止信息包括在被分组到第一事务中的第一写入数据中的每一个的事务信息中,并且
其中将所述写入数据存储在所述存储器装置的正常区域中并将所述事务信息存储在所述存储器装置的备用区域中包括:
根据检查从所述主机接收的所述写入命令中的每一个中的事务信息的结果,将包括所述第一ID信息的写入命令识别为第一写入命令,并将对应于所述第一写入命令的写入数据识别为所述第一写入数据;以及
当响应于所述第一写入命令将所述第一写入数据存储在第一正常区域中时,将包括在所述第一写入命令中的事务信息加载并存储在对应于所述第一正常区域的第一备用区域中。
12.根据权利要求11所述的操作方法,其中第二ID信息、提交信息和中止信息包括在被分组到第二事务中的第二写入数据中的每一个的事务信息中,并且
其中将所述写入数据存储在所述存储器装置的正常区域中并将所述事务信息存储在所述存储器装置的备用区域中进一步包括:
根据检查从所述主机接收的所述写入命令中的每一个中的事务信息的结果,将包括所述第二ID信息的写入命令识别为第二写入命令,并将对应于所述第二写入命令的写入数据识别为所述第二写入数据;以及
当响应于所述第二写入命令将所述第二写入数据存储在第二正常区域中时,将包括在所述第二写入命令中的事务信息加载并存储在对应于所述第二正常区域的第二备用区域中。
13.根据权利要求12所述的操作方法,其中所述存储器装置包括多个页面,所述第一正常区域包括所述页面中的第一页面的第一数据区段,所述第二正常区域包括所述第一页面的第二数据区段,所述第一备用区域包括所述第一页面的第一备用区段,并且所述第二备用区域包括所述第一页面的第二备用区段。
14.根据权利要求12所述的操作方法,其中所述存储器装置包括多个页面,所述第一正常区域包括所述页面中的第一页面的数据区段,所述第二正常区域包括所述页面中的第二页面的数据区段,所述第一备用区域包括所述第一页面的备用区段,并且所述第二备用区域包括所述第二页面的备用区段。
15.根据权利要求12所述的操作方法,其中所述存储器装置包括多个页面,所述第一正常区域包括包含所述页面中两个或更多个页面的第一页面组的数据区段,所述第二正常区域包括包含所述页面中两个或更多个页面的第二页面组的数据区段,所述第一备用区域包括所述第一页面组的备用区段,并且所述第二备用区域包括所述第二页面组的备用区段。
16.根据权利要求10所述的操作方法,进一步包括:
在所述存储器系统将所述写入数据存储在所述存储器装置中的同时发生突然断电即SPO后再次供电的启动期间重建所述写入数据时,读取和检查存储在所述备用区域中的所述写入数据的事务信息;
当根据读取和检查所述事务信息的结果,检索到包括激活的提交信息的事务信息时,确定存储在所述正常区域中的所述写入数据处于正常状态并重建所述写入数据;以及
当根据读取和检查所述事务信息的结果,未检索到包括激活的提交信息的事务信息,或者检索到包括激活的中止信息的事务信息时,确定存储在所述正常区域中的所述写入数据处于异常状态并且不重建所述写入数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170139422A KR20190046169A (ko) | 2017-10-25 | 2017-10-25 | 데이터 처리 시스템 및 데이터 처리 시스템의 동작방법 |
KR10-2017-0139422 | 2017-10-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109710174A CN109710174A (zh) | 2019-05-03 |
CN109710174B true CN109710174B (zh) | 2022-06-21 |
Family
ID=66169961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810988447.2A Active CN109710174B (zh) | 2017-10-25 | 2018-08-28 | 数据处理系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10733056B2 (zh) |
KR (1) | KR20190046169A (zh) |
CN (1) | CN109710174B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112764683B (zh) * | 2021-01-22 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 存储块管理信息同步记录方法、系统、终端及存储介质 |
CN115202933A (zh) * | 2022-07-19 | 2022-10-18 | 合肥兆芯电子有限公司 | 映射表重建方法、存储器存储装置及存储器控制电路单元 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102457559A (zh) * | 2010-10-25 | 2012-05-16 | 英业达股份有限公司 | 服务器集群的事务处理方法 |
CN103870536A (zh) * | 2012-12-18 | 2014-06-18 | Sap股份公司 | 用于内存数据库处理的系统和方法 |
CN105005535A (zh) * | 2015-07-22 | 2015-10-28 | 清华大学 | 一种分布式闪存事务处理方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101903091B1 (ko) | 2011-10-05 | 2018-10-02 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법 |
KR101529651B1 (ko) | 2014-08-28 | 2015-06-19 | 성균관대학교산학협력단 | 메모리 저장 장치, 데이터베이스를 위한 트랜잭션 기능을 지원하는 방법 및 메모리 시스템 |
CN106716395B (zh) * | 2014-12-24 | 2019-04-19 | 华为技术有限公司 | 事务处理的方法、装置及计算机系统 |
US9836404B2 (en) * | 2015-08-14 | 2017-12-05 | Netapp, Inc. | Write mirroring to storage class memory devices |
-
2017
- 2017-10-25 KR KR1020170139422A patent/KR20190046169A/ko unknown
-
2018
- 2018-06-05 US US16/000,451 patent/US10733056B2/en active Active
- 2018-08-28 CN CN201810988447.2A patent/CN109710174B/zh active Active
-
2020
- 2020-07-10 US US16/925,656 patent/US11403177B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102457559A (zh) * | 2010-10-25 | 2012-05-16 | 英业达股份有限公司 | 服务器集群的事务处理方法 |
CN103870536A (zh) * | 2012-12-18 | 2014-06-18 | Sap股份公司 | 用于内存数据库处理的系统和方法 |
CN105005535A (zh) * | 2015-07-22 | 2015-10-28 | 清华大学 | 一种分布式闪存事务处理方法 |
Also Published As
Publication number | Publication date |
---|---|
US10733056B2 (en) | 2020-08-04 |
US11403177B2 (en) | 2022-08-02 |
CN109710174A (zh) | 2019-05-03 |
KR20190046169A (ko) | 2019-05-07 |
US20190121701A1 (en) | 2019-04-25 |
US20200341850A1 (en) | 2020-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107562649B (zh) | 存储器系统及其操作方法 | |
CN109947358B (zh) | 存储器系统及其操作方法 | |
CN107450845B (zh) | 存储器系统及其操作方法 | |
CN109656837B (zh) | 存储器系统及其操作方法 | |
CN108108308B (zh) | 存储器系统及其操作方法 | |
CN108694138B (zh) | 控制器及其操作方法 | |
CN109032501B (zh) | 存储器系统及其操作方法 | |
CN110347330B (zh) | 存储器系统及其操作方法 | |
CN110322915B (zh) | 存储器装置及其操作方法 | |
CN109697171B (zh) | 控制器及其操作方法 | |
CN110322920B (zh) | 控制器及控制器的操作方法 | |
CN107562653B (zh) | 存储器系统及其操作方法 | |
CN109933468B (zh) | 存储器系统及其操作方法 | |
CN108733616B (zh) | 包括多处理器的控制器及其操作方法 | |
CN110570894A (zh) | 存储器系统及该存储器系统的操作方法 | |
CN110825316A (zh) | 控制器及该控制器的操作方法 | |
CN110618786A (zh) | 存储器系统及存储器系统的操作方法 | |
CN110704331A (zh) | 控制器及其操作方法 | |
CN110968521B (zh) | 存储器系统及其操作方法 | |
CN110196816B (zh) | 控制器、其操作方法以及包括控制器的存储器系统 | |
CN109426448B (zh) | 存储器系统及其操作方法 | |
US11403177B2 (en) | Data processing system for securing atomicity of transactions without generating separate commit command, and operating method thereof | |
CN107807887B (zh) | 存储器系统及其操作方法 | |
CN107436730B (zh) | 数据处理系统及其操作方法 | |
CN110688061B (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 |