CN106775444A - 存储器系统及其操作方法 - Google Patents
存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN106775444A CN106775444A CN201610563130.5A CN201610563130A CN106775444A CN 106775444 A CN106775444 A CN 106775444A CN 201610563130 A CN201610563130 A CN 201610563130A CN 106775444 A CN106775444 A CN 106775444A
- Authority
- CN
- China
- Prior art keywords
- data
- auxiliary block
- cache buffer
- programmed
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- 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/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
- 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/08—Address circuits; Decoders; Word-line control 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1042—Read-write modes for single port memories, i.e. having either a random port or a serial port using interleaving techniques, i.e. read-write of one part of the memory while preparing another part
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/604—Details relating to cache allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- 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/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开一种存储器系统,其可以包括:第一存储器装置,其包括第一标准块和第一辅助块;第二存储器装置,其包括第二标准块和第二辅助块;以及控制器,其被配置为以交织方案操作第一存储器装置和第二存储器装置,其中控制器:当缓存最近输入的第一数据时检查缓存缓冲器的首先使用区域,当缓存缓冲器的首先使用区域小于预定大小时将第一数据编程在第一辅助块或第二辅助块中而不从缓存缓冲器擦除第一数据,以及当缓存缓冲器的首先使用区域等于或大于预定大小时,将占据缓存缓冲器的首先使用区域的一部分的预定大小的第二数据编程至第一标准块或第二标准块同时从缓存缓冲器擦除第二数据。
Description
相关申请的交叉引用
本申请要求于2015年11月23日提交的申请号为10-2015-0163874的韩国专利申请的优先权,其公开通过引用以其整体并入本文。
技术领域
示例性实施例涉及一种半导体设计技术,且更特别地,涉及一种支持单触发编程操作的存储器系统以及其操作方法。
背景技术
计算机环境范例已转变为可在任何地方任何时间使用的普适计算系统,导致诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用快速增加。这些便携式电子装置可以使用具有用于存储数据的存储器装置即数据存储装置的存储器系统。数据存储装置可被用作便携式电子装置的主存储器装置或辅助存储器装置。
使用半导体存储器装置的数据存储装置提供优良的稳定性、耐用性、高的信息访问速度和低功耗。具有这种优点的数据存储装置的实例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
发明内容
各自实施例涉及一种甚至在输入小于预定大小的数据的情况下能够支持有效的单触发编程操作的存储器系统,以及其操作方法。
在一个实施例中,存储器系统可以包括:第一存储器装置,其包括第一标准块和第一辅助块;第二存储器装置,其包括第二标准块和第二辅助块;以及控制器,其被配置为以交织方案操作第一存储器装置和第二存储器装置,其中控制器:当缓冲最近输入的第一数据时检查缓存缓冲器的首先使用区域,当缓存缓冲器的首先使用区域小于预定大小时将第一数据编程在第一或第二辅助块中而不从缓存缓冲器擦除第一数据,以及当缓存缓冲器的首先使用区域等于或大于预定大小时,将占据缓存缓冲器的首先使用区域的一部分的预定大小的第二数据编程至第一或第二标准块同时从缓存缓冲器擦除第二数据。
在当在第一数据之前输入的第三数据保留在缓存缓冲器中时输入第一数据的情况下,控制器可进一步将第一数据与第三数据一起缓冲在缓存缓冲器中。
控制器可以将关于第一数据的物理地址和逻辑地址以及第二数据的物理地址的映射信息存储在地址管理区域中,且可以不将第二数据的逻辑地址存储在地址管理区域中。
控制器可以将指示第一辅助块的空白空间开始的位置的物理地址编程在地址管理区域中,作为第一存储位置信息,并可以将指示第二辅助块的空白空间开始的位置的物理地址编程在地址管理区域中,作为第二存储位置信息。
当以交织方案操作第一存储器装置时,控制器可以将第一数据编程在第一辅助块中或将第二数据编程在第一标准块中,并且当以交织方案操作第二存储器装置时,控制器可以将第一数据编程在第二辅助块中或将第二数据编程在第二标准块中。
当以交织方案操作第一存储器装置时,控制器可以将第二数据与第二存储位置信息编程在第一标准块中,并且当以交织方案操作第二存储器装置时,控制器可以将第二数据与第一存储位置信息编程在第二标准块中。
在当以交织方案操作第一存储器装置时第一数据被编程在第一辅助块中的情况下,控制器可以使用第一存储位置信息将第一数据编程在第一辅助块的空白空间中,然后更新第一存储位置信息;在当以交织方案操作第二存储器装置时第一数据被编程在第二辅助块中的情况下,控制器可以使用第二存储位置信息将第一数据编程在第二辅助块的空白空间中,然后更新第二存储位置信息。
当第一数据和第三数据的大小等于或大于预定大小时,控制器可以将作为第二数据的第一数据和第三数据编程在第一或第二标准块中。
当第一数据被同时存储在第一和第二辅助块的任一个中和缓存缓冲器中时,控制器可以在第一或第二辅助块中将第一数据管理为有效状态;并且当第一数据被同时存储在第一和第二辅助块的任一个中和第一和第二标准块的任一个中时,控制器可以在第一或第二辅助块中将第一数据管理为无效状态。
在启动操作期间,控制器可以将存储在第一和第二辅助块中的有效状态的第一数据缓冲在缓存缓冲器中,可以读取存储在第一标准块中的第二存储位置信息和存储在第二标准块中的第一存储位置信息,并且可以将第一和第二存储位置信息存储在地址管理区域中。
控制器可以使用第一或第二存储位置信息检查第一或第二辅助块的第二使用区域,并且当第二使用区域超过预定可用大小时可以擦除第一或第二辅助块。
控制器可以仅对第一和第二标准块执行后台操作(background operation),后台操作可以包括垃圾收集操作、平均读写操作和读取收回操作;并且控制器可以不对第一和第二辅助块执行后台操作。
在一个实施例中,提供了操作具有第一存储器装置和第二存储器装置的存储器系统的方法,第一存储器装置包括第一标准块和第一辅助块,第二存储器装置包括第二标准块和第二辅助块,该方法可以包括:以交织方案操作第一存储器装置和第二存储器装置;当缓冲最近输入的第一数据时检查缓存缓冲器的首先使用区域;当缓存缓冲器的首先使用区域小于预定大小时,将第一数据编程在第一或第二辅助块中而不从缓存缓冲器擦除第一数据;以及当缓存缓冲器的首先使用区域等于或大于预定大小时将占据缓存缓冲器的首先使用区域的一部分的预定大小的第二数据编程至第一或第二标准块同时从缓存缓冲器擦除第二数据。
在当在第一数据之前输入的第三数据保留在缓存缓冲器中时输入第一数据的情况下,第一数据的缓冲可以包括将第三数据与第一数据一起 缓冲在缓存缓冲器中。
方法可以进一步包括:将关于第一数据的物理地址和逻辑地址以及第二数据的物理地址的映射信息存储在地址管理区域中;以及不将第二数据的逻辑地址存储在地址管理区域中。
方法可以进一步包括:将指示第一辅助块的空白空间开始的位置的物理地址存储在地址管理区域中,作为第一存储位置信息;以及将指示第二辅助块的空白空间开始的位置的物理地址存储在地址管理区域中,作为第二存储位置信息。
当缓存缓冲器的首先使用区域等于或大于预定大小时从缓存缓冲器擦除第二数据可以包括:根据交织方案选择第一存储器装置或第二存储器装置;当选择第一存储器装置时,将第二数据与第二存储位置信息编程在第一标准块中并从缓存缓冲器擦除第二数据;以及当选择第二存储器装置时,将第二数据与第一存储位置信息编程在第二标准块中并从缓存缓冲器擦除第二数据。
当缓存缓冲器的首先使用区域小于预定大小时,不从缓存缓冲器擦除第一数据可以包括:根据交织方案选择第一存储器装置或第二存储器装置;当选择第一存储器装置时,使用第一存储位置信息将第一数据编程在第一辅助块的空白空间中,更新第一存储位置信息,并不从缓存缓冲器擦除第一数据;以及当选择第二存储器装置时,使用第二存储位置信息将第一数据编程在第二辅助块的空白空间中,更新第二存储位置信息,并不从缓存缓冲器擦除第一数据。
当第一数据和第三数据的大小等于或大于预定大小时,预定大小的第二数据的编程可以包括将作为第二数据的第一数据和第三数据编程在第一或第二标准块中。
方法可以进一步包括:当第一数据被同时存储在第一和第二辅助块的任一个中和缓存缓冲器中时,在第一或第二辅助块中将第一数据管理为有效状态;以及当第一数据被同时存储在第一和第二辅助块的任一个中和第一和第二标准块的任一个中时,在第一或第二辅助块中将第一数 据管理为无效状态。
方法可以进一步包括:在启动操作期间,将存储在第一和第二辅助块中的有效状态的第一数据缓冲在缓存缓冲器中;在启动操作期间,读取存储在第一标准块中的第二存储位置信息和存储在第二标准块中的第一存储位置信息;以及在启动操作期间,将第一和第二存储位置信息存储在地址管理区域中。
方法可以进一步包括:使用第一或第二存储位置信息检查第一或第二辅助块的第二使用区域;当第二使用区域超过预定可使用大小时擦除第一或第二辅助块;仅对第一和第二标准块执行后台操作,且不对第一和第二辅助块执行后台操作,后台操作可以包括垃圾收集操作、平均读写操作和读取收回操作。
附图说明
图1是示出在本发明的一个实施例中的包括存储器系统的数据处理系统的简图。
图2是示出在图1中所示的存储器系统中的存储器装置的简图。
图3是示出在本发明的一个实施例中的存储器装置中的存储块的电路图。
图4-图11是示意性示出图2中所示的存储器装置的简图。
图12A至图12J是说明根据第一实施例的存储器系统的单触发编程操作的框图。
图13A和图13B是说明根据第二实施例的存储器系统的单触发编程操作的框图。
图14是说明根据第一和第二实施例的存储器系统的启动操作的框图。
具体实施方式
以下将参照附图更详细地描述各自实施例。但是,本发明可以体现为不同的形式且不应被解释为限于本文所阐述的实施例。而是,这些实 施例的提供使得本公开将更完整和全面并且将本发明的范围完全传达给本领域技术人员。本公开通篇中,在本发明的各幅附图和实施例中,相同的参考标号指代相同的部件。
参照图1,根据本发明的一个实施例,提供了数据处理系统100。数据处理系统100可以包括主机102和存储器系统110。
主机102可以包括任何适合的电子装置。例如,主机102可以包括便携式电子装置,诸如移动电话、MP3播放器、笔记本电脑等。主机可以包括非便携式电子装置,诸如台式计算机、游戏机、电视、投影仪等。
存储器系统110可以响应于来自主机102的请求而操作。例如,存储器系统可以存储将由主机102访问的数据。存储器系统110可被用作主机102的主存储器系统或辅助存储器系统。存储器系统110可以根据与主机102电联接的主机接口的协议用任何适合的存储装置来实现。可以使用一种或多种半导体存储器装置。可以使用易失性或非易失性存储器装置。例如,存储器系统110可以用固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、减小尺寸的MMC(RS-MMC)和微型-MMC、安全数字(SD)卡、迷你-SD和微型-SD、通用串行总线(USB)存储装置、通用闪速存储(UFS)装置、标准闪存(CF)卡、智能媒体(SM)卡、记忆棒等来实现。
用于存储器系统110的存储装置可以用诸如动态随机存取存储器(DRAM)及静态随机存取存储器(SRAM)的易失性存储器装置或诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电随机存取存储器(FRAM)、相变RAM(PRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)等的非易失性存储器装置来实现。
存储器系统110可以包括存储将由主机102访问的数据的存储器装置150,以及可控制数据在存储器装置150中的存储的控制器130。
控制器130和存储器装置150可以被集成到单个半导体装置中。例如,控制器130和存储器装置150可以被集成到被配置为固态驱动器 (SSD)的一个半导体装置中。存储器系统110被配置为SSD,通常可允许主机102的操作速度显著增加。
控制器130和存储器装置150可以被集成到配置为诸如以下的存储卡的单个半导体装置中:个人计算机存储卡国际协会(PCMCIA)卡、标准闪存(CF)卡、智能媒体(SM)卡(SMC)、记忆棒、多媒体卡(MMC)、RS-MMC和微型-MMC、安全数字(SD)卡、迷你-SD、微型-SD和SDHC、通用闪速存储(UFS)装置等。
而且,例如,存储器系统110可以是或配置为计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航装置、黑盒子、数字照相机、数字多媒体广播(DMB)播放器、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、配置数据中心的存储器、能够在无线环境下发送和接收信息的装置、配置家庭网络的各种电子装置之一、配置计算机网络的各种电子装置之一、配置远程信息处理网络的各种电子装置之一、RFID装置或配置计算系统的各种构成元件之一。
存储器装置可以在写入操作期间存储从主机102提供的数据并在读取操作期间将存储的数据提供到主机102。存储器装置150可以包括一个或多个存储块152、154和156。存储块152、154和156的每个可以包括多个页面。每个页面可以包括多个存储器单元,其中多个字线(WL)可电联接至多个存储器单元。存储器装置150可以是当电源中断时保留存储的数据的非易失性存储器装置。根据一个实施例,存储器装置可以是闪速存储器。存储器装置可以是具有三维(3D)堆叠结构的闪速存储器装置。本文稍后参照图2至图11描述具有三维(3D)堆叠结构的非易失性存储器装置150的实例。
存储器系统110的控制器130可以响应于来自主机102的请求而控制存储器装置150。控制器130可将从存储器装置150读取的数据提供给 主机102,并且将由主机102提供的数据存储到存储器装置150中。为此,控制器130可以控制存储器装置150的全部操作,诸如读取、写入、编程和擦除操作。
可以使用任何适合的控制器。例如,控制器130可以包括主机接口单元132、处理器134、错误校正码(ECC)单元138、电源管理单元(PMU)140、NAND闪速控制器(NFC)142和存储器144。
主机接口单元132可以处理主机102提供的命令和/或数据。主机接口单元132可以通过诸如以下的各种接口协议的至少一种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、快速外设组件互连(PCI-E)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、小型计算机系统接口(SCSI)、加强型小型磁盘接口(ESDI)、集成驱动电子设备(IDE)等。
ECC单元138可以在读取操作期间检测并校正从存储器装置150读取的数据中的错误。可以采用各种检测和校正技术。例如,当错误位的数目大于或等于可校正错误位的阈值数目时,ECC单元138可不校正错误位,并且可输出指示校正错误位失败的错误校正失败信号。
ECC单元138可基于诸如以下的编码调制执行错误校正操作:低密度奇偶校验(LDPC)码、博斯-乔德里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、turbo码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)、分组编码调制(BCM)等。ECC单元138可包括错误检测和校正操作所需的任何和全部适合的电路、系统或装置。
PMU 140可以提供和管理用于控制器130的电源,即,用于包括在控制器130中的构成元件的电源。
NFC 142可以用作控制器130和存储器装置150之间的存储器接口,以允许控制器130响应于来自主机102的请求而控制存储器装置150。NFC 142可生成用于存储器装置150的控制信号。例如当存储器装置150是闪速存储器时,且尤其当存储器装置150是NAND闪速存储器时,NFC 可在处理器134的控制下处理数据。
存储器144可以用作存储器系统110和控制器130的工作存储器,并存储用于驱动存储器系统110和控制器130的数据。控制器130可以响应于来自主机102的请求而控制存储器装置150。例如,控制器130可以将从存储器装置150读取的数据提供到主机102,并将主机102提供的数据存储在存储器装置150中。当控制器130控制存储器装置150的操作时,存储器144可以存储控制器130和存储器装置150用于如读取、写入、编程和擦除操作的这些操作的数据。
存储器144可以用易失性存储器实现。例如,存储器144可以用静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)实现。如上所述,存储器144可以存储主机102和存储器装置150用于读取和写入操作的数据。为了存储数据,存储器144可以包括程序存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等。
处理器134可以控制存储器系统110的一个或多个一般操作。处理器134可以响应于来自主机102的写入请求或读取请求,控制用于存储器装置150的写入操作或读取操作。处理器134可以驱动被称为闪速转换层(FTL)的固件控制存储器系统110的一般操作。处理器134可以用微处理器来实现。处理器可以用中央处理单元(CPU)来实现。
管理单元(未示出)可以包括在处理器134中,并且可以执行例如存储器装置150的坏块管理。因此,管理单元可以找到包括在存储器装置150中的处于用于进一步使用的不令人满意的状况的坏存储块,并对坏存储块执行坏块管理。当存储器装置150是闪速存储器例如NAND闪速存储器时,由于NAND逻辑功能的特性,在写入操作期间可能发生编程失败。坏块管理可将编程失败的存储块或坏存储块的数据编程到新的存储块。由于编程失败导致的坏块可使存储器装置尤其是具有3D堆叠结构的存储器装置的利用效率恶化,并由此对存储器系统110的可靠性产生负面影响。
参照图2,根据一个实施例,存储器装置150可以包括多个存储块, 例如第0至第(N-1)块210至240。多个存储块210至240的每个可以包括多个页面,例如2M个页面(2M页面)。多个页面的每个可以包括多个存储器单元,其中多个字线电联接至多个存储器单元。
根据每个存储器单元中可以存储或表达的位的数目,存储块可以是单层单元(SLC)存储块或多层单元(MLC)存储块。SLC存储块可包括用存储器单元实现的多个页面,其中每个存储器单元能够存储1位数据。MLC存储块可包括用存储器单元实现的多个页面,其中每个存储器单元能够存储多位数据,例如2位或更多位数据。包括用每个能够存储3位数据的存储器单元实现的多个页面的MLC存储块可以被采用,且将被称为三层单元(TLC)存储块。
多个存储块210至240的每个可以在写入操作期间存储从主机装置102提供的数据,并且可以在读取操作期间将存储的数据提供到主机102。
参照图3,存储器装置150的存储块152可以包括分别电联接至位线BL0至BLm-1的多个单元串340。每列的单元串340可以包括至少一个漏极选择晶体管DST和至少一个源极选择晶体管SST。多个存储器单元或多个存储器单元晶体管MC0至MCn-1可以串联地电联接在选择晶体管DST和SST之间。各自存储器单元MC0至MCn-1可以由其中每个存储多个位的数据信息的多层单元(MLC)配置。串340可以分别电联接至对应的位线BL0至BLm-1。供参考,在图3中,“DSL”表示漏极选择线,“SSL”表示源极选择线,“CSL”表示共源线。
虽然存储块152由NAND闪速存储器单元配置,但应当注意,在其它实施例中,存储块152可以通过NOR闪速存储器、其中组合有至少两种存储器单元的混合闪速存储器或者其中控制器被内置在存储器芯片中的1-NAND闪速存储器来实现。而且,半导体装置的操作特性不仅可以适用于其中电荷存储层由导电浮置栅配置的闪速存储器装置,而且适用于其中电荷存储层由介电层配置的电荷捕获闪存(CTF)。
存储器装置150的电压供应块310可以提供待根据操作模式供应至各自的字线的字线电压,例如编程电压、读取电压或通过电压。电压供 应块310可提供待供应给体材料(bulk)例如其中形成有存储器单元的阱区的电压。电压供应块310可在控制电路(未示出)的控制下执行电压生成操作。电压供应块310可以生成多个可变读取电压以生成多个读取数据,在控制电路的控制下选择存储块或存储器单元阵列的扇区中的一个,选择所选择的存储块的字线中的一个,并将字线电压提供到所选择字线和未选择字线。
存储器装置150的读取/写入电路320可以由控制电路控制,并且可以根据操作模式用作读出放大器或写入驱动器。在验证/正常读取操作期间,读取/写入电路320可以用作用于从存储器单元阵列读取数据的读出放大器。而且,在编程操作期间,读取/写入电路320可以用作根据待存储在存储器单元阵列中的数据驱动位线的写入驱动器。读取/写入电路320可以在编程操作期间从缓冲器(未示出)接收待写入存储器单元阵列中的数据,并且可以根据输入的数据驱动位线。为此,读取/写入电路320可以包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322、324和326,和多个锁存器(未示出)可包括在页面缓冲器322、324和326中的每个中。
图4至图11是示出存储器装置150的各自方面的示意图。
如图4至图11中所示,存储器装置150可以包括多个存储块BLK0至BLKN-1,存储块BLK0至BLKN-1的每个可以三维(3D)结构或垂直结构实现。各自存储块BLK0至BLKN-1可以包括在第一至第三方向例如x轴方向、y轴方向和z轴方向上延伸的结构。
各自存储块BLK0至BLKN-1可以包括在第二方向上延伸的多个NAND串NS(图8)。多个NAND串NS可以设置在第一方向上和第三方向上。每个NAND串NS可以电联接至位线BL、至少一个源极选择线SSL、至少一个接地选择线GSL、多个字线WL、至少一个虚拟字线DWL以及共源线CSL。各自存储块BLK0至BLKN-1可以电联接至多个位线BL、多个源极选择线SSL、多个接地选择线GSL、多个字线WL、多个虚拟字线DWL和多个共源线CSL。
图5是图4中所示的多个存储块BLK0至BLKN-1的一个存储块BLKi的立体图。图6是图5中所示的存储块BLKi沿线I-I'截取的剖面图。
参照图5和图6,存储块BLKi可以包括在第一至第三方向上延伸的结构。
存储块可以包括衬底5111,其包括掺杂有第一类型杂质的硅材料。例如,衬底5111可以包括掺杂有p型杂质的硅材料,或可以是p型阱,例如口袋(pocket)p阱,且包括围绕p型阱的n型阱。虽然在所示实施例中假设衬底5111为p型硅,但要注意衬底5111不限于p型硅。
在第一方向上延伸的多个掺杂区域5311至5314可设置在衬底5111上方。掺杂区域在第三方向上以规律的间隔隔开。多个掺杂区域5311至5314可以包含不同于衬底5111中所用的杂质的第二类型杂质。例如,多个掺杂区域5311至5314可以掺杂有n型杂质。虽然此处假设第一至第四掺杂区域5311至5314为n型,但应注意第一至第四掺杂区域5311至5314不限于n型。
在第一掺杂区域5311和第二掺杂区域5312之间的衬底5111上方的区域中,在第一方向上延伸的多个介电材料区域5112可在第二方向上以规律的间隔隔开。介电材料区域5112和衬底5111还可以在第二方向上以预定距离彼此隔开。介电材料区域5112可以包括任何适合的介电材料,诸如,例如氧化硅。
在两个连续的掺杂区域之间例如掺杂区域5311和掺杂区域5312之间的衬底5111上方的区域中,多个柱状物5113在第一方向上以规律的间隔隔开。柱状物5113在第二方向上延伸并可以穿过介电材料区域5112,使得它们可以与衬底5111电联接。每个柱状物5113可以包括一种或多种材料。例如,每个柱状物5113可以包括内层5115和外表面层5114。表面层5114可以包括掺杂有杂质的掺杂硅材料。例如,表面层5114可以包括掺杂有与衬底5111相同的杂质或相同类型的杂质的硅材料。虽然此处作为实例假设表面层5114可以包括p型硅,但是表面层5114不限于为p型硅,且本领域技术人员可以容易地设想到其中衬底5111和柱状 物5113的表面层5114可以掺杂有n型杂质的其它实施例。
每个柱状物5113的内层5115可以由介电材料形成。内层5115可以是或包括介电材料,诸如,例如氧化硅。
在第一掺杂区域5311和第二掺杂区域5312之间的区域中,可以沿着介电材料区域5112、柱状物5113和衬底5111的暴露表面设置介电层5116。介电层5116的厚度可以小于介电材料区域5112之间的距离的一半。换句话说,其中可以设置不同于介电材料5112和介电层5116的材料的区域可以设置在(i)设置在介电材料区域5112的第一介电材料的底面上方的介电层5116和(ii)设置在介电材料区域5112的第二介电材料的顶面上方的介电层5116之间。介电材料区域5112位于第一介电材料下方。
在连续的掺杂区域之间的区域中,诸如在第一掺杂区域5311和第二掺杂区域5312之间的区域中,多个导电材料区域5211至5291可以设置在介电层5116的暴露表面上方。多个导电材料区域在第一方向上延伸并在第二方向上以与多个介电材料区域5112交错的配置以规律的间隔隔开。介电层5116填充在导电材料区域和介电材料区域5211之间的空间。因此,例如,在第一方向上延伸的导电材料区域5211可以设置在邻近衬底5111的介电材料区域5112和衬底5111之间。特别是,在第一方向上延伸的导电材料区域5211可以设置在(i)设置在衬底5111上方的介电层5116和(ii)设置在邻近衬底5111的介电材料区域5112的底面上方的介电层5116之间。
在第一方向上延伸的导电材料区域5211至5291的每个可以设置在(i)设置在介电材料区域5112之一的顶面上方的介电层5116和(ii)设置在下一个介电材料区域5112的底面上方的介电层5116之间。在第一方向上延伸的导电材料区域5221至5281可以设置在介电材料区域5112之间。在第一方向上延伸的导电材料区域5291可以设置在最上面的介电材料5112上方。在第一方向上延伸的导电材料区域5211至5291可以是或包括金属材料。在第一方向上延伸的导电材料区域5211至5291可以 是或包括导电材料,诸如多晶硅。
在第二掺杂区域5312和第三掺杂区域5313之间的区域中,可以设置与第一掺杂区域5311和第二掺杂区域5312之间的结构相同的结构。例如,在第二掺杂区域5312和第三掺杂区域5313之间的区域中,可以设置在第一方向上延伸的多个介电材料区域5112、依次排列在第一方向上并在第二方向上穿过多个介电材料区域5112的多个柱状物5113、设置在多个介电材料区域5112和多个柱状物5113的暴露表面上方的介电层5116以及在第一方向上延伸的多个导电材料区域5212至5292。
在第三掺杂区域5313和第四掺杂区域5314之间的区域中,可以设置与第一掺杂区域5311和第二掺杂区域5312之间的结构相同的结构。例如,在第三掺杂区域5313和第四掺杂区域5314之间的区域中,可以设置在第一方向上延伸的多个介电材料区域5112、依次排列在第一方向上并在第二方向上穿过多个介电材料区域5112的多个柱状物5113、设置在多个介电材料区域5112和多个柱状物5113的暴露表面上方的介电层5116以及在第一方向上延伸的多个导电材料区域5213至5293。
漏极5320可以分别设置在多个柱状物5113上方。漏极5320可以是掺杂有第二类型杂质的硅材料。漏极5320可以是掺杂有n型杂质的硅材料。虽然为了方便起见,假设漏极5320包括n型硅,但应注意漏极5320不限于为n型硅。例如,每个漏极5320的宽度可大于每个对应的柱状物5113的宽度。每个漏极5320可以焊盘的形状设置在每个对应的柱状物5113的顶面上方。
在第三方向上延伸的导电材料区域5331至5333可以设置在漏极5320上方。导电材料区域5331至5333可以依次设置在第一方向上。各自导电材料区域5331至5333可以与对应区域的漏极5320电联接。漏极5320和在第三方向上延伸的导电材料区域5331至5333可以通过接触插塞电联接。在第三方向上延伸的导电材料区域5331至5333可以是金属材料。在第三方向上延伸的导电材料区域5331至5333可以是诸如多晶硅的导电材料。
在图5和图6中,各自柱状物5113可以与介电层5116和在第一方向上延伸的导电材料区域5211至5291、5212至5292和5213至5293一起形成串。各自柱状物5113可以与介电层5116和在第一方向上延伸的导电材料区域5211至5291、5212至5292和5213至5293一起形成NAND串NS。每个NAND串NS可包括多个晶体管结构TS。
图7是图6中所示的晶体管结构TS的截面图。
参照图7,在图6中所示的晶体管结构TS中,介电层5116可以包括第一子介电层至第三子介电层5117、5118和5119。
每个柱状物5113中的p型硅的表面层5114可以用作主体。邻近柱状物5113的第一子介电层5117可用作隧穿介电层,并且可以包括热氧化层。
第二子介电层5118可用作电荷存储层。第二子介电层5118可用作电荷捕获层,并且可以包括氮化物层或金属氧化物层,诸如氧化铝层、氧化铪层等。
邻近导电材料5233的第三子介电层5119可用作阻挡介电层。邻近在第一方向上延伸的导电材料5233的第三子介电层5119可形成为单层或多层。第三子介电层5119可以是高k介电层,诸如氧化铝层、氧化铪层等,其具有比第一子介电层5117和第二子介电层5118更大的介电常数。
导电材料5233可用作栅或控制栅。也就是说,栅或控制栅5233、阻挡介电层5119、电荷存储层5118、隧穿介电层5117和主体5114可形成晶体管或存储器单元晶体管结构。例如,第一子介电层5117至第三子介电层5119可以形成氧化物-氮化物-氧化物(ONO)结构。在实施例中,为方便起见,每个柱状物5113中的p型硅的表面层5114将被称为在第二方向上的主体。
存储块BLKi可以包括多个柱状物5113。即,存储块BLKi可以包括多个NAND串NS。具体地,存储块BLKi可以包括多个在第二方向或垂直于衬底5111的方向上延伸的多个NAND串NS。
每个NAND串NS可包括设置在第二方向上的多个晶体管结构TS。每个NAND串NS的多个晶体管结构TS的至少一个可以作为串源极晶体管SST。每个NAND串NS的多个晶体管结构TS的至少一个可以作为接地选择晶体管GST。
栅或控制栅可以对应于在第一方向上延伸的导电材料5211至5291、5212至5292和5213至5293。换句话说,栅或控制栅可以在第一方向上延伸并形成字线以及至少一条源极选择线SSL和至少一条接地选择线GSL至少两条选择线。
在第三方向上延伸的导电材料区域5331至5333可以电联接至NAND串NS的一端。在第三方向上延伸的导电材料区域5331至5333可以作为位线BL。也就是说,在一个存储块BLKi中,多个NAND串NS可以电联接至位线BL。
在第一方向上延伸的第二类型掺杂区域5311至5314可以被设置到NAND串NS的另一端。在第一方向上延伸的第二类型掺杂区域5311至5314可以作为共源线CSL。
也就是说,存储块BLKi可以包括在垂直于衬底5111的方向例如第二方向上延伸的多个NAND串NS,并且可以作为例如电荷捕获型存储器的NAND闪速存储块,其中多个NAND串NS电联接至一个位线BL。
虽然在图5至图7中示出在第一方向上延伸的导电材料区域5211至5291、5212至5292和5213至5293被设置为9层,但应注意,在第一方向上延伸的导电材料区域5211至5291、5212至5292和5213至5293不限于被设置为9层。例如,在第一方向上延伸的导电材料区域可被设置为8层、16层或任何多层。换句话说,在一个NAND串NS中,晶体管的数目可以是8、16或更多。
虽然在图5至图7中示出3个NAND串NS电联接至一个位线BL,但应注意该实施例不限于具有电联接至一个位线BL的3个NAND串NS。在存储块BLKi中,m个NAND串NS可以电联接至一个位线BL,m是正整数。根据电联接至一个位线BL的NAND串NS的数目,也可以控 制在第一方向上延伸的导电材料区域5211至5291、5212至5292和5213至5293的数目和共源线5311至5314的数目。
此外,虽然图5至图7中示出3个NAND串NS电联接至在第一方向上延伸的一个导电材料,但是应注意该实施例不限于具有电联接至在第一方向上延伸的一个导电材料的3个NAND串NS。例如,n个NAND串NS可以电联接至在第一方向上延伸的一个导电材料,n是正整数。根据电联接至在第一方向上延伸的一个导电材料的NAND串NS的数目,也可以控制位线5331至5333的数目。
图8是示出如参照图5-图7所描述的具有第一结构的存储块BLKi的等效电路图。
参照图8,块BLKi可以具有在第一位线BL1和共源线CSL之间的多个NAND串NS11至NS31。第一位线BL1可对应于图5和图6的在第三方向上延伸的导电材料区域5331。NAND串NS12至NS32可以设置在第二位线BL2和共源线CSL之间。第二位线BL2可对应于图5和图6的在第三方向上延伸的导电材料区域5332。NAND串NS13至NS33可以设置在第三位线BL3和共源线CSL之间。第三位线BL3可对应于图5和图6的在第三方向上延伸的导电材料区域5333。
每个NAND串NS的源极选择晶体管SST可以电联接至对应的位线BL。每个NAND串NS的接地选择晶体管GST可以电联接至共源线CSL。存储器单元MC可以设置在每个NAND串NS的源极选择晶体管SST和接地选择晶体管GST之间。
在该实例中,NAND串NS可以通过行和列的单元定义,且电联接至一个位线的NAND串NS可以形成一列。电联接至第一位线BL1的NAND串NS11至NS31可对应于第一列,电联接至第二位线BL2的NAND串NS12至NS32可对应于第二列,电联接至第三位线BL3的NAND串NS13至NS33可对应于第三列。电联接至一个源极选择线SSL的NAND串NS可形成一行。电联接至第一源极选择线SSL1的NAND串NS11至NS13可形成第一行,电联接至第二源极选择线SSL2的NAND串NS21至NS23可形成第二行,电联接至第三源极选择线SSL3的NAND串NS31至NS33可形成第三行。
在每个NAND串NS中,高度可被定义。在每个NAND串NS中,邻近接地选择晶体管GST的存储器单元MC1的高度可具有值“1”。在每个NAND串NS中,当从衬底5111测量时,存储器单元的高度可随着存储器单元接近源极选择晶体管SST而增加。例如,在每个NAND串NS中,邻近源极选择晶体管SST的存储器单元MC6的高度可以是7。
在同一行中的NAND串NS的源极选择晶体管SST可以共享源极选择线SSL。在不同行中的NAND串NS的源极选择晶体管SST可以分别电联接至不同的源极选择线SSL1、SSL2和SSL3。
相同行中的NAND串NS中相同高度处的存储器单元可以共享字线WL。也就是说,在同一高度处,电联接至不同行中的NAND串NS的存储器单元MC的字线WL可以电联接。在同一行的NAND串NS中相同高度处的虚拟存储器单元DMC可以共享虚拟字线DWL。即,在同一高度或水平处,电联接至不同行中的NAND串NS的虚拟存储器单元DMC的虚拟字线DWL可以电联接。
位于同一水平或高度或层处的字线WL或虚拟字线DWL可以在其中可以设置在第一方向上延伸的导电材料区域5211至5291、5212至5292和5213至5293的层处相互电联接。在第一方向上延伸的导电材料区域5211至5291、5212至5292和5213至5293可以通过接触部共同电联接至上层。在上层处,在第一方向上延伸的导电材料区域5211至5291、5212至5292和5213至5293可以电联接。换言之,同一行中的NAND串NS的接地选择晶体管GST可以共享接地选择线GSL。而且,不同行中的NAND串NS的接地选择晶体管GST可以共享接地选择线GSL。也就是说,NAND串NS11至NS13、NS21至NS23和NS31至NS33可以电联接至接地选择线GSL。
共源线CSL可以电联接至NAND串NS。在有源区域上方和衬底5111上方,第一掺杂区域5311至第四掺杂区域5314可以电联接。第一掺杂 区域5311至第四掺杂区域5314可以通过接触部电联接至上层,在上层处,第一掺杂区域5311至第四掺杂区域5314可以电联接。
例如,如图8中所示,相同高度或水平的字线WL可以电联接。因此,当在特定高度处的字线WL被选择时,电联接至字线WL的所有NAND串NS可以被选择。不同行中的NAND串NS可以电联接至不同的源极选择线SSL。因此,在电联接至同一字线WL的NAND串NS中,通过选择源极选择线SSL1至SSL3之一,未选择的行中的NAND串NS可以与位线BL1至BL3电隔离。换言之,通过选择源极选择线SSL1至SSL3之一,可以选择NAND串NS的行。此外,通过选择位线BL1至BL3之一,在选择的行中的NAND串NS可以在列的单元中被选择。
在每个NAND串NS中,可以设置虚拟存储器单元DMC。在图8中,虚拟存储器单元DMC可以设置在每个NAND串NS中的第三存储器单元MC3和第四存储器单元MC4之间。也就是说,第一存储器单元MC1至第三存储器单元MC3可设置在虚拟存储器单元DMC和接地选择晶体管GST之间。第四存储器单元MC4至第六存储器单元MC6可以设置在虚拟存储器单元DMC和源极选择晶体管SST之间。每个NAND串NS的存储器单元MC可被虚拟存储器单元DMC划分成存储器单元组。在划分的存储器单元组中,邻近接地选择晶体管GST的存储器单元例如MC1至MC3可以被称为下部存储器单元组,邻近串选择晶体管SST的存储器单元例如MC4到MC6可以被称为上部存储器单元组。
下文将参照图9至图11进行详细的描述,图9至图11示出根据本发明的另一实施例的存储器系统中的存储器装置。
特别是,图9是示意性示出用不同于上文参照图5至图8所述的第一结构的三维(3D)非易失性存储器装置实现的存储器装置的立体图。图10是示出沿图9的线VII-VII'截取的存储块BLKj的截面图。
参照图9和图10,存储块BLKj可以包括在第一至第三方向上延伸的结构,且可以包括衬底6311。衬底6311可以包括掺杂有第一类型杂质的硅材料。例如,衬底6311可以包括掺杂有p型杂质的硅材料或可以是 p型阱,例如口袋p阱,且包括围绕p型阱的n型阱。虽然在示出的实施例中假设衬底6311为p型硅,但应注意衬底6311不限于为p型硅。
在x轴方向和y轴方向上延伸的第一导电材料区域6321至第四导电材料区域6324被设置在衬底6311上方。第一导电材料区域6321至第四导电材料区域6324可以在z轴方向上以预定距离隔开。
在x轴方向和y轴方向上延伸的第五导电材料区域6325至第八导电材料区域6328被设置在衬底6311上方。第五导电材料区域6325至第八导电材料区域6328可以在z轴方向上以预定距离隔开。第五导电材料区域6325至第八导电材料区域6328可以在y轴方向上与第一导电材料区域6321至第四导电材料区域6324隔开。
可以设置穿过第一导电材料区域6321至第四导电材料区域6324的多个下部柱状物DP。每个下部柱状物DP在z轴方向上延伸。而且,可以设置穿过第五导电材料区域6325至第八导电材料区域6328的多个上部柱状物UP。每个上部柱状物UP在z轴方向上延伸。
下部柱状物DP和上部柱状物UP的每个可以包括内部材料6361、中间层6362和表面层6363。中间层6362可以用作单元晶体管的沟道。表面层6363可以包括阻挡介电层、电荷存储层和隧穿介电层。
下部柱状物DP与上部柱状物UP可以通过管栅PG电联接。管栅PG可以设置在衬底6311中。例如,管栅PG可以包括与下部柱状物DP和上部柱状物UP相同的材料。
在x轴方向和y轴方向上延伸的第二类型的掺杂材料6312可以设置在下部柱状物DP上方。例如,第二类型的掺杂材料6312可以包括n型硅材料。第二类型的掺杂材料6312可用作共源线CSL。
漏极6340可以设置在上部柱状物UP上方。漏极6340可以包括n型硅材料。在y轴方向上延伸的第一上部导电材料区域6351和第二上部导电材料区域6352可以设置在漏极6340上方。
第一上部导电材料区域6351和第二上部导电材料区域6352可以在x轴方向上隔开。第一上部导电材料区域6351和第二上部导电材料区域 6352可以由金属形成。第一上部导电材料区域6351和第二上部导电材料区域6352与漏极6340可以通过接触插塞电联接。第一上部导电材料区域6351和第二上部导电材料区域6352分别用作第一位线BL1和第二位线BL2。
第一导电材料6321可以用作源极选择线SSL,第二导电材料6322可以用作第一虚拟字线DWL1,并且第三导电材料区域6323和第四导电材料区域6324分别用作第一主字线MWL1和第二主字线MWL2。第五导电材料区域6325和第六导电材料区域6326分别用作第三主字线MWL3和第四主字线MWL4,第七导电材料6327可以用作第二虚拟字线DWL2,第八导电材料6328可以用作漏极选择线DSL。
下部柱状物DP和邻近下部柱状物DP的第一导电材料区域6321至第四导电材料区域6324形成下部串。上部柱状物UP和邻近上部柱状物UP的第五导电材料区域6325至第八导电材料区域6328形成上部串。下部串和上部串可以通过管栅PG电联接。下部串的一端可以电联接至用作共源线CSL的第二类型的掺杂材料6312。上部串的一端可以通过漏极6340电联接至对应的位线。一个下部串和一个上部串形成一个单元串,其电联接在用作共源线CSL的第二类型的掺杂材料6312和用作位线BL的上部导电材料层6351和6352的对应的一个之间。
也就是说,下部串可以包括源极选择晶体管SST、第一虚拟存储器单元DMC1以及第一主存储器单元MMC1和第二主存储器单元MMC2。上部串可以包括第三主存储器单元MMC3和第四主存储器单元MMC4、第二虚拟存储器单元DMC2以及漏极选择晶体管DST。
在图9和图10中,上部串和下部串可以形成NAND串NS,并且NAND串NS可以包括多个晶体管结构TS。由于以上参照图7详细描述了图9和图10中的包括在NAND串NS中的晶体管结构,因此此处将省略对其的详细描述。
图11是示出如上参照图9和图10所述的具有第二结构的存储块BLKj的等效电路的电路图。为方便起见,仅示出了第一串和第二串,其 在第二结构的存储块BLKj中形成一对。
参照图11,在具有第二结构的存储块BLKj中,可以定义多个对的方式设置单元串,每个单元串用如以上参照图9和图10所述的通过管栅PG电联接的一个上部串和一个下部串来实现。
例如,在具有第二结构的特定存储块BLKj中,沿着第一沟道CH1(未示出)堆叠的存储器单元CG0至CG31例如至少一个源极选择栅SSG1和至少一个漏极选择栅DSG1可形成第一串ST1,沿着第二沟道CH2(未示出)堆叠的存储器单元CG0至CG31例如至少一个源极选择栅SSG2和至少一个漏极选择栅DSG2可形成第二串ST2。
第一串ST1和第二串ST2可以电联接至相同的漏极选择线DSL和相同的源极选择线SSL。第一串ST1可以电联接至第一位线BL1,第二串ST2可电联接至第二位线BL2。
虽然图11中描述了第一串ST1和第二串ST2电联接至相同的漏极选择线DSL和相同的源极选择线SSL,但可以设想到第一串ST1和第二串ST2可以电联接至相同的源极选择线SSL和相同的位线BL,第一串ST1可以电联接至第一漏极选择线DSL1,第二串ST2可以电联接至第二漏极选择线DSL2。还可以设想到第一串ST1和第二串ST2可以电联接至相同的漏极选择线DSL和相同的位线BL,第一串ST1可以电联接至第一源极选择线SSL1,第二串ST2可以电联接至第二源极选择线SSL2。
图12A至图12J是说明根据第一实施例的存储器系统的单触发编程操作的框图。
参照图12A至图12J,诸如图1所示的数据处理系统100包括多个存储器装置1501、1502、1503和1504以及缓存缓冲器1441。
多个存储器装置1501、1502、1503和1504的每个是对应于以上参照图1所述的一个存储器装置150的组件。
缓存缓冲器1441是对应于以上参照图1所述的包括在控制器130中的存储器144的写入缓冲器的组件。即,如上参照图1所述,控制器130的存储器144可以包括程序存储器、数据存储器、写入缓冲器、读取缓 冲器、映射缓冲器等。图12A至图12J中所示的缓存缓冲器1441是对应于写入缓冲器的组件。
在图12A中,包括四个非易失性存储器装置,作为多个存储器装置1501、1502、1503和1504。但是应当注意,实际上可以包括更多或更少数目的非易失性存储器装置,作为多个存储器装置1501、1502、1503和1504。
下面将参照图12A描述根据第一实施例的存储器系统。多个存储器装置1501、1502、1503和1504的每个包括标准块和辅助块。
也就是说,在多个存储器装置1501、1502、1503和1504中,第一存储器装置1501包括第一标准块和第一辅助块,第二存储器装置1502包括第二标准块和第二辅助块,第三存储器装置1503包括第三标准块和第三辅助块,以及第四存储器装置1504包括第四标准块和第四辅助块。
此外,多个存储器装置1501、1502、1503和1504的每个的标准块包括以上参照图2所述的多个存储块210、220、230和240之中的一些存储块。此外,多个存储器装置1501、1502、1503和1504的每个的辅助块包括在多个存储块210、220、230和240之中的一些其它存储块。包括在多个存储器装置1501、1502、1503和1504的每个的标准块中的存储块的数量大于包括在多个存储器装置1501、1502、1503和1504的每个的辅助块中的存储块的数量。
而且,虽然在图中未直接示出,但是多层单元包括在多个存储器装置1501、1502、1503和1504的每个的标准块中。如上参照图3所述,多层单元指的是能够存储多位数据的存储器单元。例如,包括在多个存储器装置1501、1502、1503和1504的每个的标准块中的多层单元可以是三层单元(TLC),其中每个三层单元能够存储3位数据。因此,包括在多个存储器装置1501、1502、1503和1504的每个的标准块中的多层单元可以包括每个能够存储多于或少于3位的数据的多层单元。
虽然图中未直接示出,但是单层单元包括在多个存储器装置1501、1502、1503和1504的每个的辅助块中。如上参照图3所述,单层单元指 的是能够存储1位数据的存储器单元。
此外,虽然在图中未直接示出,但是当数据被编程在多个存储器装置1501、1502、1503和1504的每个的标准块中时,控制器130使用单触发编程方案。单触发编程指的是通过一个编程操作将多位数据编程在多层单元中的操作。
作为用于单触发编程的参考的数据大小可被定义为预定大小。例如,在不使用用于包括在第一存储器装置1501的第一标准块中的任一个页面(未示出)的虚拟数据的情况下执行单触发编程所需的数据的大小可被定义为预定大小。
作为参考,预定大小在图中被例示为96KB。然而,要注意的是预定大小可被设定为大于或小于96KB的大小。
多个存储器装置1501、1502、1503和1504以交织方案操作。从附图可看出,包括在多个存储器装置1501、1502、1503和1504中的四个存储器装置通过两个通道即通道0和通道1及两个通路(way)即通路0和通路1彼此联接。
尽管在附图中未直接示出,但在本公开中,包括地址管理区域(未示出)并且地址管理区域用作与如上参照图1所述的包括在控制器130中的存储器144的映射缓冲器对应的组件。
在多个存储器装置1501、1502、1503和1504的每个中存储的数据的物理地址和逻辑地址的映射信息被存储在地址管理区域中。
在根据本实施例的存储器系统中,在多个存储器装置1501、1502、1503和1504的每个的标准块中存储的数据的物理地址和逻辑地址的映射信息被存储在地址管理区域中。另外,在多个存储器装置1501、1502、1503和1504的每个的辅助块中存储的数据的物理地址和逻辑地址的映射信息不存储在地址管理区域中。仅在多个存储器装置1501、1502、1503和1504的每个的辅助块中存储的数据的物理地址被存储在地址管理区域中。
这意味着,根据本实施例的存储器系统以与常规的普通非易失性存 储器装置处理数据相同的方式处理被存储在多个存储器装置1501、1502、1503和1504的每个的标准块中的数据。特别是,对于多个存储器装置1501、1502、1503和1504的每个的标准块,可以执行包括垃圾收集操作、平均读写操作和读取收回操作的后台操作。
相反,根据本实施例的存储器系统以与常规的非易失性存储器装置处理数据不同的方式处理被存储在多个存储器装置1501、1502、1503和1504的每个的辅助块中的数据。特别是,对于多个存储器装置1501、1502、1503和1504的每个的辅助块,不执行包括垃圾收集操作、平均读写操作和读取收回操作的后台操作。
如后面将详细描述的,包括在多个存储器装置1501、1502、1503和1504的每个中的标准块和辅助块彼此不同地管理的原因是由于辅助块备份标准块。在标准块中对小于预定大小且从主机输入的数据直接执行单触发编程是低效的。因此,根据本公开,如果从主机输入的数据小于预定大小,则将数据备份在辅助块中,使得随后输入的数据与该数据合并,直到合并的数据的大小变为与预定大小一样大。当合并的数据大小与预定大小一样大时,合并的数据被转移到标准块以用于单触发编程。
由于包括在多个存储器装置1501、1502、1503和1504的每个中的辅助块起备份标准块的作用,因此没有必要将在多个存储器装置1501、1502、1503和1504的每个中包括的辅助块中存储的数据的逻辑地址和物理地址的映射信息存储在地址管理区域中。而是,仅将在多个存储器装置1501、1502、1503和1504的每个中包括的辅助块中存储的数据的物理地址存储在地址管理区域中。
此外,指示其中包括在多个存储器装置1501、1502、1503和1504的每个中的辅助块的空白空间开始的位置的物理地址被存储在地址管理区域中,作为存储位置信息。例如,指示其中包括在第一存储器装置1501中的第一辅助块的空白空间开始的位置的物理地址被存储在地址管理区域中,作为第一存储位置信息;指示其中包括在第二存储器装置1502中的第二辅助块的空白空间开始的位置的物理地址被存储在地址管理区域 中,作为第二存储位置信息;指示其中包括在第三存储器装置1503中的第三辅助块的空白空间开始的位置的物理地址被存储在地址管理区域中,作为第三存储位置信息;指示其中包括在第四存储器装置1504中的第四辅助块的空白空间开始的位置的物理地址被存储在地址管理区域中,作为第四存储位置信息。
参照图12A至图12D,当每个都具有预定大小的数据即每个都为96KB的多个数据从主机依次输入时,控制器130控制多个各自的存储器装置1501、1502、1503和1504。
参照图12A,控制器130使用缓存缓冲器1441缓冲从主机输入的第一数据DATA1。
控制器130通过取预定大小96KB作为参考检查第一数据DATA1被缓冲在其中的缓存缓冲器1441的使用区域。结果是,可检查到第一数据DATA1在缓存缓冲器1441中被缓冲,且缓存缓冲器1441的使用区域恰恰是预定大小96KB。
相应地,控制器130可以将第一数据DATA1单触发编程在多个存储器装置1501、1502、1503和1504的各自标准块之中的任一标准块中。
如附图所示,多个存储器装置1501、1502、1503和1504处于其中所有装置不执行任何操作的状态。因此,根据交织方案的操作顺序,当时间对于多个存储器装置1501、1502、1503和1504之中的第一存储器装置1501进行操作适当时,如参考符号PNM11所指示的,控制器130将第一数据DATA1单触发编程在第一存储器装置1501的第一标准块中。
当对第一存储器装置1501执行单触发编程PNM11时,控制器130从缓存缓冲器1441擦除第一数据DATA1。
参照图12B,控制器130将从主机输入的第二数据DATA2缓冲在缓存缓冲器1441中。控制器130通过取预定大小96KB作为参考检查第二数据DATA2被缓冲在其中的缓存缓冲器1441的使用区域。结果是,可检查到第二数据DATA2是否被缓冲在缓存缓冲器1441中以及缓存缓冲器1441的使用区域是否恰恰为预定大小96KB。
相应地,控制器130可以将第二数据DATA2单触发编程在多个存储器装置1501、1502、1503和1504的各自标准块之中的任一标准块中。
如附图所示,在多个存储器装置1501、1502、1503和1504中,第一存储器装置1501处于执行将第一数据DATA1单触发编程在第一标准块中的操作PNM11的状态,剩余的第二至第四存储器装置1502、1503和1504处于不执行任何操作的状态。因此,根据交织方案的操作顺序,当到达多个存储器装置1501、1502、1503和1504之中的第二存储器装置1502进行操作的时间时,如参考符号PNM22所指示的,控制器130将第二数据DATA2单触发编程在第二存储器装置1502的第二标准块中。
当对第二存储器装置1502执行单触发编程PNM22时,控制器130从缓存缓冲器1441擦除第二数据DATA2。
参照图12C,控制器130将从主机输入的第三数据DATA3缓冲在缓存缓冲器1441中。控制器130通过取预定大小96KB作为参考检查第三数据DATA3被缓冲在其中的缓存缓冲器1441的使用区域。结果是,第三数据DATA3被缓冲在缓存缓冲器1441中并且缓存缓冲器1441的使用区域恰恰是预定大小96KB。相应地,控制器130可以将第三数据DATA3单触发编程在多个存储器装置1501、1502、1503和1504的各自标准块之中的任一标准块中。
如附图所示,在多个存储器装置1501、1502、1503和1504中,第一存储器装置1501和第二存储器装置1502处于执行分别将第一数据DATA1和第二数据DATA2单触发编程在第一标准块和第二标准块中的操作PNM11和PNM22的状态,剩余的第三和第四存储器装置1503和1504处于不执行任何操作的状态。因此,根据交织方案的操作顺序,当到达多个存储器装置1501、1502、1503和1504之中的第三存储器装置1503进行操作的时间时,如参考符号PNM33所示的,控制器130将第三数据DATA3单触发编程在第三存储器装置1503的第三标准块中。
当对第三存储器装置1503执行单触发编程PNM33时,控制器130从缓存缓冲器1441擦除第三数据DATA3。
参照图12D,控制器130将从主机输入的第四数据DATA4缓冲在缓存缓冲器1441中。
控制器130通过取预定大小96KB作为参考检查第四数据DATA4被缓冲在其中的缓存缓冲器1441的使用区域。结果是,第四数据DATA4被缓冲在缓存缓冲器1441中并且缓存缓冲器1441的使用区域恰恰是预定大小96KB。相应地,控制器130可以将第四数据DATA4单触发编程在多个存储器装置1501、1502、1503和1504的各自标准块之中的任一标准块中。
如附图所示,在多个存储器装置1501、1502、1503和1504中,第一存储器装置1501、第二存储器装置1502和第三存储器装置1503处于执行分别将第一数据DATA1、第二数据DATA2和第三数据DATA3单触发编程在第一标准块、第二标准块和第三标准块中的操作PNM11、PNM22和PNM33的状态,剩余的第四存储器装置1504处于不执行任何操作的状态。因此,根据交织方案的操作顺序,当到达多个存储器装置1501、1502、1503和1504之中的第四存储器装置1504进行操作的时间时,如参考符号PNM44所指示的,控制器130将第四数据DATA4单触发编程在第四存储器装置1504的第四标准块中。
当对第四存储器装置1504执行单触发编程PNM44时,控制器130从缓存缓冲器1441擦除第四数据DATA4。
总之,控制器130以交织方案操作多个存储器装置1501、1502、1503和1504。此外,当依次输入的多个数据DATA<1:4>的每个被缓冲在缓存缓冲器1441中时,控制器130检查缓存缓冲器1441的使用区域。作为检查的结果,当缓存缓冲器1441的使用区域是预定大小时,在缓存缓冲器1441中缓冲的预定大小的数据DATA1、DATA2、DATA3或DATA4被单触发编程在多个存储器装置1501、1502、1503和1504的各自标准块之中的任一标准块中。根据交织方案的操作顺序,确定操作多个存储器装置1501、1502、1503和1504之中的哪个存储器装置。当将预定大小的数据DATA1、DATA2、DATA3或DATA4单触发编程在多个存储器 装置1501、1502、1503和1504的各自标准块之中的任一标准块中时,控制器130从缓存缓冲器1441擦除预定大小的数据DATA1、DATA2、DATA3或DATA4。
作为参考,图12A至图12D示出了第一至第四数据DATA<1:4>以不同的形式存储在缓存缓冲器1441中。当缓存缓冲器1441的总大小为128KB且因此大于作为预定大小的96KB时,依次输入的第一至第四数据DATA<1:4>以FIFO(先进先出)策略缓冲。缓存缓冲器1441的这种操作并不限于此,并且缓存缓冲器1441可以执行另一操作。
参照图12E至图12J,当数据小于预定大小时,即当从主机输入具有小于96KB的大小的数据时,控制器130控制多个各自的存储器装置1501、1502、1503和1504。
参照图12E,控制器130将从主机输入的第五数据DATA5缓冲在缓存缓冲器1441中。
控制器130通过取预定大小96KB作为参考检查第五数据DATA5被缓冲在其中的缓存缓冲器1441的使用区域。结果是,第五数据DATA5被缓冲在缓存缓冲器1441中并且缓存缓冲器1441的使用区域变为4KB。也就是说,可以检查到第五数据DATA5被缓冲在其中的缓存缓冲器1441的使用区域小于作为预定大小的96KB。
相应地,如参考符号PST15所指示的,控制器130将第五数据DATA5编程在多个存储器装置1501、1502、1503和1504的各自辅助块之中的任一辅助块中。也就是说,由于第五数据DATA5的大小小于预定大小,控制器130将第五数据DATA5编程在辅助块中,而不是将第五数据DATA5单触发编程在多个存储器装置1501、1502、1503和1504的各自标准块之中的任一标准块中。
控制器130将第五数据DATA5编程在辅助块中而不是将第五数据DATA5单触发编程在多个存储器装置1501、1502、1503和1504的各自标准块之中的任一标准块中的原因是当数据大小小于预定大小时需要补充虚拟数据。
由于单触发编程操作的特性,大小小于预定大小的数据不能通过单触发编程操作被存储在多层单元中。例如,为了将小于作为预定大小的96KB的大小为4KB的第五数据DATA5单触发编程在多个存储器装置1501、1502、1503和1504的各自标准块之中的任一标准块中,需要92KB的虚拟数据。
在这点上,由于有可能通过常规的普通编程操作而非单触发编程操作将第五数据DATA5编程在多个存储器装置1501、1502、1503和1504的各自辅助块之中的任一辅助块中,因此没有必要故意补充虚拟数据。
当首先经受单触发编程操作的第一存储器装置1501的单触发编程操作完成时,第五数据DATA5被缓冲在缓存缓冲器1441中。剩余的第二至第四存储器装置1502、1503和1504的单触发编程操作未完成。也就是说,在如上参照图12A至图12D所述的将第一至第四数据DATA<1:4>单触发编程在第一至第四存储器装置1501、1502、1503和1504的各自标准块中的操作开始后,第五数据DATA5被缓冲在缓存缓冲器1441中。
相应地,如参考符号PST15所指示的,根据交织方案的操作顺序,控制器130将第五数据DATA5编程在多个存储器装置1501、1502、1503和1504之中的第一存储器装置1501的第一辅助块中。
如参考符号PST15所指示的,控制器130将第五数据DATA5依次编程在包括在第一存储器装置1501中的第一辅助块的空白空间中。空白空间的位置由存储在地址管理区域中的第一存储位置信息(未示出)指示。然后,控制器130更新第一存储位置信息,并将更新的第一存储位置信息存储在地址管理区域中。
其值被更新并存储在地址管理区域中的第一存储位置信息被存储在除第一存储器装置1501之外的第二至第四存储器装置1502、1503和1504之中的根据交织方案的操作顺序执行编程操作的任何一个存储器装置的标准块中。例如,虽然在图中未直接示出,但在编程第一存储器装置1501的第一辅助块的操作后,执行将缓存缓冲器1441的数据单触发编程在第二存储器装置1502的第二标准块中的操作。当将缓存缓冲器1441的数 据单触发编程在第二存储器装置1502的第二标准块中时,第一存储位置信息被一起存储在第二标准块中。第一存储位置信息可与缓存缓冲器1441的数据一起存储在第二标准块中的原因是第一存储位置信息被存储在第二标准块的备用区域中。
作为参考,当第五数据DATA5被存储在第一存储器装置1501的第一辅助块中时,可以使用第一存储位置信息。在这点上,第二存储位置信息可以在其中第五数据DATA5被存储在第二存储器装置1502的第二辅助块中的情况下使用,第三存储位置信息可以在其中第五数据DATA5被存储在第三存储器装置1503的第三辅助块中的情况下使用,以及第四存储位置信息可以在其中第五数据DATA5被存储在第四存储器装置1504的第四辅助块中的情况下使用。
不同于在用于第一存储器装置1501的参考符号PST15指示的编程中,控制器130不从缓存缓冲器1441擦除第五数据DATA5。
在缓存缓冲器1441中缓冲的第五数据DATA5处于其被编程在第一存储器装置1501的第一辅助块中且未被从缓存缓冲器1441擦除的状态。在这种情况下,被迭代存储在多个存储器装置1501、1502、1503和1504的各自辅助块中的任一个辅助块中和缓存缓冲器1441中的数据在多个存储器装置1501、1502、1503和1504的各自辅助块中的任一个辅助块中被管理为有效状态。
参照图12F,控制器130将从主机输入的第六数据DATA6缓冲在缓存缓冲器1441中。控制器130通过取预定大小96KB作为参考检查第六数据DATA6被缓冲在其中缓存缓冲器1441的使用区域。结果是,可检查到第五数据DATA5与第六数据DATA6使用区域的合并大小是96KB。
也就是说,控制器130如上参照图12E所述不从缓存缓冲器1441擦除第五数据DATA5,并累积地将随后输入的第六数据DATA6与未擦除的第五数据DATA5一起缓冲在缓存缓冲器1441中。结果是,第五数据DATA5和第六数据DATA6被累积地缓冲在其中的缓存缓冲器1441的使用区域变成作为预定大小的96KB。
因此,控制器130可以将通过累加第五数据DATA5和第六数据DATA6获得的合并数据单触发编程在多个存储器装置1501、1502、1503和1504的各自标准块中的任一个标准块中。
在如上参照图12E所述的将第五数据DATA5编程在第一存储器装置1501的第一辅助块中的操作完成之后,第六数据DATA6被缓冲在缓存缓冲器1441中。进一步地,在如上参照图12B至图12D所述的将第二至第四数据DATA<2:4>单触发编程在第二至第四存储器装置1502、1503和1504的各自标准块中的操作完成之后,第六数据DATA6被缓冲在缓存缓冲器1441中。也就是说,在多个存储器装置1501、1502、1503和1504的所有操作完成之后,第六数据DATA6被缓冲在缓存缓冲器1441中。
因此,根据交织方案的操作顺序,当到达多个存储器装置1501、1502、1503和1504之中的第一存储器装置1501进行操作的时间时,如参考符号PNM15+6所指示的,控制器130将通过累加在缓存缓冲器1441中缓冲的第五数据DATA5和第六数据DATA6获得的合并数据单触发编程在第一存储器装置1501的第一标准块中。将通过累加在缓存缓冲器1441中缓冲的第五数据DATA5和第六数据DATA6获得的数据单触发编程在第一存储器装置1501的第一标准块中的操作是一个实施例的实例。在另一个实施例中,单触发编程可以发生在另一存储器装置的标准块中而不是第一存储器装置1501的第一标准块中。例如,当根据设计者的选择对交织方案的操作顺序进行不同的调整时,如参考符号PNM15+6所指示的,可以将通过累加在缓存缓冲器1441中缓冲的第五数据DATA5和第六数据DATA6获得的数据单触发编程在第二至第四存储器装置1502、1503和1504的各自标准块中的任一个标准块中。
当对第一存储器装置1501执行单触发编程PNM15+6时,控制器130从缓存缓冲器1441擦除通过累加第五数据DATA5和第六数据DATA6获得的数据。
以此方式,当第五数据DATA5和第六数据DATA6被一起编程在第一存储器装置1501的第一标准块中时,从缓存缓冲器1441擦除第五数 据DATA5,其中当对第一存储器装置1501的第一辅助块编程时,第五数据DATA5已经被缓冲在缓存缓冲器1441中。也就是说,当数据被从缓存缓冲器1441擦除并且在被编程在多个存储器装置1501、1502、1503和1504的各自辅助块之中的任一个辅助块中后其被编程在多个存储器装置1501、1502、1503和1504的各自标准块之中的任一个标准块中时,如果数据仍保留在任一个辅助块中,则该数据在多个存储器装置1501、1502、1503和1504的各自辅助块中的任一个辅助块中被管理为无效状态。也就是说,如果数据被同时存储在多个存储器装置1501、1502、1503和1504的任一个辅助块和任一个标准块中,则该数据被视为无效。
总之,控制器130以交织方案操作多个存储器装置1501、1502、1503和1504。而且,当依次输入的多个数据DATA<1:4>的每个被缓冲在缓存缓冲器1441中时,控制器130检查缓存缓冲器1441的使用区域。作为检查的结果,在缓存缓冲器1441的使用区域小于预定大小的情况下,在缓存缓冲器1441中缓冲且小于预定大小的数据DATA5被编程在多个存储器装置1501、1502、1503和1504的各自辅助块中的任一个辅助块中。根据交织方案的操作顺序确定多个存储器装置1501、1502、1503和1504中的哪个存储器装置将被操作。当将大小小于预定大小的数据DATA5编程在多个存储器装置1501、1502、1503和1504的各自辅助块中的任一个辅助块中时,控制器130不擦除被缓冲在缓存缓冲器1441中且大小小于预定大小的数据DATA5。
小于预定大小的数据DATA5即使在被编程在多个存储器装置1501、1502、1503和1504的各自辅助块之中的任一个辅助块中后也不从缓存缓冲器1441擦除。因此,数据DATA5与随后输入的数据DATA6一起累积地缓冲在缓存缓冲器1441中。当随后输入的数据DATA6的缓冲完成时,再次检查缓存缓冲器1441的使用区域。当在缓存缓冲器1441中缓冲的数据DATA5+DATA6的大小变为预定大小时,在缓存缓冲器1441中缓冲的数据DATA5+DATA6被单触发编程在多个存储器装置1501、1502、1503和1504的各自标准块中的任一个标准块中。
当将在缓存缓冲器1441中缓冲且具有预定大小的数据DATA5+DATA6单触发编程在多个存储器装置1501、1502、1503和1504的各自标准块之中的任一个标准块中时,控制器130从缓存缓冲器1441擦除数据DATA5+DATA6。
参照图12G,控制器130将从主机输入的第七数据DATA7缓冲在缓存缓冲器1441中。
控制器130通过取预定大小96KB作为参考检查第七数据DATA7被缓冲在其中的缓存缓冲器1441的使用区域。结果是,可检查到第七数据DATA7被缓冲在缓存缓冲器1441中且缓存缓冲器1441的使用区域变为92KB。也就是说,可检查到第七数据DATA7被缓冲在其中的缓存缓冲器1441的使用区域是比作为预定大小的96KB小的92KB。
因此,虽然控制器130应如上面参照图12E所述的通过选择多个存储器装置1501、1502、1503和1504的各自辅助块之中的任一个辅助块来编程第七数据DATA7,但第七数据DATA7的大小不是适于被编程在多个存储器装置1501、1502、1503和1504的各自辅助块之中的任一个辅助块中的大小。
也就是说,由于多个存储器装置1501、1502、1503和1504的各自辅助块的每个采用通过单层单元存储数据的方案,因此其通过一个编程操作存储数据的容量较小。
例如,当用于单触发编程的预定大小是96KB时,包括在多个存储器装置1501、1502、1503和1504的每个标准块中的存储单元可以是三层单元。由于包括在多个存储器装置1501、1502、1503和1504的每个辅助块中的存储单元是单层单元,因此其最大大小可以是32KB,其中32KB通过96KB除以3获得。
对于待通过选择多个存储器装置1501、1502、1503和1504的各自辅助块中的任一个辅助块编程的92KB大小的第七数据DATA7,必须对所选择的辅助块连续执行3个编程操作。这是低效的。
因此,控制器130使用根据交织方案的操作顺序选择多个辅助块的 方案来代替选择多个存储器装置1501、1502、1503和1504的各自辅助块中的单个辅助块。如参考符号PST17、PST27和PST37所指示的,第七数据DATA7被分开地编程在根据交织方案的操作顺序选择的多个辅助块中。
例如,如附图所示,控制器130根据交织方案的操作顺序顺序地选择多个存储器装置1501、1502、1503和1504的各自辅助块之中的第一辅助块、第二辅助块和第三辅助块,并且如参考符号PST17、PST27和PST37所指示的,将具有92KB大小的第七数据DATA7划分成三个数据32KB、32KB和28KB,,并将划分的三个数据32KB、32KB和28KB分别编程在第一辅助块、第二辅助块和第三辅助块中。
当首先开始单触发编程操作的第一存储器装置1501的单触发编程操作完成且剩余的第二至第四存储器装置1502、1503和1504的单触发编程操作未完成时,第七数据DATA7被缓冲在缓存缓冲器1441中。也就是说,在如上参照图12A至12D所述的将第一至第四数据DATA<1:4>单触发编程在第一至第四存储器装置1501、1502、1503和1504的各自标准块中的操作开始后,第七数据DATA7被缓冲在缓存缓冲器1441中。
相应地,如参考符号PST17所指示的,控制器130根据交织方案的操作顺序将第七数据DATA7的前32KB编程在多个存储器装置1501、1502、1503和1504之中的第一存储器装置1501的第一辅助块中。如参考符号PST17所指示的,控制器130将第七数据DATA7的前32KB顺序地编程在包括在第一存储器装置1501中的第一辅助块的空白空间中,其中第一辅助块的空白空间由存储在地址管理区域中的第一存储位置信息(未示出)指示。然后,控制器130更新第一存储位置信息并将更新的第一存储位置信息存储在地址管理区域中。
接着,当第二存储器装置1502的单触发编程操作完成且第三存储器装置1503和第四存储器装置1504的单触发编程操作未完成时,如参考符号PST27所指示的,控制器130根据交织方案的操作顺序将第七数据DATA7的中间32KB编程在多个存储器装置1501、1502、1503和1504 之中的第二存储器装置1502的第二辅助块中。如参考符号PST27所指示的,控制器130将第七数据DATA7的中间32KB顺序地编程在包括在第二存储器装置1502中的第二辅助块的空白空间中,其中第二辅助块的空白空间由存储在地址管理区域中的第二存储位置信息(未示出)指示。然后,控制器130更新第二存储位置信息,并将更新的第二存储位置信息存储在地址管理区域中。
接着,当第三存储器装置1503的单触发编程操作完成且第四存储器装置1504的单触发编程操作未完成时,如参考符号PST37所指示的,控制器130根据交织方案的操作顺序将第七数据DATA7的最后28KB编程在多个存储器装置1501、1502、1503和1504之中的第三存储器装置1503的第三辅助块中。如参考符号PST37所指示的,控制器130通过参考存储在地址管理区域中的第三存储位置信息(未示出)将第七数据DATA7的最后28KB顺序地编程在包括在第三存储器装置1503中的第三辅助块的空白空间中。然后,控制器130更新第三存储位置信息,并将更新的第三存储位置信息存储在地址管理区域中。
存储在地址管理区域中且如上所述进行更新的第一至第三存储位置信息可被存储在第一至第三存储器装置1501、1502和1503之后操作的第四存储器装置1504的第四标准块中。在编程第一至第三存储器装置1501、1502和1503的各自辅助块的操作之后,执行将缓存缓冲器1441的数据单触发编程在第四存储器装置1504的第四标准块中的操作。在另一个实施例中,当将缓存缓冲器1441的数据单触发编程在第四存储器装置1504的第四标准块中时,第一至第三存储位置信息被一起存储在第四标准块中。由于第一至第三存储位置信息存储在第四标准块的备用区域中,因此第一至第三存储位置信息可以这种方式与缓存缓冲器1441的数据一起存储在第四标准块中。
不同于分别对第一存储器装置1501、第二存储器装置1502和第三存储器装置1503执行由参考符号PST17、PST27和PST37所指示的编程,控制器130不擦除在缓存缓冲器1441中缓冲的第七数据DATA7。
以这种方式,在缓存缓冲器1441中缓冲的第七数据DATA7被编程在第一至第三存储器装置1501、1502和1503的各自辅助块中,但不从缓存缓冲器1441擦除。在该情况下,迭代地存储在多个存储器装置1501、1502、1503和1504的各自辅助块中和缓存缓冲器1441中的数据在多个存储器装置1501、1502、1503和1504的各自辅助块中被管理为有效状态。
参照图12H,控制器130将第八数据DATA8缓冲在缓存缓冲器1441中。第八数据DATA8从主机输入。控制器130通过取预定大小96KB作为参考检查被分配以缓冲第八数据DATA8的缓存缓冲器1441的使用区域。结果是,第七数据DATA7和第八数据DATA8被累积地缓冲在缓存缓冲器1441中且缓存缓冲器1441的使用区域变为96KB。
也就是说,控制器130如以上参照图12G所述的不从缓存缓冲器1441擦除第七数据DATA7,,并将随后输入的第八数据DATA8与未擦除的第七数据DATA7一起累积地缓冲在缓存缓冲器1441中。结果是,第七数据DATA7和第八数据DATA8被累积地缓冲在其中的缓存缓冲器1441的使用区域变成与预定大小相同的96KB。
相应地,控制器130可以将通过累加第七数据DATA7和第八数据DATA8获得的数据单触发编程在多个存储器装置1501、1502、1503和1504的各自标准块之中的任一个标准块中。
在如上参照图12G所述的将第七数据DATA7编程在第一至第三存储器装置1501、1502和1503的各自辅助块中的操作完成之后,第八数据DATA8被缓冲在缓存缓冲器1441中。进一步地,在如上参照图12D所述的将第四数据DATA4单触发编程在第四存储器装置1504的第四标准块中的操作完成之后,第八数据DATA8被缓冲在缓存缓冲器1441中。也就是说,在多个存储器装置1501、1502、1503和1504的所有操作完成之后,第八数据DATA8被缓冲在缓存缓冲器1441中。
因此,根据交织方案的操作顺序,轮到多个存储器装置1501、1502、1503和1504之中的第一存储器装置1501操作,如参考符号PNM17+8 所指示的,控制器130将通过累加在缓存缓冲器1441中缓冲的第七数据DATA7和第八数据DATA8获得的数据单触发编程在第一存储器装置1501的第一标准块中。
当然,将通过累加在缓存缓冲器1441中缓冲的第七数据DATA7和第八数据DATA8获得的数据单触发编程在第一存储器装置1501的第一标准块中仅是一个实例。在根据设计者的选择对交织方案的操作顺序进行不同的调整的情况下,将通过累加在缓存缓冲器1441中缓冲的第七数据DATA7和第八数据DATA8获得的数据单触发编程在第二至第四存储器装置1502、1503和1504的各自标准块之中的任一个标准块中是可能的。
当对第一存储器装置1501执行单触发编程PNM17+8时,控制器130擦除通过累加在缓存缓冲器1441中缓冲的第七数据DATA7和第八数据DATA8获得的数据。
以此方式,当第七数据DATA7和第八数据DATA8被一起编程在第一存储器装置1501的第一标准块中时,从缓存缓冲器1441擦除已经被缓冲在缓存缓冲器1441中同时已经被编程在第一至第三存储器装置1501、1502和1503的各自辅助块编程中的第七数据DATA7。在这种情况下,当数据被编程在多个存储器装置1501、1502、1503和1504的各自标准块之中的任一个标准块中时,将其从缓存缓冲器1441擦除。迭代地编程在多个存储器装置1501、1502、1503和1504的各自辅助块之中的至少一个辅助块和各自标准块之中的任一个标准块中的数据在多个存储器装置1501、1502、1503和1504的各自辅助块之中的至少一个辅助块中被管理为无效状态。
总之,控制器130以交织方案操作多个存储器装置1501、1502、1503和1504。而且,每当将依次输入的多个数据DATA<1:4>的每个缓冲在缓存缓冲器1441中时,控制器130检查缓存缓冲器1441的使用区域。检查后,当缓存缓冲器1441的使用区域小于预定大小但大于能够通过一个编程操作被编程在多个存储器装置1501、1502、1503和1504的各自辅 助块的每个中的大小时,根据交织方案的操作顺序在多个存储器装置1501、1502、1503和1504的各自辅助块之中选择多个辅助块。然后,如参考符号PST17、PST27和PST37所指示的,在缓存缓冲器1441中缓冲且大小小于预定大小的数据DATA7被划分成多个片段并被顺序地编程。
根据交织方案的操作顺序确定多个存储器装置1501、1502、1503和1504中的哪个存储器装置待被操作。当将其大小小于预定大小的数据DATA7编程在多个存储器装置1501、1502、1503和1504的各自辅助块中的一个或多个辅助块中时,控制器130不擦除在缓存缓冲器1441中缓冲且其大小小于预定大小的数据DATA7。
以此方式,由于大小小于预定大小的数据DATA7即使在其被编程在多个存储器装置1501、1502、1503和1504的各自辅助块之中所选择的一个或多个辅助块中后也不从缓存缓冲器1441擦除,因此数据DATA7与随后输入的数据DATA8一起被累积地缓冲在缓存缓冲器1441中。当完成随后输入的数据DATA8的缓冲时,再次检查缓存缓冲器1441的使用区域。当在缓存缓冲器1441中缓冲的数据DATA7+DATA8的大小变为预定大小时,在缓存缓冲器1441中缓冲且具有预定大小的数据DATA7+DATA8被单触发编程在多个存储器装置1501、1502、1503和1504的各自标准块中所选择的任一个标准块中。
当将在缓存缓冲器1441中缓冲且具有预定大小的数据DATA7+DATA8单触发编程在多个存储器装置1501、1502、1503和1504的各自标准块之中的任一个标准块中时,控制器130擦除在缓存缓冲器1441中缓冲且具有预定大小的数据DATA7+DATA8。
参照图12I,控制器130将从主机输入的第九数据DATA9缓冲在缓存缓冲器1441中。控制器130通过取预定大小96KB作为参考检查第九数据DATA9被缓冲在其中的缓存缓冲器1441的使用区域。结果是,可检查到第九数据DATA9被缓冲在缓存缓冲器1441中且缓存缓冲器1441的使用区域变为4KB。也就是说,可检查到第九数据DATA9被缓冲在其中的缓存缓冲器1441的使用区域是4KB且小于用作预定大小的96KB。
因此,如上面参照图12E所述的,控制器130将第九数据DATA9编程在多个存储器装置1501、1502、1503和1504的各自辅助块之中的任一个辅助块中,如参考符号PST19所指示的。由于第九数据DATA9的大小小于预定大小,因此控制器130将第九数据DATA9编程在辅助块中而不是将第九数据DATA9单触发编程在多个存储器装置1501、1502、1503和1504的各自标准块之中的任一个标准块中。
例如,如参考符号PST19所指示的,控制器130根据交织方案的操作顺序将第九数据DATA9编程在多个存储器装置1501、1502、1503和1504之中的第一存储器装置1501的第一辅助块中。
如参考符号PST19所指示的,控制器130将第九数据DATA9顺序地编程在包括在第一存储器装置1501中的第一辅助块的空白空间中,其中第一辅助块的空白空间由存储在地址管理区域中的第一存储位置信息(未示出)指示。然后,控制器130更新第一存储位置信息并将更新的第一存储位置信息存储在地址管理区域中。
当对第一存储器装置1501执行由参考符号PST19指示的编程时,控制器130不擦除在缓存缓冲器1441中缓冲的第九数据DATA9。
在如上所述将第九数据DATA9编程在第一存储器装置1501的第一辅助块中后,控制器130将从主机输入的第十数据DATA10缓冲在缓存缓冲器1441中。
控制器130通过取预定大小96KB作为参考检查第十数据DATA10被缓冲在其中的缓存缓冲器1441的使用区域。结果是,第九数据DATA9和第十数据DATA10在缓存缓冲器1441中占据的使用区域的总大小是8KB。
即,控制器130不从缓存缓冲器1441擦除第九数据DATA9,并将随后输入的第十数据DATA10和未擦除的第九数据DATA9一起累加地缓冲在缓存缓冲器1441中。即使累加地缓冲第九数据DATA9和第十数据DATA10,但缓存缓冲器1441的使用区域是仍然小于预定大小的8KB。
相应地,控制器130应将在缓存缓冲器1441中缓冲且小于预定大小 的数据DATA9+DATA10编程在多个存储器装置1501、1502、1503和1504的各自辅助块之中的任一个辅助块中。此时,没有必要对在第十数据DATA10被输入之前完全被编程在第一存储器装置1501的第一辅助块中的第九数据DATA9再次编程。相应地,如参考符号PST110所指示的,控制器130仅将第十数据DATA10编程在多个存储器装置1501、1502、1503和1504的各自辅助块中的任一个辅助块中。也就是说,当将在缓存缓冲器1441中缓冲且小于预定大小的数据编程在多个存储器装置1501、1502、1503和1504的各自辅助块中的任一个辅助块中时,仅最近被缓冲的数据DATA10被编程。
在将之前输入的第九数据DATA9编程在第一存储器装置1501的第一辅助块中的操作完成之后,第十数据DATA10被缓冲在缓存缓冲器1441中。因此,当在多个存储器装置1501、1502、1503和1504的各自辅助块之中选择任一个辅助块来编程第十数据DATA10时,第一存储器装置1501的第一辅助块被包括在选择目标中。在一个实施例中,根据交织方案的操作顺序,可以再次选择第一存储器装置1501的第一辅助块。
例如,如附图所示,如参考符号PST110所指示的,控制器130根据交织方案的操作顺序将第十数据DATA10编程在多个存储器装置1501、1502、1503和1504之中的第一存储器装置1501的第一辅助块中。如附图所示,在将第九数据DATA9编程在第一存储器装置1501的第一辅助块中后,可以再次将第十数据DATA10连续地编程在第一存储器装置1501的第一辅助块中。然而,本发明不限于此。在另一个实施例中,根据设计者的选择,另一种操作是可能的。
如参考符号PST110所指示的,控制器130将第十数据DATA10顺序地编程在包括在第一存储器装置1501中的第一辅助块的空白空间中,其中第一辅助块的空白空间由存储在地址管理区域中的第一存储位置信息(未示出)指示。然后,控制器130更新第一存储位置信息,并将更新的第一存储位置信息存储在地址管理区域中。
当对第一存储器装置1501执行由参考符号PST110所指示的编程时, 控制器130不擦除在缓存缓冲器1441中缓冲的第十数据DATA10。因此,第九数据DATA9和第十数据DATA10都不被擦除并且保留在缓存缓冲器1441中。
在如上所述的将第九数据DATA9和第十数据DATA10顺序地编程在第一存储器装置1501的第一辅助块中后,控制器130将从主机输入的第十一数据DATA11缓冲在缓存缓冲器1441中。
控制器130通过取预定大小96KB作为参考检查第十一数据DATA11被缓冲在其中的缓存缓冲器1441的使用区域。结果是,可检查到第九数据DATA9、第十数据DATA10和第十一数据DATA11在缓存缓冲器1441中占据的使用区域的总大小是12KB。
即,控制器130不从缓存缓冲器1441擦除第九数据DATA9和第十数据DATA10,并将随后输入的第十一数据DATA11与未擦除的第九数据DATA9和第十数据DATA10一起累加地缓冲在缓存缓冲器1441中。即使累加地缓冲第九数据DATA9、第十数据DATA10和第十一数据DATA11,但缓存缓冲器1441的总使用区域变为12KB且仍然小于预定大小。
相应地,控制器130应将在缓存缓冲器1441中缓冲且仍然小于预定大小的数据DATA9+DATA10+DATA11编程在多个存储器装置1501、1502、1503和1504的各自辅助块中的任一个辅助块中。此时,由于在输入第十一数据DATA11之前第九数据DATA9和第十数据DATA10已经被完全编程在第一存储器装置1501的第一辅助块中,因此没有必要对第九数据DATA9和第十数据DATA10再次编程。相应地,如参考符号PST111所指示的,控制器130将第十一数据DATA11编程在多个存储器装置1501、1502、1503和1504的各自辅助块中的任一个辅助块中。也就是说,当将在缓存缓冲器1441中缓冲且小于预定大小的数据编程在多个存储器装置1501、1502、1503和1504的各自辅助块中的任一个辅助块中时,仅最近被缓冲的数据DATA11被编程。
在将之前输入的第十数据DATA10编程在第一存储器装置1501的第 一辅助块中的操作完成之后,第十一数据DATA11被缓冲在缓存缓冲器1441中。因此,当在多个存储器装置1501、1502、1503和1504的各自辅助块之中选择任一个辅助块来编程第十一数据DATA11时,第一存储器装置1501的第一辅助块被包括在选择目标中。即,再次选择第一存储器装置1501的第一辅助块。
如附图所示,如参考符号PST111所指示的,控制器130根据交织方案的操作顺序将第十一数据DATA11编程在多个存储器装置1501、1502、1503和1504之中的第一存储器装置1501的第一辅助块中。如附图所示,在将第九数据DATA9和第十数据DATA10编程在第一存储器装置1501的第一辅助块中后,再次将第十一数据DATA11连续地编程在第一存储器装置1501的第一辅助块中的操作是一个实施例。然而,本发明不限于此。根据设计者的选择可使用另一种操作。
如参考符号PST111所指示的,控制器130将第十一数据DATA11顺序地编程在包括在第一存储器装置1501中的第一辅助块的空白空间中,其中第一辅助块的空白空间由存储在地址管理区域中的第一存储位置信息(未示出)指示。然后,控制器130更新第一存储位置信息,并将更新的第一存储位置信息存储在地址管理区域中。
当对第一存储器装置1501执行由参考符号PST111所指示的编程时,控制器130不擦除在缓存缓冲器1441中缓冲的第十一数据DATA11。因此,第九数据DATA9、第十数据DATA10和第十一数据DATA11不被擦除并且保留在缓存缓冲器1441中。
在如上所述的将第九数据DATA9、第十数据DATA10和第十一数据DATA11顺序地编程在第一存储器装置1501的第一辅助块中后,控制器130将从主机输入的第十二数据DATA12缓冲在缓存缓冲器1441中。
控制器130通过取预定大小96KB作为参考检查第十二数据DATA12被缓冲在其中的缓存缓冲器1441的使用区域。结果是,可检查到第九数据DATA9、第十数据DATA10、第十一数据DATA11和第十二数据DATA12占据缓存缓冲器1441的使用区域的总大小是16KB。
控制器130不从缓存缓冲器1441擦除第九数据DATA9、第十数据DATA10和第十一数据DATA11,并将随后输入的第十二数据DATA12与未擦除的第九数据DATA9、第十数据DATA10和第十一数据DATA11一起累加地缓冲在缓存缓冲器1441中。即使累加地缓冲第九数据DATA9、第十数据DATA10、第十一数据DATA11和第十二数据DATA12,但缓存缓冲器1441的总使用区域是仍然小于预定大小的16KB。
相应地,控制器130应将在缓存缓冲器1441中缓冲且大小小于预定大小的数据DATA9+DATA10+DATA11+DATA12编程在多个存储器装置1501、1502、1503和1504的各自辅助块之中的任一个辅助块中。此时,由于在输入第十二数据DATA12之前第九数据DATA9、第十数据DATA10和第十一数据DATA11已经被完全编程在第一存储器装置1501的第一辅助块中,所以没有必要对它们再次编程。相应地,如参考符号PST112所指示的,控制器130将第十二数据DATA12编程在多个存储器装置1501、1502、1503和1504的各自辅助块中的任一个辅助块中。也就是说,当将在缓存缓冲器1441中缓冲且大小小于预定大小的数据编程在多个存储器装置1501、1502、1503和1504的各自辅助块中的任一个辅助块中时,仅最近被缓冲的数据DATA12被编程。
在将之前输入的第十一数据DATA11编程在第一存储器装置1501的第一辅助块中的操作完成之后,第十二数据DATA12被缓冲在缓存缓冲器1441中。因此,当在多个存储器装置1501、1502、1503和1504的各自辅助块之中选择任一个辅助块来编程第十二数据DATA12时,第一存储器装置1501的第一辅助块被包括在选择目标中。因此,再次选择第一存储器装置1501的第一辅助块。
如附图所示,如参考符号PST112所指示的,控制器130根据交织方案的操作顺序将第十二数据DATA12编程在多个存储器装置1501、1502、1503和1504之中的第一存储器装置1501的第一辅助块中。当然,本发明不限于以下操作:如附图所示,在将第九数据DATA9、第十数据DATA10和第十一数据DATA11编程在第一存储器装置1501的第一辅助 块中后,再次将第十二数据DATA12连续地编程在第一存储器装置1501的第一辅助块中。在另一实施例中,根据设计者的选择可使用另一种操作。
如参考符号PST112所指示的,控制器130将第十二数据DATA12顺序地编程在包括在第一存储器装置1501中的第一辅助块的空白空间中,其中第一辅助块的空白空间由存储在地址管理区域中的第一存储位置信息(未示出)指示。然后,控制器130更新第一存储位置信息,并将更新的第一存储位置信息存储在地址管理区域中。
其值被更新并以此种方式存储在地址管理区域中的第一存储位置信息根据交织方案的操作顺序被存储在除第一存储器装置1501之外的第二至第四存储器装置1502、1503和1504之中的任一存储器装置的标准块中。
例如,在编程第一存储器装置1501的第一辅助块的操作之后执行将缓存缓冲器1441中的数据单触发编程在第二存储器装置1502的第二标准块中的操作,当将缓存缓冲器1441的数据单触发编程在第二存储器装置1502的第二标准块中时,第一存储位置信息被一起存储在第二标准块中。由于第一存储位置信息存储在第二标准块的备用区域中,因此可以此方式将第一存储位置信息与缓存缓冲器1441的数据一起存储在第二标准块中。
当对第一存储器装置1501执行由参考符号PST112所指示的编程时,控制器130不擦除在缓存缓冲器1441中缓冲的第十二数据DATA12。相应地,第九数据DATA9、第十数据DATA10、第十一数据DATA11和第十二数据DATA12全部不被擦除并保留在缓存缓冲器1441中。
以此方式,将在缓存缓冲器1441中缓冲的第九数据DATA9、第十数据DATA10、第十一数据DATA11和第十二数据DATA12编程在第一存储器装置1501的第一辅助块中,同时不从缓存缓冲器1441擦除。在这种情况下,数据被迭代地存储在多个存储器装置1501、1502、1503和1504的各自辅助块之中的任一个中以及缓存缓冲器1441中并且在多个存储器 装置1501、1502、1503和1504的各自辅助块之中的任一个中被管理为有效状态。
参照图12J,控制器130将从主机输入的第十三数据DATA13缓冲在缓存缓冲器1441中。
控制器130通过取预定大小96KB作为参考检查第十三数据DATA13被缓冲在其中的缓存缓冲器1441的使用区域。结果是,可检查到在缓存缓冲器1441中累积地缓冲的第九数据DATA9、第十数据DATA10、第十一数据DATA11、第十二数据DATA12和第十三数据DATA13的总大小和占据缓存缓冲器1441的使用区域为96KB。
如以上参照图12I所述的,控制器130不从缓存缓冲器1441擦除第九数据DATA9、第十数据DATA10、第十一数据DATA11和第十二数据DATA12。而是,控制器130将随后输入的第十三数据DATA13与未擦除的第九数据DATA9、第十数据DATA10、第十一数据DATA11和第十二数据DATA12一起累积地缓冲在缓存缓冲器1441中。第九数据DATA9、第十数据DATA10、第十一数据DATA11、第十二数据DATA12和第十三数据DATA13占据缓存缓冲器1441的总使用区域可以是96KB。
相应地,控制器130可以将通过累加第九数据DATA9、第十数据DATA10、第十一数据DATA11、第十二数据DATA12和第十三数据DATA13获得的数据单触发编程在多个存储器装置1501、1502、1503和1504的各自标准块之中的任一个标准块中。
在如上参照图12I所述的将第十二数据DATA12编程在第一存储器装置1501的第一辅助块中的操作完成之后,第十三数据DATA13被缓冲在缓存缓冲器1441中。因此,当在多个存储器装置1501、1502、1503和1504的各自标准块之中选择任一个标准块来编程第九数据DATA9、第十数据DATA10、第十一数据DATA11、第十二数据DATA12和第十三数据DATA13时,第一存储器装置1501的第一正常块被包括在选择目标中。因此,可以再次选择第一存储器装置1501的第一正常块。
如附图所示,如参考符号PNM19+10+11+12+13所指示的,控制器 130根据交织方案的操作顺序将通过累加第九数据DATA9、第十数据DATA10、第十一数据DATA11、第十二数据DATA12和第十三数据DATA13获得的数据单触发编程在多个存储器装置1501、1502、1503和1504之中的第一存储器装置1501的第一标准块中。当然本发明不限于以下操作:如附图所示,在将第九数据DATA9、第十数据DATA10、第十一数据DATA11和第十二数据DATA12编程在第一存储器装置1501的第一辅助块中后,将通过累加第九数据DATA9、第十数据DATA10、第十一数据DATA11、第十二数据DATA12和第十三数据DATA13获得的数据连续地单触发编程在第一存储器装置1501的第一标准块中。在另一个实施例中,根据设计者的选择可使用另一种操作。
当对第一存储器装置1501执行单触发编程PNM19+10+11+12+13时,控制器130从缓存缓冲器1441擦除通过累加第九数据DATA9、第十数据DATA10、第十一数据DATA11、第十二数据DATA12和第十三数据DATA13获得的数据。
以此方式,当第九数据DATA9、第十数据DATA10、第十一数据DATA11和第十二数据DATA12与第十三数据DATA13被一起编程在第一存储器装置1501的第一标准块中时,从缓存缓冲器1441擦除已经被缓冲在缓存缓冲器1441中同时已经被编程在第一存储器装置1501的第一辅助块中的第九数据DATA9、第十数据DATA10、第十一数据DATA11和第十二数据DATA12。当在数据被编程在多个存储器装置1501、1502、1503和1504的各自辅助块之中的至少一个辅助块中后,将其从缓存缓冲器1441擦除并编程在多个存储器装置1501、1502、1503和1504的各自标准块之中的任一个标准块中时,迭代地编程在多个存储器装置1501、1502、1503和1504的各自辅助块之中的至少一个辅助块和各自标准块之中的任一个标准块中的数据在多个存储器装置1501、1502、1503和1504的各自辅助块之中的至少一个辅助块中被管理为无效状态。
总之,控制器130以交织方案操作多个存储器装置1501、1502、1503和1504。而且,每当将依次输入的多个数据DATA<9:13>的每个缓冲在 缓存缓冲器1441中时,控制器130检查缓存缓冲器1441的使用区域。当由DATA9、DATA9+DATA10、DATA9+DATA10+DATA11或DATA9+DATA10+DATA11+DATA12占据的缓存缓冲器1441的总使用区域小于预定大小时,数据DATA9、DATA9+DATA10、DATA9+DATA10+DATA11或DATA9+DATA10+DATA11+DATA12被编程在多个存储器装置1501、1502、1503和1504的各自辅助块之中的任一个辅助块中。根据交织方案的操作顺序确定多个存储器装置1501、1502、1503和1504之中的哪个存储器装置将被操作。当将总大小小于预定大小的数据DATA9、DATA10、DATA11或DATA12编程在多个存储器装置1501、1502、1503和1504的各自辅助块之中的任一辅助块中时,控制器130不从缓存缓冲器1441擦除数据DATA9、DATA9+DATA10、DATA9+DATA10+DATA11或DATA9+DATA10+DATA11+DATA12。
以此种方式,由于数据DATA9、DATA9+DATA10、DATA9+DATA10+DATA11或DATA9+DATA10+DATA11+DATA12的大小小于预定大小,并且即使在其被编程在多个存储器装置1501、1502、1503和1504的各自辅助块之中的任一个辅助块中之后也未从缓存缓冲器1441擦除,所以数据DATA9、DATA9+DATA10、DATA9+DATA10+DATA11或DATA9+DATA10+DATA11+DATA12与随后输入的数据DATA10、DATA11、DATA12或DATA13累积地缓冲在缓存缓冲器1441中。当完成随后输入的数据DATA10、DATA11、DATA12或DATA13的缓冲时,再次检查缓存缓冲器1441的使用区域。当在缓存缓冲器1441中缓冲的数据DATA9、DATA9+DATA10、DATA9+DATA10+DATA11、DATA9+DATA10+DATA11+DATA12或DATA9+DATA10+DATA11+DATA12+DATA13的大小达到预定大小时,对在缓存缓冲器1441中缓冲的数据DATA9+DATA10+DATA11+DATA12+DATA13进行单触发编程并将其存储在多个存储器装置1501、1502、1503和1504的各自标准块之中的任一个标准块中。
当将在缓存缓冲器1441中缓冲且具有预定大小的数据DATA9+DATA10+DATA11+DATA12+DATA13单触发编程在多个存储器装置1501、1502、1503和1504的各自标准块之中的任一个标准块中时,控制器130从缓存缓冲器1441擦除数据DATA9+DATA10+DATA11+DATA12+DATA13。
图13A和图13B是辅助说明根据根据第二实施例的存储器系统的单触发编程操作的框图。图13A和图13B示出当从主机输入的数据大于预定大小即数据的大小大于96KB时,控制器130如何控制多个各自的存储器装置1501、1502、1503和1504。参照图13A,控制器130将从主机输入的第十四数据DATA14缓冲在缓存缓冲器1441中。
控制器130通过取预定大小96KB作为参考检查第十四数据DATA14被缓冲在其中的缓存缓冲器1441的使用区域。结果是,可检查到第十四数据DATA14被缓冲在缓存缓冲器1441中并且缓存缓冲器1441的使用区域变为100KB。也就是说,可以检查到其中缓冲第十四数据DATA14的缓存缓冲器1441的使用区域是100KB且大于用作预定大小的96KB。
相应地,控制器130(i)如参考符合PNM114所指示的将第十四数据DATA14的大小为96KB的部分单触发编程在多个存储器装置1501、1502、1503和1504的各自标准块的任一个标准块中,以及(ii)如参考符号PST214所指示的将剩余的4KB的数据编程在多个存储器装置1501、1502、1503和1504的各自辅助块中的任一个辅助块中。由于第十四数据DATA14的大小大于预定大小,所以控制器130将第十四数据DATA14划分成预定大小的第一部分数据和剩余数据,将第一部分数据单触发编程在多个存储器装置1501、1502、1503和1504的各自标准块中的任一个中,并将剩余数据编程在多个存储器装置1501、1502、1503和1504的各自辅助块的任一个中。
例如,根据交织方案的操作顺序,控制器130如参考符号PNM114所指示的将第十四数据DATA14中预定大小的第一部分数据编程在多个存储器装置1501、1502、1503和1504之中的第一存储器装置1501的第 一标准块中,并如参考符号PST214所指示的将剩余数据编程在多个存储器装置1501、1502、1503和1504之中的第二存储器装置1502的第二辅助块中。
控制器130如参考符号PST214所指示的将第十四数据DATA14的剩余数据编程在包括在第二存储器装置1502中的第二辅助块的空白空间中,其中第二辅助块的空白空间由存储在地址管理区域中的第二存储位置信息(未示出)指示。然后,控制器130更新第二存储位置信息,并将更新的第二存储位置信息存储在地址管理区域中。
以这种方式存储在地址管理区域中的更新的第二存储位置信息被存储在根据交织方案的操作顺序并在除第二存储器装置1502之外的第一、第三和第四存储器装置1501、1503和1504中选择的任一个存储器装置的标准块中。例如,在一个实施例中,在编程第二存储器装置1502的第二辅助块的操作之后,执行将缓存缓冲器1441的数据单触发编程在第三存储器装置1503的第三标准块中的操作。当将缓存缓冲器1441的数据单触发编程在第三存储器装置1503的第三标准块中时,第二存储位置信息被一起存储在第三标准块中。由于第二存储位置信息被存储在第三标准块的备用区域中,所以第二存储位置信息可以此种方式与缓存缓冲器1441的数据一起存储在第三标准块中。
当对第一存储器装置1501执行单触发编程PNM114时,控制器130从缓存缓冲器1441擦除具有预定大小的数据。相反,当对第二存储器装置1502执行由参考符号PST214指示的编程时,控制器130不从缓存缓冲器1441擦除除预定大小的数据之外的剩余数据。即,控制器130擦除如参考符号PNM114所指示的被单触发编程在第一存储器装置1501中的96KB的第一部分数据,但不从缓存缓冲器1441擦除4KB的剩余数据。4KB的剩余数据如参考符号PST214所指示的被编程在第二存储器装置1502中。
以此种方式,在缓存缓冲器1441中缓冲的第十四数据DATA14的剩余数据被编程在第二存储器装置1502的第二辅助块中但不从缓存缓冲器 1441擦除。在这种情况下,迭代地存储在多个存储器装置1501、1502、1503和1504的各自辅助块之中的任一个中和缓存缓冲器1441中的数据在多个存储器装置1501、1502、1503和1504的各自辅助块之中的任一个中被管理为有效状态。
参照图13B,控制器130将从主机输入的第十五数据DATA15缓冲在缓存缓冲器1441中。控制器130通过取预定大小96KB作为参考检查第十五数据DATA15被缓冲在其中的缓存缓冲器1441的使用区域。结果是,可检查到在缓存缓冲器1441中累积地缓冲的第十四数据DATA14的剩余数据和第十五数据DATA15占据缓存缓冲器1441的使用区域的总大小是96KB。
如上参照图13A所述的,控制器130不从缓存缓冲器1441擦除第十四数据DATA14的剩余数据,并将随后输入的第十五数据DATA15与未擦除的第十四数据DATA14的剩余数据一起累积地缓冲在缓存缓冲器1441中。因此,第十四数据DATA14的剩余数据和第十五数据DATA15被累积地缓冲在其中的缓存缓冲器1441的总使用区域变为96KB。
相应地,控制器130可以将通过累加第十四数据DATA14的剩余数据和第十五数据DATA15得到的数据单触发编程在多个存储器装置1501、1502、1503和1504的各自标准块之中的任一个标准块中。
如上参照图13A所述的,当正在执行将第十四数据DATA14中预定大小的第一部分数据单触发编程在第一存储器装置1501的第一标准块中的操作和正在执行将第十四数据DATA14的剩余数据编程在第二存储器装置1502的第二辅助块中的操作时,第十五数据DATA15被缓冲在缓存缓冲器1441中。即,当在多个存储器装置1501、1502、1503和1504之中的第三存储器装置1503和第四存储器装置1504不执行任何操作时,第十五数据DATA15被缓冲在缓存缓冲器1441中。
因此,根据交织方案的操作顺序,当控制器130如参考符号PNM314+15所指示的将通过累加在缓存缓冲器1441中缓冲的第十四数据DATA14的剩余数据和第十五数据DATA15获得的数据单触发编程在 第三存储器装置1503的第三标准块中时,多个存储器装置1501、1502、1503和1504之中的第三存储器装置1503操作。当然,本发明并不限于将通过累加在缓存缓冲器1441中缓冲的第十四数据DATA14的剩余数据和第十五数据DATA15获得的数据单触发编程在第三存储器装置1503的第三标准块中。在另一个实施例中,根据设计者的选择可使用任何不同的操作。
当在第三存储器装置1503中执行单触发编程PNM314+15时,控制器130从缓存缓冲器1441擦除通过累加第十四数据DATA14的剩余数据和第十五数据DATA15获得的数据。
以此种方式,当第十四数据DATA14的剩余数据和第十五数据DATA15一起被编程在第三存储器装置1503的第三标准块中时,从缓存缓冲器1441擦除已被缓冲在缓存缓冲器1441中同时已被编程在第二存储器装置1502的第二辅助块中的第十四数据DATA14的剩余数据。即,(i)当数据被编程在多个存储器装置1501、1502、1503和1504的各自标准块之中的任一个标准块中时,(ii)在数据被编程在多个存储器装置1501、1502、1503和1504的各自辅助块中的任一个中之后,从缓存缓冲器1441擦除数据。迭代地编程在多个存储器装置1501、1502、1503和1504的各自辅助块之中的任一个辅助块和各自标准块之中的任一个标准块中的数据在多个存储器装置1501、1502、1503和1504的各自辅助块之中的任一个辅助块中被管理为无效状态。
总之,控制器130以交织方案操作多个存储器装置1501、1502、1503和1504。而且,每当将依次输入的多个数据DATA<14:15>的每个缓冲在缓存缓冲器1441中时,控制器130检查缓存缓冲器1441的使用区域。当缓存缓冲器1441的使用区域大于预定大小时,控制器130将在缓存缓冲器1441中缓冲且大于预定大小的数据DATA14划分成多个数据片段,例如,具有预定大小的第一部分数据和剩余数据。然后,控制器130将具有预定大小的第一部分数据单触发编程在多个存储器装置1501、1502、1503和1504的各自标准块中的任一个中。控制器130将剩余数据编程在 多个存储器装置1501、1502、1503和1504的各自辅助块之中的任一个中。根据交织方案的操作顺序确定多个存储器装置1501、1502、1503和1504之中的哪个存储器装置将被操作。
当将数据DATA14的第一部分数据单触发编程在多个存储器装置1501、1502、1503和1504的各自标准块之中的任一个中时,控制器130从缓存缓冲器1441擦除数据DATA14的第一部分数据。当将数据DATA14的剩余数据编程在多个存储器装置1501、1502、1503和1504的各自辅助块之中的任一个中时,控制器130不从缓存缓冲器1441擦除数据DATA14的剩余数据。
由于数据DATA14的剩余数据即使在其被编程在多个存储器装置1501、1502、1503和1504的各自辅助块之中的任一个辅助块中后也不从缓存缓冲器1441擦除,因此数据DATA14的剩余数据与随后输入的数据DATA15一起被累积地缓冲在缓存缓冲器1441中。因此,当完成随后输入的数据DATA15的缓冲时,再次检查缓存缓冲器1441的使用区域。当在缓存缓冲器1441中缓冲的数据DATA14(剩余)+DATA15的总大小达到预定大小时,将在缓存缓冲器1441中缓冲且具有预定大小的数据DATA14(剩余)+DATA15单触发编程在多个存储器装置1501、1502、1503和1504的各自标准块之中的任一个标准块中。
当将在缓存缓冲器1441中缓冲且具有预定大小的数据DATA14(剩余)+DATA15单触发编程在多个存储器装置1501、1502、1503和1504的各自标准块之中的任一个标准块中时,控制器130从缓存缓冲器1441擦除数据DATA14(剩余)+DATA15。
基于第一至第四存储位置信息可以检查多个存储器装置1501、1502、1503和1504的各自辅助块即第一至第四辅助块的使用区域。因此,控制器130可以基于第一至第四存储位置信息检查多个存储器装置1501、1502、1503和1504的各自辅助块的使用区域,然后可以擦除超过预定可用大小的辅助块。当然,当辅助块将被擦除时,存储在其中的所有数据应处于无效状态。
图14是描述根据第一和第二实施例的存储器系统的启动操作的框图。图14示出当存储器系统例如在供电中断时重新开始启动操作时,如何恢复被编程在多个存储器装置1501、1502、1503和1504的各自辅助块中的数据。
存储在多个存储器装置1501、1502、1503和1504的各自辅助块中的数据包括处于无效状态的数据和处于有效状态的数据。存储在多个存储器装置1501、1502、1503和1504的各自辅助块中的数据之中的无效状态的数据是指这样的数据,即(i)被编程在多个存储器装置1501、1502、1503和1504的各自辅助块的任一个中,(ii)当被编程在多个存储器装置1501、1502、1503和1504的各自标准块的任一个中时从缓存缓冲器1441擦除,并(iii)由此被迭代地编程在多个存储器装置1501、1502、1503和1504的各自辅助块之中的任一辅助块和各自标准块之中的任一标准块中的数据。此外,无效状态的数据是在启动操作之前已从缓存缓冲器1441擦除的数据。
因此,在启动操作期间没有必要将无效状态的数据恢复到缓存缓冲器1441。例如,如附图所示,存储在第一存储器装置1501的第一辅助块、第二存储器装置1502的第二辅助块和第四存储器装置1504的第四辅助块1504中的所有数据DATA_A、DATA_B和DATA_D处于无效状态。因此,它们不需要被再次缓冲在缓存缓冲器1441中。
相反,存储在多个存储器装置1501、1502、1503和1504的各自辅助块中的数据之中的有效状态的数据是在启动操作之前被迭代地存储在多个存储器装置1501、1502、1503和1504的各自辅助块之中的任一个和缓存缓冲器1441中的数据。因此,在启动操作期间有必要将有效状态的数据恢复到缓存缓冲器1441。例如,如附图所示,存储在第三存储器装置1503的第三辅助块中的数据DATA_C处于有效状态,并且数据DATA_C被再次缓冲在缓存缓冲器1441中。
指示多个存储器装置1501、1502、1503和1504的各自辅助块中空白空间的位置的存储位置信息从多个存储器装置1501、1502、1503和1504 的各自标准块中读取并被存储在地址管理区域1442中。指示第一存储器装置1501的第一辅助块中空白空间的位置的第一存储位置信息PA存储在包括在除第一存储器装置1501之外的第二至第四存储器装置1502、1503和1504中的任一存储器装置中的标准块中。
指示第二存储器装置1502的第二辅助块中空白空间的位置的第二存储位置信息PB存储在包括在除第二存储器装置1502之外的第一、第三和第四存储器装置1501、1503和1504中的任一存储器装置中的标准块中。
指示第三存储器装置1503的第三辅助块中空白空间的位置的第三存储位置信息PC存储在包括在除第三存储器装置1503之外的第一、第二和第四存储器装置1501、1502和1504中的任一存储器装置中的标准块中。
指示第四存储器装置1504的第四辅助块中空白空间的位置的第四存储位置信息PD存储在包括在除第四存储器装置1504之外的第一至第三存储器装置1501、1502和1503中的任一存储器装置中的标准块中。
虽然出于说明目的已经描述了各自实施例,但是在不偏离如权利要求限定的本发明的精神和范围的情况下可以做出各种变化和修改,这对于本领域技术人员是显而易见的。
Claims (20)
1.存储器系统,其包括:
第一存储器装置,其包括第一标准块和第一辅助块;
第二存储器装置,其包括第二标准块和第二辅助块;以及
控制器,其被配置为以交织方案操作所述第一存储器装置和所述第二存储器装置,
其中所述控制器:
当缓冲最近输入的第一数据时,检查缓存缓冲器的首先使用区域,
当所述缓存缓冲器的首先使用区域小于预定大小时,将所述第一数据编程在所述第一辅助块或所述第二辅助块中而不从所述缓存缓冲器擦除所述第一数据;以及
当所述缓存缓冲器的首先使用区域等于或大于所述预定大小时,将占据所述缓存缓冲器的首先使用区域的一部分的所述预定大小的第二数据编程至所述第一标准块或所述第二标准块同时从所述缓存缓冲器擦除所述第二数据。
2.根据权利要求1所述的存储器系统,其中在当在所述第一数据之前输入的第三数据保留在所述缓存缓冲器中时输入所述第一数据的情况下,所述控制器进一步将所述第一数据与所述第三数据一起缓冲在所述缓存缓冲器中。
3.根据权利要求1所述的存储器系统,其中所述控制器将关于所述第一数据的物理地址和逻辑地址以及所述第二数据的物理地址的映射信息存储在地址管理区域中,并且不将所述第二数据的逻辑地址存储在所述地址管理区域中。
4.根据权利要求3所述的存储器系统,其中所述控制器将指示所述第一辅助块的空白空间开始的位置的物理地址编程在所述地址管理区域中,作为第一存储位置信息;并将指示所述第二辅助块的空白空间开始的位置的物理地址编程在所述地址管理区域中,作为第二存储位置信息。
5.根据权利要求4所述的存储器系统,其中当以所述交织方案操作所述第一存储器装置时,所述控制器将所述第一数据编程在所述第一辅助块中或将所述第二数据编程在所述第一标准块中,并且当以所述交织方案操作所述第二存储器装置时,所述控制器将所述第一数据编程在所述第二辅助块中或将所述第二数据编程在所述第二标准块中。
6.根据权利要求5所述的存储器系统,其中当以所述交织方案操作所述第一存储器装置时,所述控制器将所述第二数据与所述第二存储位置信息编程在所述第一标准块中,并且当以所述交织方案操作所述第二存储器装置时,所述控制器将所述第二数据与所述第一存储位置信息编程在所述第二标准块中。
7.根据权利要求6所述的存储器系统,其中,在当以所述交织方案操作所述第一存储器装置时所述第一数据被编程在所述第一辅助块中的情况下,所述控制器使用所述第一存储位置信息将所述第一数据编程在所述第一辅助块的空白空间中,然后更新所述第一存储位置信息;以及
其中,在当以所述交织方案操作所述第二存储器装置时所述第一数据被编程在所述第二辅助块中的情况下,所述控制器使用所述第二存储位置信息将所述第一数据编程在所述第二辅助块的空白空间中,然后更新所述第二存储位置信息。
8.根据权利要求2所述的存储器系统,其中,当所述第一数据和所述第三数据的大小等于或大于所述预定大小时,所述控制器将作为所述第二数据的所述第一数据和所述第三数据编程在所述第一标准块或所述第二标准块中。
9.根据权利要求8所述的存储器系统,其中当所述第一数据被同时存储在所述第一辅助块和所述第二辅助块的任一个中和所述缓存缓冲器中时,所述控制器在所述第一辅助块或所述第二辅助块中将所述第一数据管理为有效状态;并且当所述第一数据被同时存储在所述第一辅助块和所述第二辅助块的任一个中和所述第一标准块和所述第二标准块的任一个中时,所述控制器在所述第一辅助块或所述第二辅助块中将所述第一数据管理为无效状态。
10.根据权利要求9所述的存储器系统,其中,在启动操作期间,所述控制器将存储在所述第一辅助块和所述第二辅助块中的有效状态的第一数据缓冲在所述缓存缓冲器中,读取存储在所述第一标准块中的所述第二存储位置信息和存储在所述第二标准块中的所述第一存储位置信息,并且将所述第一存储位置信息和所述第二存储位置信息存储在所述地址管理区域中。
11.根据权利要求4所述的存储器系统,其中所述控制器使用所述第一存储位置信息或所述第二存储位置信息检查所述第一辅助块或所述第二辅助块的第二使用区域,并且当所述第二使用区域超过预定可用大小时擦除所述第一辅助块或所述第二辅助块。
12.用于操作具有第一存储器装置和第二存储器装置的存储器系统的方法,所述第一存储器装置包括第一标准块和第一辅助块,所述第二存储器装置包括第二标准块和第二辅助块,所述方法包括:
以交织方案操作所述第一存储器装置和所述第二存储器装置;
当缓冲最近输入的第一数据时检查缓存缓冲器的首先使用区域;
当所述缓存缓冲器的首先使用区域小于预定大小时,将所述第一数据编程在所述第一辅助块或所述第二辅助块中而不从所述缓存缓冲器擦除所述第一数据;以及
当所述缓存缓冲器的首先使用区域等于或大于所述预定大小时,将占据所述缓存缓冲器的首先使用区域的一部分的所述预定大小的第二数据编程至所述第一标准块或所述第二标准块同时从所述缓存缓冲器擦除所述第二数据。
13.根据权利要求12所述的方法,其中,在当在所述第一数据之前输入的第三数据保留在所述缓存缓冲器中时输入所述第一数据的情况下,所述第一数据的缓冲包括将所述第三数据与所述第一数据缓冲在所述缓存缓冲器中。
14.根据权利要求12所述的方法,其进一步包括:
将关于所述第一数据的物理地址和逻辑地址以及所述第二数据的物理地址的映射信息存储在地址管理区域中;以及
不将所述第二数据的逻辑地址存储在所述地址管理区域中。
15.根据权利要求14所述的方法,其进一步包括:
将指示所述第一辅助块的空白空间开始的位置的物理地址存储在所述地址管理区域中,作为第一存储位置信息;以及
将指示所述第二辅助块的空白空间开始的位置的物理地址存储在所述地址管理区域中,作为第二存储位置信息。
16.根据权利要求15所述的方法,其中当所述缓存缓冲器的首先使用区域等于或大于所述预定大小时,从所述缓存缓冲器擦除所述第二数据包括:
根据所述交织方案选择所述第一存储器装置或所述第二存储器装置;
当选择所述第一存储器装置时,将所述第二数据与所述第二存储位置信息编程在所述第一标准块中并从所述缓存缓冲器擦除所述第二数据;以及
当选择所述第二存储器装置时,将所述第二数据与所述第一存储位置信息编程在所述第二标准块中并从所述缓存缓冲器擦除所述第二数据。
17.根据权利要求16所述的方法,其中当所述缓存缓冲器的首先使用区域小于预定大小时,不从所述缓存缓冲器擦除所述第一数据包括:
根据所述交织方案选择所述第一存储器装置或所述第二存储器装置;
当选择所述第一存储器装置时,使用所述第一存储位置信息将所述第一数据编程在所述第一辅助块的空白空间中,更新所述第一存储位置信息,并不从所述缓存缓冲器擦除所述第一数据;以及
当选择所述第二存储器装置时,使用所述第二存储位置信息将所述第一数据编程在所述第二辅助块的空白空间中,更新所述第二存储位置信息,并不从所述缓存缓冲器擦除所述第一数据。
18.根据权利要求13所述的方法,其中,当所述第一数据和所述第三数据的大小等于或大于预定大小时,所述预定大小的第二数据的编程包括将作为所述第二数据的所述第一数据和所述第三数据编程在所述第一标准块或所述第二标准块中。
19.根据权利要求18所述的方法,其进一步包括:
当所述第一数据被同时存储在所述第一辅助块和所述第二辅助块的任一个中和所述缓存缓冲器中时,在所述第一辅助块或所述第二辅助块中将所述第一数据管理为有效状态;以及
当所述第一数据被同时存储在所述第一辅助块和所述第二辅助块的任一个中和所述第一标准块和所述第二标准块的任一个中时,在所述第一辅助块或所述第二辅助块中将所述第一数据管理为无效状态。
20.根据权利要求19所述的方法,其进一步包括:
在启动操作期间,将存储在所述第一辅助块和所述第二辅助块中的有效状态的第一数据缓冲在所述缓存缓冲器中;
在所述启动操作期间,读取存储在所述第一标准块中的所述第二存储位置信息和存储在所述第二标准块中的所述第一存储位置信息;以及在所述启动操作期间,将所述第一存储位置信息和所述第二存储位置信息存储在所述地址管理区域中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2015-0163874 | 2015-11-23 | ||
KR1020150163874A KR20170059658A (ko) | 2015-11-23 | 2015-11-23 | 메모리 시스템 및 메모리 시스템의 동작방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106775444A true CN106775444A (zh) | 2017-05-31 |
CN106775444B CN106775444B (zh) | 2020-06-23 |
Family
ID=58720788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610563130.5A Active CN106775444B (zh) | 2015-11-23 | 2016-07-15 | 存储器系统及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9886381B2 (zh) |
KR (1) | KR20170059658A (zh) |
CN (1) | CN106775444B (zh) |
TW (1) | TWI695380B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766257A (zh) * | 2016-08-19 | 2018-03-06 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN110489271A (zh) * | 2018-05-15 | 2019-11-22 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN111459401A (zh) * | 2019-01-22 | 2020-07-28 | 三星电子株式会社 | 包括非易失性存储器设备的存储器系统 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11544168B2 (en) | 2017-10-30 | 2023-01-03 | SK Hynix Inc. | Memory system |
KR102414047B1 (ko) * | 2017-10-30 | 2022-06-29 | 에스케이하이닉스 주식회사 | 통합 메모리 디바이스 및 그의 동작 방법 |
KR102535627B1 (ko) * | 2018-03-28 | 2023-05-24 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
KR102533207B1 (ko) | 2018-08-30 | 2023-05-17 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 |
KR102649169B1 (ko) * | 2018-12-12 | 2024-03-20 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
TWI811674B (zh) * | 2021-05-06 | 2023-08-11 | 大陸商北京集創北方科技股份有限公司 | 快閃記憶體的操作方法、系統單晶片及資訊處理裝置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080250195A1 (en) * | 2000-01-06 | 2008-10-09 | Super Talent Electronics Inc. | Multi-Operation Write Aggregator Using a Page Buffer and a Scratch Flash Block in Each of Multiple Channels of a Large Array of Flash Memory to Reduce Block Wear |
US20120239853A1 (en) * | 2008-06-25 | 2012-09-20 | Stec, Inc. | Solid state device with allocated flash cache |
CN105051703A (zh) * | 2012-11-13 | 2015-11-11 | 西部数据技术公司 | 用于避免数据存储设备中较低页讹误的方法和设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008152464A (ja) | 2006-12-15 | 2008-07-03 | Toshiba Corp | 記憶装置 |
KR100866959B1 (ko) | 2007-02-13 | 2008-11-05 | 삼성전자주식회사 | 불휘발성 메모리 장치의 부분 페이지 데이터 기입 방법 |
US20100125695A1 (en) * | 2008-11-15 | 2010-05-20 | Nanostar Corporation | Non-volatile memory storage system |
US20110252187A1 (en) * | 2010-04-07 | 2011-10-13 | Avigdor Segal | System and method for operating a non-volatile memory including a portion operating as a single-level cell memory and a portion operating as a multi-level cell memory |
JP2012234254A (ja) * | 2011-04-28 | 2012-11-29 | Toshiba Corp | メモリシステム |
JP2014513850A (ja) | 2011-05-17 | 2014-06-05 | サンディスク テクノロジィース インコーポレイテッド | 小さな論理グループがアクティブなslcおよびmlcメモリパーティションに分散させられる不揮発性メモリおよび方法 |
KR101938210B1 (ko) * | 2012-04-18 | 2019-01-15 | 삼성전자주식회사 | 낸드 플래시 메모리, 가변 저항 메모리 및 컨트롤러를 포함하는 메모리 시스템의 동작 방법 |
TWI520152B (zh) * | 2013-03-01 | 2016-02-01 | 慧榮科技股份有限公司 | 資料儲存裝置與快閃記憶體控制方法 |
US20140281132A1 (en) * | 2013-03-15 | 2014-09-18 | Marielle Bundukin | Method and system for ram cache coalescing |
-
2015
- 2015-11-23 KR KR1020150163874A patent/KR20170059658A/ko unknown
-
2016
- 2016-04-26 TW TW105113001A patent/TWI695380B/zh active
- 2016-04-27 US US15/140,302 patent/US9886381B2/en active Active
- 2016-07-15 CN CN201610563130.5A patent/CN106775444B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080250195A1 (en) * | 2000-01-06 | 2008-10-09 | Super Talent Electronics Inc. | Multi-Operation Write Aggregator Using a Page Buffer and a Scratch Flash Block in Each of Multiple Channels of a Large Array of Flash Memory to Reduce Block Wear |
US20120239853A1 (en) * | 2008-06-25 | 2012-09-20 | Stec, Inc. | Solid state device with allocated flash cache |
CN105051703A (zh) * | 2012-11-13 | 2015-11-11 | 西部数据技术公司 | 用于避免数据存储设备中较低页讹误的方法和设备 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766257A (zh) * | 2016-08-19 | 2018-03-06 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107766257B (zh) * | 2016-08-19 | 2021-07-23 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN110489271A (zh) * | 2018-05-15 | 2019-11-22 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
KR20190130719A (ko) * | 2018-05-15 | 2019-11-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
CN110489271B (zh) * | 2018-05-15 | 2023-08-04 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
KR102583810B1 (ko) * | 2018-05-15 | 2023-10-05 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
CN111459401A (zh) * | 2019-01-22 | 2020-07-28 | 三星电子株式会社 | 包括非易失性存储器设备的存储器系统 |
CN111459401B (zh) * | 2019-01-22 | 2024-10-01 | 三星电子株式会社 | 包括非易失性存储器设备的存储器系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106775444B (zh) | 2020-06-23 |
KR20170059658A (ko) | 2017-05-31 |
US20170147489A1 (en) | 2017-05-25 |
US9886381B2 (en) | 2018-02-06 |
TWI695380B (zh) | 2020-06-01 |
TW201719667A (zh) | 2017-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106775444A (zh) | 存储器系统及其操作方法 | |
CN106708744B (zh) | 存储系统和存储系统的操作方法 | |
CN106776353A (zh) | 存储器系统及其操作方法 | |
CN106909521A (zh) | 存储器系统及其操作方法 | |
CN106648452A (zh) | 存储器系统及其操作方法 | |
CN106257399A (zh) | 存储系统及其操作方法 | |
CN106708757A (zh) | 存储器系统及其操作方法 | |
CN106776352B (zh) | 存储器系统和存储器系统的操作方法 | |
CN105989885A (zh) | 存储系统及其操作方法 | |
CN106598478A (zh) | 存储器系统及其操作方法 | |
CN106802769A (zh) | 存储器系统及其操作方法 | |
CN106775442A (zh) | 存储器系统及其操作方法 | |
CN105739914A (zh) | 数据处理系统及其操作方法 | |
CN105988938A (zh) | 存储系统及其操作方法 | |
CN106250052A (zh) | 存储系统及其操作方法 | |
CN107102815A (zh) | 存储器系统及其操作方法 | |
CN106919345A (zh) | 存储器系统及其操作方法 | |
CN106960679A (zh) | 存储器系统及存储器系统的操作方法 | |
CN106710615A (zh) | 存储器系统和存储器系统的操作方法 | |
CN106126433A (zh) | 存储系统及其操作方法 | |
CN106909476A (zh) | 存储器系统及其操作方法 | |
CN107025065A (zh) | 存储器系统及其操作方法 | |
CN106610904A (zh) | 存储系统及其操作方法 | |
CN106802770A (zh) | 存储器系统及其操作方法 | |
CN105718378A (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 |