CN110489271B - 存储器***及其操作方法 - Google Patents
存储器***及其操作方法 Download PDFInfo
- Publication number
- CN110489271B CN110489271B CN201811581060.1A CN201811581060A CN110489271B CN 110489271 B CN110489271 B CN 110489271B CN 201811581060 A CN201811581060 A CN 201811581060A CN 110489271 B CN110489271 B CN 110489271B
- Authority
- CN
- China
- Prior art keywords
- page
- memory
- new
- controller
- pages
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- 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
- 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/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced 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/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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/0658—Controller construction 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/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/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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5648—Multilevel memory programming, reading or erasing operations wherein the order or sequence of the operations is relevant
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 Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明涉及一种用于操作存储器***的方法,该方法包括:通过根据基于超级块中页面被编程的编程顺序的二进制搜索方案来扫描超级块,来检测由存储块形成的超级块的第一擦除页面;并基于所检测的第一擦除页面执行突然断电恢复(SPOR)。
Description
相关申请的交叉引用
本申请要求于2018年5月15日提交的申请号为10-2018-0055181的韩国专利申请的优先权,其全部内容通过引用并入本文。
技术领域
本发明的各种实施例涉及一种存储器***,更具体地,涉及一种存储器***和用于操作该存储器***的方法。
背景技术
新兴的计算机环境范例是普适计算,即计算***可以被随时随地使用。因此,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器***来存储数据。这些装置中的存储器***可用作主存储器装置或辅助存储器装置。
由于没有移动部件,存储器***提供了优异的稳定性、耐用性、高信息访问速度和低功耗。具有这些优点的存储器***的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
发明内容
本发明的实施例涉及一种能够快速检测其中开放存储块的第一擦除页面的存储器***,以及这种存储器***的操作方法。
根据本发明的实施例,一种用于操作存储器***的方法包括:通过根据基于超级块中页面被编程的编程顺序的二进制搜索方案扫描超级块,来检测由存储块形成的超级块的第一擦除页面;并基于所检测的第一擦除页面执行突然断电恢复(SPOR)。
根据本发明的另一实施例,一种存储器***包括:存储器装置;以及控制器,适用于控制存储器装置,其中控制器通过根据基于超级块中页面被编程的编程顺序的二进制搜索方案扫描超级块,来检测由存储块形成的超级块的第一擦除页面,并基于所检测的第一擦除页面执行SPOR。
根据本发明的另一实施例,一种存储器***包括:存储器装置,包括具有两个或更多个存储块的超级块,每个存储块均由页面配置;以及控制器,被配置为:根据存储块之中的页面的交织编程顺序控制存储器装置对超级块执行编程操作;根据针对交织编程顺序的线性搜索方案检测页面之中的全局第一擦除页面;基于全局第一擦除页面,根据交织编程顺序检测各个存储块的局部第一擦除页面;并且,根据交织编程顺序和局部第一擦除页面控制存储器装置对存储块执行突然断电恢复操作。
附图说明
图1是示出根据本发明的实施例的数据处理***的框图。
图2是示出图1的存储器***中采用的存储器装置的示例性配置的示意图。
图3是示出图1所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图。
图4是示出图2的存储器装置的示例性三维(3D)结构的示意图。
图5示出了根据现有技术的存储器装置的存储块。
图6A示出了按编程页面的顺序的超级块中的页面。
图6B示出了用于限定图5的页面与图6A的页面之间关系的表。
图7是示出根据本发明实施例的描述开放存储块的扫描的流程图。
图8示出了根据本发明实施例的扫描开放存储块的进程。
图9至图17是示意性地示出根据本发明的各个实施例的数据处理***的示例性应用的示图。
具体实施方式
以下将参照附图更详细地描述本发明的示例性实施例。然而,本发明的元件和特征可以以不同方式实现。因此,本发明不限于这里阐述的实施例。相反,提供这些实施例是为了使本公开彻底和完整,并且向本领域技术人员充分传达本发明的范围。贯穿整个公开内容,相同的附图标记在本发明的各个附图和实施例中表示相同的部件。并且,在整个说明书中,对“实施例”、“另一实施例”等的引用不一定仅针对一个实施例,并且对任何这样的短语的不同引用不一定针对相同的实施例。
图1是示出根据本发明的实施例的数据处理***100的框图。
参照图1,数据处理***100可包括可操作地联接至存储器***110的主机102。
主机102可包括诸如移动电话、MP3播放器和膝上型计算机的各种便携式电子装置中的任何一种或诸如台式计算机、游戏机、电视(TV)和投影仪的各种非便携式电子装置中的任何一种。
主机102可包括至少一个操作***(OS),其可管理和控制主机102的全部功能和操作,并且使用数据处理***100或存储器***110来提供主机102和用户之间的操作。OS可支持与用户的目的和使用相对应的功能和操作。例如,根据主机102的移动性,OS可被划分为通用OS和移动OS。根据用户的环境,通用OS可被分为个人OS和企业OS。例如,配置为支持向一般用户提供服务的功能的个人OS可包括Windows和Chrome,并且被配置为保护和支持高性能的企业OS可包括Windows服务器、Linux和Unix。此外,被配置为支持向用户提供移动服务的功能和***的省电功能的移动OS可包括Android、iOS和Windows Mobile。主机102可包括多个OS,并且执行OS以对存储器***110执行与用户请求相对应的操作。
存储器***110可响应于主机102的请求操作,以存储用于主机102的数据。存储器***110的非限制性示例包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用存储总线(USB)装置、通用闪速存储(UFS)装置、紧凑型闪存(CF)卡、智能媒体卡(SMC)、个人计算机存储卡国际协会(PCMCIA)卡和记忆棒。MMC可包括嵌入式MMC(eMMC)、尺寸减小的MMC(RS-MMC)和/或微型-MMC。SD卡可包括迷你-SD卡和微型-SD卡。
存储器***110可通过各种类型存储装置中的任何一个来实施。这种存储装置的示例包括但不限于诸如DRAM动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置和诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器的非易失性存储器装置。闪速存储器可具有三维(3D)堆叠结构。
存储器***110可包括存储器装置150和控制器130。存储器装置150可存储用于主机102的数据,并且控制器130可控制将数据存储到存储器装置150中。
控制器130和存储器装置150可被集成到单个半导体装置中,其中单个半导体装置可被包括在如上所例示的各种类型的存储器***中的任何一个。例如,控制器130和存储器装置150可集成为一个半导体装置来构成SSD。当存储器***110用作SSD时,可提高连接到存储器***110的主机102的操作速度。另外,控制器130和存储器装置150可以集成为一个半导体器装置以构成存储卡,例如PCMCIA(个人计算机存储卡国际协会)卡,CF卡,SMC(智能媒体卡),记忆棒,包括RS-MMC和micro-MMC的MMC,包括迷你-SD、微型-SD和SDHC的SD卡、或UFS装置。
存储器***110的非限制性应用示例包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航***、黑盒、数码相机、数字多媒体广播(DMB)播放器、3维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境下传输/接收信息的装置、构成家庭网络的各种电子装置中的一个、构成计算机网络的各种电子装置中的一个、构成远程信息处理的各种电子装置中的一个、射频识别(RFID)装置或构成计算***的各种部件中的一个。
存储器装置150可以是即使不供应电力也可保留其中存储的数据的非易失性存储器装置。存储器装置150可通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供至主机102。存储器装置150可包括多个存储块152、154、156,多个存储块152至156中的每一个可包括多个页面,并且多个页面中的每一个可包括联接到字线的多个存储器单元。在实施例中,存储器装置150可以是闪速存储器。闪速存储器可具有三维(3D)堆叠结构。
因为稍后将参照图2至图4详细描述包括其3D堆叠结构的存储器装置150的结构,因此在此省略对这些元件和特征的进一步描述。
控制器130可响应于来自主机102的请求控制存储器装置150。例如,控制器130可将从存储器装置150读取的数据提供至主机102,并将从主机102提供的数据存储至存储器装置150中。对于该操作,控制器130可控制存储器装置150的读取操作、写入操作、编程操作和擦除操作。
控制器130可包括主机接口(I/F)132、处理器134、错误校正码(ECC)部件138、电源管理单元(PMU)140、诸如NAND闪速控制器(NFC)的存储器I/F 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-Chaudhuri-Hocquenghem,BCH)码、涡轮码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归***码(RSC)、网格编码调制(TCM)和分组编码调制(BCM)的编码调制执行错误校正操作。然而,ECC部件138不限于任何特定的结构。ECC部件138可包括用于适当的错误校正的所有电路、模块、***或装置。
PMU 140可提供和管理控制器130的电力。
存储器I/F 142可用作用于将控制器130和存储器装置150接口连接的存储器/存储接口,使得控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器或具体地是NAND闪速存储器时,存储器I/F 142可在处理器134的控制下生成用于存储器装置150的控制信号并处理待被提供至存储器装置150的数据。存储器I/F142可用作用于处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。具体地,存储器I/F 142可支持控制器130和存储器装置150之间的数据传输。
存储器144可用作存储器***110和控制器130的工作存储器,并且存储用于驱动存储器***110和控制器130的数据。控制器130可响应于来自主机102的请求控制存储器装置150执行读取操作、写入操作、编程操作和擦除操作。控制器130可将从存储器装置150读取的数据提供至主机102并可将从主机102提供的数据存储到存储器装置150中。存储器144可存储控制器130和存储器装置150执行这些操作所需的数据。
存储器144可通过易失性存储器来实施。例如,存储器144可通过静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。存储器144可设置在控制器130内部或外部。图1例示了设置在控制器130内部的存储器144。在另一实施例中,存储器144可通过具有在存储器144和控制器130之间传输数据的存储器接口的外部易失性存储器来实施。
处理器134可控制存储器***110的整体操作。处理器134可驱动固件以控制存储器***110的整体操作。固件可被称为闪存转换层(FTL)。而且,处理器134可被实现为微处理器或中央处理单元(CPU)。
例如,控制器130可通过处理器134在存储器装置150中执行由主机102请求的操作。换言之,控制器130可执行与从主机102或其它源接收的命令相对应的命令操作。控制器130可执行前台操作作为与从主机102接收到的命令相对应的命令操作。例如,控制器130可执行对应于写入命令的编程操作、对应于读取命令的读取操作、对应于擦除命令的擦除操作以及与设置参数命令或设置特征命令相对应的参数设置操作。
而且,控制器130可通过处理器134对存储器装置150执行后台操作。对存储器装置150执行的后台操作可包括:将存储在存储器装置150的存储块152至156之中的一些存储块中的数据复制到其它存储块中并对其进行处理的操作,例如垃圾收集(GC)操作;在存储块152至156之间交换数据的操作,例如损耗均衡(WL)操作;将存储在控制器130中的映射数据存储在存储块152至156中的操作,例如映射清除(flush)操作;或者管理存储器装置150的坏块的操作,例如在存储块152至156之中检测并处理坏块的坏块管理操作。
参照图2至图4详细描述根据本发明的实施例的存储器***的存储器装置。
图2是示出存储器装置150的示意图,图3是示出存储器装置150中的存储块的存储器单元阵列的示例性配置的电路图,图4是示出存储器装置150的示例性3D结构的示意图。
参照图2,存储器装置150可以包括多个存储块0至N-1,例如存储块0(BLK0)210、存储块1(BLK1)220、存储块2(BLK2)230和存储块N-1(BLKN-1)240。存储块210、220、230和240中的每一个可包括多个页面,例如2M个页面,页面的数量可根据电路设计而变化。例如,在一些应用中,存储块中的每一个可包括M个页面。页面中的每一个可包括联接到多个字线WL的多个存储器单元。
而且,存储器装置150可包括多个存储块,其中存储块可包括每单元存储1位数据的单层单元(SLC)存储块和/或每单元存储2位数据的多层单元(MLC)存储块。SLC存储块可包括由在一个存储器单元中存储一位数据的存储器单元实现的多个页面。SLC存储块可具有较快的数据操作性能和高耐用性。另一方面,MLC存储块可包括由在一个存储器单元中存储多位数据,例如两位或更多位数据的存储器单元实现的多个页面。MLC存储块可具有比SLC存储块更大的数据存储空间。换言之,MLC存储块可被高度集成。特别地,存储器装置150不仅可包括MLC存储块,而且还包括三层单元(TLC)存储块、四层单元(QLC)存储块和/或更高多层单元存储块等,其中MLC存储块中的每一个包括由在一个存储器单元中能够存储两位数据的存储器单元实现的多个页面,三层单元(TLC)存储块中的每一个包括由在一个存储器单元中能够存储三位数据的存储器单元实现的多个页面,四层单元(QLC)存储块中的每一个包括由在一个存储器单元中能够存储四位数据的存储器单元实现的多个页面,多层单元存储块中的每一个包括由在一个存储器单元中能够存储五位或更多位数据的存储器单元实现的多个页面。
根据本发明的实施例,存储器装置150是非易失性存储器,诸如闪速存储器,例如NAND闪速存储器。然而,存储器装置150可被实现为以下中的任何一种:相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM或ReRAM)、铁电随机存取存储器(FRAM)、自旋转移扭矩磁性随机存取存储器(STT-RAM或STT-MRAM)。
存储块210、220、230和240可通过编程操作来存储从主机102传输的数据,并且通过读取操作将所存储的数据传输到主机102。
参照图3,可对应于在存储器装置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中的每一个可包括多个锁存器(未示出)。
存储器150可由2D或3D存储器装置来实现。特别地,如图4所示,存储器装置150可由具有3D堆叠结构的非易失性存储器装置来实现。当存储器装置150具有3D结构时,存储器装置150可包括多个存储块BLK0至BLKN-1。图4是示出图1所示的存储器装置150的存储块152至156的框图。存储块152至156中的每一个可以3D结构(或垂直结构)来实现。例如,存储块152至156可以是具有在例如x轴方向、y轴方向和z轴方向的第一至第三方向上延伸的尺寸的三维结构。
存储器装置150中的每个存储块330可包括在第二方向上延伸的多个NAND串NS以及在第一方向和第三方向上延伸的多个NAND串NS。NAND串NS中的每一个可联接到位线BL、至少一个串选择线SSL、至少一个接地选择线GSL、多个字线WL、至少一个虚拟字线DWL和共源线CSL,并且NAND串NS中的每一个可包括多个晶体管结构TS。
简而言之,存储器装置150的存储块152至156之中的每个存储块330可联接到多个位线BL、多个串选择线SSL、多个接地选择线GSL、多个字线WL、多个虚拟字线DWL以及多个共源线CSL,并且每一个存储块330可包括多个NAND串NS。而且,在每一个存储块330中,一个位线BL可联接到多个NAND串NS,以在一个NAND串NS中实现多个晶体管。而且,每一个NAND串NS的串选择晶体管SST可联接到相应位线BL,并且每一个NAND串NS的接地选择晶体管GST可联接到共源线CSL。存储器单元MC可被设置在每一个NAND串NS的串选择晶体管SST和接地选择晶体管GST之间。换言之,多个存储器单元可被实现在存储器装置150的存储块152至156的每一个存储块330中。参照图5至图8详细描述根据本发明实施例的存储器***中对存储器装置的数据处理操作,特别是当执行与多个命令相对应的多个命令操作时执行的数据处理操作。
图5示例性地示出了根据现有技术的存储器装置的存储块。
当在突然断电(SPO)发生之后包括存储器装置的存储器***被启动时,存储器***执行突然断电恢复(SPOR)。
当SPO发生时,编程操作在开放存储块中被中断,在SPO时该开放存储块中正在运行编程操作。因此,存储在开放存储块的最后编程页面中的数据处于不稳定状态。
当执行SPOR时,通过在最后编程页面的下一页面上编程虚拟数据来确保存储在最后编程页面中的数据的可靠性。在本说明书中,最后编程页面的下一页面被定义为第一擦除页面,并且读取开放存储块的页面以检测第一擦除页面的操作被定义为开放存储块扫描。
根据现有技术,存储器***的控制器根据线性搜索方案执行开放存储块扫描,在该线性搜索方案中以反向顺序读取页面,按该反向顺序对页面进行编程直到在开放存储块中检测到第一擦除页面。
根据现有技术,为了缩短SPOR所需的时间,控制器根据二进制搜索方案执行开放存储块扫描。具体而言,控制器读取布置在开放存储块最下方页面和最上方页面之间的中间页面。如果中间页面处于擦除状态,则控制器将中间页面设置为新的最上方页面。如果中间页面处于编程状态,则控制器将中间页面设置为新的最下方页面。控制器读取布置在新的最下方页面和新的最上方页面之间的新的中间页面,并重复以上操作,直到新的中间页面收敛到第一擦除页面。
众所周知,二进制搜索的时间复杂度是O(log n)。当对包括2N个页面的开放存储块执行根据二进制搜索方案的开放存储块扫描时,可以通过重复读取中间页面最多N次的操作来检测第一擦除页面。
根据现有技术,控制器可以通过对存储块分组将多个存储块作为超级块进行管理。例如,控制器可以对多个存储块分组,每个存储块从多个存储器管芯中的一个中选择,并将这些存储块作为一个超级块进行管理。由于每个存储器管芯是独立可访问的,因此当控制器根据交织方案访问超级块的每个存储块时,可以提高存储器***的性能。
图5示出了一个超级块,在该超级块中存储块(块0至块3)被分组,每个存储块包括16个页面(页面0至页面15)。
控制器按照特定顺序利用数据对超级块进行编程,例如,在存储块(块0至块3)之中按升序执行对页面0的编程操作,然后根据交织方案按升序执行对页面1的编程操作。图5示出了在超级块按升序被编程直到块1的页面5时发生SPO的情况。
当在SPO发生之后启动存储器***时,控制器对存储器***的所有开放存储块执行开放存储块扫描,以用虚拟数据对每个开放存储块的第一擦除页面进行编程。
由于超级块中的所有存储块(块0至块3)都未编程到页面15,所以它们是开放存储块。因此,控制器对存储块(块0至块3)的每一个执行开放存储块扫描。
根据二进制搜索方案的时间复杂度,通过四次读取操作检测包括16个页面的存储块块0的第一擦除页面。图5中的块0中所示的带圆圈的数字①至④表示根据二进制搜索方案顺序选择的中间页面。同样地,存储块(块1至块3)中的每一个的第一擦除页面也通过每四个读取操作被检测。也就是说,可能必须执行总共16个读取操作以对图5的超级块中的每个存储块执行开放存储块扫描。当对包括2M个存储块的超级块执行开放存储块扫描时,每个存储块包括2N个页面,可能必须执行总共N×2M个读取操作。
而且,根据实现更高级的存储器并满足快速访问存储器装置的需求的趋势,在一个超级块中包括更多的存储块。因此,如果根据开放存储块扫描的读取操作的次数增加,则SPOR操作所需的时间可能增加并且读取干扰可能增加。
图6A示出了按照页面被编程的顺序形成超级块的存储块的页面。
图6B示出了用于限定图5的页面与图6A的页面之间的关系的表。
参照图6B,该表可以包括与图5的每个页面相对应的块-页面字段和与图6A的每个页面相对应的页面字段。
例如,参照图6A和图6B,图6A的页面0至页面3表示各个存储块块0至块3的页面0,并且图6A的页面4至页面7表示各个存储块块0至块3的页面1。如上所述,根据交织方案对存储块块0至块3进行编程。图6A示出了根据交织方案被编程的各个存储块块0至块3的16个页面页面0至页面15。
根据本发明的实施例,包括在形成超级块的多个存储块中的所有页面可以被视为包括在一个存储块中的页面。根据本发明的实施例,可以对超级块而不是对单独的存储块执行开放块扫描操作,因为至少为此目的,超级块被视为包括其所有组成存储块的所有页面的单个存储块。基于此,可以通过二进制搜索方案来执行扫描操作。
根据本发明的实施例,可以减少在根据二进制搜索方案的开放超级存储块扫描操作中执行的读取操作的次数。因此,根据本发明的实施例,可以在减少SPOR操作时间的同时防止读取干扰的增加。
图7是描述根据本发明实施例的在SPOR期间的开放存储块扫描的流程图。
在步骤S702中,根据超级块的页面被编程的顺序,控制器130可以在配置超级块的存储块的所有页面之中,将第一页面设置为最下方页面,将最后页面设置为最上方页面,并开始对超级块执行二进制搜索进程。
在步骤S704中,控制器130可以将在最下方页面和最上方页面之间的中间布置的页面设置为中间页面。当最下方页面和最上方页面之间的页面总数量是偶数时,可以将最接近真正的中间的两个页面之中的较上方页面设置为中间页面,但是本发明不限于此。在另一实施例中,这两个页面中较下方的可以被设置为中间页面。
在步骤S706中,控制器130可以控制存储器装置150读取超级块中的中间页面。
在步骤S708中,控制器130可以确定中间页面是否处于擦除状态。
如果在步骤S708中确定中间页面处于擦除状态(步骤S708中为“是”),则在步骤S712中控制器130可以将中间页面设置为新的最上方页面。如果在步骤S708中确定中间页面处于编程状态,即除了擦除状态之外的状态(步骤S708中为“否”),则在步骤S710中控制器130可以将中间页面设置为新的最下方页面。
在步骤S714中,控制器130可以在新设置的最上方页面和最下方页面之间设置新的中间页面。
在步骤S716中,控制器130可以判定新的中间页面是否与新的最上方页面或新的最下方页面中的任一个相同。
如果确定新的中间页面与新的最上方页面或新的最下方页面中的任一个相同(步骤S716中为“是”),则在步骤S718中控制器130可以将新的中间页面设置为第一擦除页面。
如果确定新的中间页面既不是新的最上方页面也不是新的最下方页面(步骤S716中为“否”),则控制器130可以基于新的最下方页面、新的最上方页面和新的中间页面重复步骤S706至S716的进程。
作为示例,将对如本文所述配置的超级块执行开放存储块扫描的情境下描述检测第一擦除页面的进程。
图8示出了根据本发明实施例的扫描开放存储块的进程。
参照图6至图8,在步骤S702中,在超级存储块的所有页面之中(页面0至页面63),可以将第一页面(页面0)设置为最下方页面,并且可以将最后页面(页面63)设置为最上方页面,该超级存储块被视为单个存储块。
由于(0+63)/2=31.5,因此在步骤S704中可以将图6的页面32设置为中间页面。图6的页面32可以对应于图8的块0中的页面8。这些页面中的每一个都用符号①表示。在步骤S706中,存储器装置150可以在控制器130的控制下读取页面32(中间页面)。
由于在步骤S708中确定图6的页面32处于擦除状态,因此在步骤S710中控制器130可以将页面32设置为新的最上方页面。新的最下方页面可以是页面0。
在步骤S714中,新的中间页面可以是图6的页面16。图6的页面16可以对应于图8中所示的块0中的页面4。作为步骤S716中的判定的结果,新的中间页面(页面16)可能与新的最上方页面(页面32)或新的最下方页面(页面0)不同。因此,控制器130可以基于新的最上方页面(页面32)、新的最下方页面(页面0)和新的中间页面(页面16)重复步骤S706至S716的进程。
图6和图8中所示的带圆圈的数字②至⑤可以对应于控制器130在第二至第五次重复步骤S706至S716期间顺序设置的中间页面。
当第六次执行步骤S706的进程时,最下方页面是图6的页面20(对应于图8中所示的块0的页面5),最上方页面是页面22(对应于图8中所示的块2的页面5),并且中间页面是页面21(对应于图8中所示的块1的页面5)。存储器装置150可以响应于控制器130的控制来读取块1的页面5,其对应于图6的页面21。图6和图8中带圆圈的数字⑥可以对应于存储器装置150在第六次迭代中读取的中间页面。
在步骤S708中,由于块1的页面5(即中间页面,页面21)处于编程状态,所以在步骤S710中控制器130可以将页面21设置为新的最下方页面。在步骤S714中,新的最下方页面可以是页面21,新的最上方页面可以是页面22,新的中间页面可以是页面22。
在步骤S716中,可以确定最上方页面(页面22)和中间页面(页面22)是相同的。因此,在步骤S718中,控制器130可以将与图6的页面22相对应的图5的块2的页面5设置为超级块的第一擦除页面,并结束开放存储块扫描。
根据本发明的实施例,控制器130可以基于超级块的第一擦除页面(例如中间页面,页面22)来执行SPOR。
具体地说,控制器130可以将从图6的页面22开始的四个页面,即分别对应于块2的页面5、块3的页面5、块0的页面6和块1的页面6的页面22至页面25,根据交织方案按照被编程的顺序设置为超级块中的存储块的第一擦除页面。
根据本发明的实施例,控制器130可以对每个存储块的第一擦除页面执行虚拟编程操作。
如上所述,根据本发明的实施例,当基于如参照图6所述的超级块中的页面被编程的顺序对超级块执行二进制搜索时,如图8所示,可以通过仅执行六次读取操作来检测每个存储块的第一擦除页面。可以仅通过执行总共N+M次读取操作来完成包括2M个存储块的超级块的开放存储块扫描,每个存储块包括2N个页面。因此,随着根据开放存储块扫描的读取操作的次数减少,可以减少存储器***110中的SPOR操作所需的时间,并且可以防止由读取操作引起的读取干扰。
参照图9至图17,详细描述了可以应用参照图1至图8描述的包括存储器装置150和控制器130的存储器***110的数据处理***和电子装置。
图9是示意性地示出根据实施例的包括存储器***的数据处理***的示图。图9示意性地示出了可以应用存储器***的存储卡***。
参照图9,存储卡***6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可被连接至通过非易失性存储器实施的存储器装置6130,并被配置成访问存储器装置6130。例如,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机之间的接口连接并驱动固件以控制存储器装置6130。也就是说,存储器控制器6120可对应于参照图1描述的存储器***110的控制器130,并且存储器装置6130可对应于参照图1描述的存储器***110的存储器装置150。
因此,存储器控制器6120可包括RAM、处理器、主机接口、存储器接口和错误校正部件。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1所述,存储器控制器6120可被配置成通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、***组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机***接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪速存储(UFS)、WIFI以及蓝牙。因此,存储器***和数据处理***可应用于有线/无线电子装置,特别是移动电子装置。
存储器装置6130可通过非易失性存储器来实施。例如,存储器装置6130可利用诸如以下的各种非易失性存储器装置中的任何一种来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋转移力矩磁性RAM(STT-MRAM)。
存储器控制器6120和存储器装置6130可被集成至单个半导体装置中。例如,存储器控制器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可用作诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质,如参照图1所描述的。存储器装置6230可对应于图1所示的存储器***110中的存储器装置150,并且存储器控制器6220可对应于图1所示的存储器***110中的控制器130。
存储器控制器6220可响应于主机6210的请求控制对存储器装置6230的读取操作、写入操作或擦除操作,并且存储器控制器6220可包括一个或多个CPU 6221、诸如RAM 6222的缓冲存储器、ECC电路6223、主机接口6224以及诸如NVM接口6225的存储器接口。
CPU 6221可控制对存储器装置6230的整体操作,例如读取操作、写入操作、文件***管理操作和坏页面管理操作。RAM 6222可根据CPU 6221的控制来操作,并且用作工作存储器、缓冲存储器或高速缓冲存储器。当RAM 6222用作工作存储器时,由CPU 6221处理的数据可以临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222可用于缓冲从主机6210传输到存储器装置6230或从存储器装置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码、涡轮码、里德-所罗门码、卷积码、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和用于控制多个SSD6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可根据多个RAID级别,即,从SSD 6300中的主机6310提供的写入命令的RAID级别信息,选择一个或多个存储器***或SSD 6300,并将对应于写入命令的数据输出到选择的SSD 6300。此外,当RAID控制器响应于从SSD 6300中的主机6310提供的读取命令执行读取操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的读取命令的RAID级别信息,选择一个或多个存储器***或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可通过例如MIPI(移动产业处理器接口)中的MIPI M-PHY和MIPI UniPro(统一协议)的UFS接口彼此通信。此外,UFS装置6520、6620、6720和6820与UFS卡6530、6630、6730和6830可通过除UFS协议以外的各种协议,例如UFDs、MMC、SD、迷你-SD和微型-SD彼此通信。
在图13所示的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。
在图14所示的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。
在图15所示的UFS***6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可包括UniPro,并且主机6710可通过执行交换操作的交换模块6740,例如,通过在UniPro处执行例如L3交换的链路层交换的交换模块6740,与UFS装置6720或UFS卡6730通信。UFS装置6720和UFS卡6730可通过交换模块6740在UniPro处的的链路层交换来彼此通信,并且交换模块6740可在UFS装置6720内部或外部与UFS装置6720集成为一个模块。根据实施例,作为示例示出了其中一个UFS装置6720和一个UFS卡6730连接到交换模块6740的配置。然而,每个都包括交换模块6740和UFS装置6720的多个模块可并联或以星型形式连接至主机6710,或者串联或以链型形式彼此连接。此外,多个UFS卡可并联或以星型形式连接至UFS装置6720。
在图16所示的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。
图17是示意性地示出根据实施例的包括存储器***的数据处理***的另一示例的示图。图17是示意性地示出可以应用存储器***的用户***的示图。
参照图17,用户***6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可以驱动包括在例如OS的用户***6900中的部件,并且包括控制用户***6900中包括的部件的控制器、接口、图形引擎。应用处理器6930可被设置为片上***(SoC)。
存储器模块6920可用作用户***6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3SDRAM、LPDDR SDARM、LPDDR2 SDRAM或LPDDR3 SDRAM的易失性RAM,或者诸如PRAM、ReRAM、MRAM或FRAM的非易失性RAM。例如,可基于POP(叠层封装)来封装和安装应用处理器6930和存储器模块6920。
网络模块6940可与外部装置通信。例如,网络模块6940不仅可支持有线通信,还可支持诸如以下的各种无线通信:码分多址(CDMA)、全球移动通信***(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(Wimax)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI-DI),从而与有线/无线电子装置或特别是移动电子装置通信。因此,存储器***和数据处理***可应用于有线/无线电子装置。网络模块6940可被包括在应用处理器6930中。
存储模块6950可存储数据,例如从应用处理器6930接收到的数据,并且将存储的数据传输到应用处理器6930。存储模块6950可由诸如以下的非易失性半导体存储器装置实现:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪存、NOR闪存和3D NAND闪存,并且存储模块6950可被设置为诸如用户***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 (9)
1.一种用于操作存储器***的方法,所述方法包括:
通过根据基于超级块中页面被编程的编程顺序的二进制搜索方案扫描所述超级块,来检测由存储块形成的所述超级块的第一擦除页面;以及
基于所检测的第一擦除页面执行突然断电恢复,即SPOR,
其中通过以所述二进制搜索方案扫描所述超级块来检测所述超级块的第一擦除页面包括:
基于所述编程顺序中最下方页面和最上方页面设置中间页面;
根据所述中间页面是否处于擦除状态设置新的最下方页面、新的最上方页面和新的中间页面;以及
当所述新的中间页面与所述新的最下方页面和所述新的最上方页面中的至少一个相同时,将所述新的中间页面设置为所述第一擦除页面。
2.根据权利要求1所述的方法,其中基于对所述超级块执行的交织方案确定所述编程顺序。
3.根据权利要求2所述的方法,其中从所述存储器***的存储器管芯中选择所述超级块的存储块,使得从每个所述存储器管芯中选择至少一个存储块。
4.根据权利要求1所述的方法,其中基于所述第一擦除页面执行SPOR包括:按从所检测的第一擦除页面开始的所述编程顺序利用虚拟数据对页面进行编程。
5.一种存储器***,包括:
存储器装置;以及
控制器,控制所述存储器装置,
其中所述控制器通过根据基于超级块中页面被编程的编程顺序的二进制搜索方案扫描所述超级块,来检测由存储块形成的所述超级块的第一擦除页面,并基于所检测的第一擦除页面执行突然断电恢复,即SPOR,
其中,在检测所述超级块的第一擦除页面时,所述控制器
基于所述编程顺序中最下方页面和最上方页面设置中间页面;
根据所述中间页面是否处于擦除状态设置新的最下方页面、新的最上方页面和新的中间页面;以及
当所述新的中间页面与所述新的最下方页面和所述新的最上方页面中的至少一个相同时,将所述新的中间页面设置为所述第一擦除页面。
6.根据权利要求5所述的存储器***,其中基于对所述超级块执行的交织方案确定所述编程顺序。
7.根据权利要求6所述的存储器***,其中从所述存储器***的存储器管芯中选择所述超级块的存储块,使得从每个所述存储器管芯中选择至少一个存储块。
8.根据权利要求5所述的存储器***,其中所述控制器通过从所检测的第一擦除页面开始按所述编程顺序利用虚拟数据对页面进行编程来执行所述SPOR。
9.一种存储器***,包括:
存储器装置,包括具有两个或更多个存储块的超级块,每个所述存储块均由页面配置;以及
控制器:
控制所述存储器装置以根据所述存储块之中所述页面的交织编程顺序对所述超级块执行编程操作;
根据针对所述交织编程顺序的线性搜索方案,检测所述页面之中的全局第一擦除页面;
基于所述全局第一擦除页面,根据所述交织编程顺序检测各个存储块的局部第一擦除页面;以及
控制所述存储器装置以根据所述交织编程顺序和所述局部第一擦除页面对所述存储块执行突然断电恢复操作,
其中,在检测各个存储块的局部第一擦除页面时,所述控制器基于所述编程顺序中最下方页面和最上方页面设置中间页面;
根据所述中间页面是否处于擦除状态设置新的最下方页面、新的最上方页面和新的中间页面;以及
当所述新的中间页面与所述新的最下方页面和所述新的最上方页面中的至少一个相同时,将所述新的中间页面设置为所述局部第一擦除页面。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0055181 | 2018-05-15 | ||
KR1020180055181A KR102583810B1 (ko) | 2018-05-15 | 2018-05-15 | 메모리 시스템 및 메모리 시스템의 동작방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110489271A CN110489271A (zh) | 2019-11-22 |
CN110489271B true CN110489271B (zh) | 2023-08-04 |
Family
ID=68533044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811581060.1A Active CN110489271B (zh) | 2018-05-15 | 2018-12-24 | 存储器***及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10732874B2 (zh) |
KR (1) | KR102583810B1 (zh) |
CN (1) | CN110489271B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102675371B1 (ko) * | 2018-12-12 | 2024-06-17 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR102610395B1 (ko) * | 2019-01-22 | 2023-12-05 | 삼성전자주식회사 | 비휘발성 메모리 장치를 포함하는 메모리 시스템 |
JP7258697B2 (ja) * | 2019-09-02 | 2023-04-17 | キオクシア株式会社 | 半導体記憶装置 |
CN117693513A (zh) | 2021-07-30 | 2024-03-12 | 默克专利股份有限公司 | 二有机锡二卤化物的制备 |
KR20230056901A (ko) * | 2021-10-21 | 2023-04-28 | 에스케이하이닉스 주식회사 | 메모리 장치에 데이터를 프로그램하는 장치 및 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2285096A1 (en) * | 1991-11-12 | 1993-05-13 | Ibm Canada Limited-Ibm Canada Limitee | Logical mapping of data objects using data spaces |
CN106775444A (zh) * | 2015-11-23 | 2017-05-31 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN107229577A (zh) * | 2015-03-25 | 2017-10-03 | 爱思开海力士有限公司 | 存储***及其操作方法 |
CN107957849A (zh) * | 2016-10-14 | 2018-04-24 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102117929B1 (ko) * | 2013-09-10 | 2020-06-02 | 에스케이하이닉스 주식회사 | 데이터 저장 시스템 및 그것의 동작 방법 |
KR20150045747A (ko) * | 2013-10-21 | 2015-04-29 | 에스케이하이닉스 주식회사 | 데이터 저장 시스템 및 그것의 동작 방법 |
CN106095699B (zh) * | 2015-03-20 | 2020-12-01 | 爱思开海力士有限公司 | 用于快闪存储器的可扩展spor算法 |
KR102435026B1 (ko) * | 2015-12-15 | 2022-08-22 | 삼성전자주식회사 | 저장 장치의 동작 방법 |
KR102547642B1 (ko) * | 2016-05-18 | 2023-06-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR102529696B1 (ko) * | 2016-07-14 | 2023-05-10 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102593178B1 (ko) * | 2016-08-19 | 2023-10-25 | 에스케이하이닉스 주식회사 | 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 동작 방법 |
KR102259256B1 (ko) * | 2017-05-16 | 2021-06-02 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR20190019675A (ko) * | 2017-08-18 | 2019-02-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
TWI646535B (zh) * | 2017-12-27 | 2019-01-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體操作方法 |
TWI645404B (zh) * | 2017-12-28 | 2018-12-21 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體操作方法 |
KR102430798B1 (ko) * | 2018-01-11 | 2022-08-10 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20190092054A (ko) * | 2018-01-30 | 2019-08-07 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20190100782A (ko) * | 2018-02-21 | 2019-08-29 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
KR102571747B1 (ko) * | 2018-04-06 | 2023-08-29 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR20200018060A (ko) * | 2018-08-10 | 2020-02-19 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
TWI677879B (zh) * | 2018-09-03 | 2019-11-21 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
-
2018
- 2018-05-15 KR KR1020180055181A patent/KR102583810B1/ko active IP Right Grant
- 2018-12-18 US US16/223,768 patent/US10732874B2/en active Active
- 2018-12-24 CN CN201811581060.1A patent/CN110489271B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2285096A1 (en) * | 1991-11-12 | 1993-05-13 | Ibm Canada Limited-Ibm Canada Limitee | Logical mapping of data objects using data spaces |
CN107229577A (zh) * | 2015-03-25 | 2017-10-03 | 爱思开海力士有限公司 | 存储***及其操作方法 |
CN106775444A (zh) * | 2015-11-23 | 2017-05-31 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN107957849A (zh) * | 2016-10-14 | 2018-04-24 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US10732874B2 (en) | 2020-08-04 |
CN110489271A (zh) | 2019-11-22 |
KR20190130719A (ko) | 2019-11-25 |
US20190354288A1 (en) | 2019-11-21 |
KR102583810B1 (ko) | 2023-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110399311B (zh) | 存储器***及该存储器***的操作方法 | |
CN108121669B (zh) | 存储器***及其操作方法 | |
CN107643985B (zh) | 存储器***及其操作方法 | |
CN108304141B (zh) | 存储器***及其操作方法 | |
CN107957849B (zh) | 存储器***及其操作方法 | |
CN107491396B (zh) | 存储器***及其操作方法 | |
US10606710B2 (en) | Controller, memory system and operating method thereof | |
US10452431B2 (en) | Data processing system and operating method thereof | |
US10489078B2 (en) | Controller keeping a sequence of data and operating method thereof | |
CN107346214B (zh) | 存储器***及其操作方法 | |
US20180074718A1 (en) | Memory system and method for operating the same | |
CN108108308B (zh) | 存储器***及其操作方法 | |
CN109390003B (zh) | 存储器***及其操作方法 | |
CN110489271B (zh) | 存储器***及其操作方法 | |
CN110457230B (zh) | 存储器***及其操作方法 | |
CN110750207B (zh) | 存储器***及其操作方法 | |
CN110197692B (zh) | 存储器***及其操作方法 | |
CN110032471B (zh) | 存储器***及其操作方法 | |
CN107562653B (zh) | 存储器***及其操作方法 | |
CN108389602B (zh) | 存储器***及其操作方法 | |
CN109933468B (zh) | 存储器***及其操作方法 | |
US20200210295A1 (en) | Memory system and operating method thereof | |
CN110045914B (zh) | 存储器***及其操作方法 | |
CN110765029A (zh) | 控制器及用于操作该控制器的方法 | |
CN107728932B (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 |