CN109992202A - 数据存储设备、其操作方法以及包括其的数据处理*** - Google Patents
数据存储设备、其操作方法以及包括其的数据处理*** Download PDFInfo
- Publication number
- CN109992202A CN109992202A CN201811132249.2A CN201811132249A CN109992202A CN 109992202 A CN109992202 A CN 109992202A CN 201811132249 A CN201811132249 A CN 201811132249A CN 109992202 A CN109992202 A CN 109992202A
- Authority
- CN
- China
- Prior art keywords
- tube core
- buffer stopper
- open
- superblock
- data
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/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
- G06F12/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash 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/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- 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/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- 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
- 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
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
本发明涉及一种数据存储设备,该数据存储设备包括:非易失性存储器装置,该非易失性存储器装置包括多个管芯,该多个管芯被配置为多个超级块和多个清除缓冲块;开放超级块管理器,管理所分配的开放超级块的索引以及数据待被写入在所分配的开放超级块中的位置;开放清除缓冲块管理器,管理所分配的开放清除缓冲块的索引以及数据待被写入所分配的开放清除缓冲块中的位置;以及处理器,使用开放超级块管理器识别正在执行正常写入操作的第一管芯和邻近第一管芯的第二管芯,并且使用开放清除缓冲块管理器选择除第一管芯和第二管芯之外的管芯中包括的开放清除缓冲块。
Description
相关申请的交叉引用
本申请要求于2018年1月3日提交的申请号为10-2018-0000732的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
各种实施例可以总体涉及一种半导体设备,并且更特别地,涉及一种数据存储设备、该数据存储设备的操作方法以及包括该数据存储设备的数据处理***。
背景技术
近年来,计算机环境范例转变至可以随时随地使用计算机***的普适计算***。作为结果,诸如移动电话、数码相机和笔记本电脑的便携式电子设备的使用已经快速增长。通常,便携式电子设备使用数据存储设备,该数据存储设备采用存储器装置。数据存储设备可以用于存储在便携式电子设备中使用的数据。
使用存储器装置的数据存储设备不具有机械驱动单元并且表现优良的稳定性和耐久性、高信息访问速度和低功耗。这种数据存储设备可以包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪速存储(UFS)装置、固态驱动器(SSD)等。
发明内容
本发明的实施例涉及一种具有提高的写入性能的数据存储设备、该数据存储设备的操作方法以及包括该数据存储设备的数据处理***。
在本公开的实施例中,一种数据存储设备可以包括:非易失性存储器装置,其包括:多个管芯,每个管芯包括多个存储块,存储块被配置为多个超级块和多个清除缓冲块;随机存取存储器,其包括:开放超级块管理器以及开放清除缓冲块管理器,该开放超级块管理器被配置为管理多个超级块中的所分配的一个开放超级块的索引以及数据待被写入所分配的一个开放超级块中的位置,并且该开放清除缓冲块管理器,被配置为管理被分配至管芯的多个开放清除缓冲块的索引以及数据待被写入所分配的开放清除缓冲块中的位置;以及处理器,其被配置为当从主机设备接收到清除写入请求时,使用开放超级块管理器识别正在执行正常写入操作的第一管芯和邻近第一管芯的第二管芯,使用开放清除缓冲块管理器选择除第一管芯和第二管芯之外的管芯中包括的至少一个开放清除缓冲块,并且控制非易失性存储器装置对所选择的开放清除缓冲块执行清除写入操作。
在本公开的实施例中,一种数据存储设备的操作方法可以包括:当从主机设备接收到清除写入请求时,识别当前执行正常写入操作的第一管芯和邻近第一管芯的第二管芯;选择除第一管芯和第二管芯之外的管芯中包括的至少一个开放清除缓冲块;并且控制非易失性存储器装置对所选择的开放清除缓冲块执行清除写入操作。
在本公开的实施例中,一种数据处理***可以包括:主机设备,其被配置为传递清除写入请求;以及数据存储设备,其包括非易失性存储器装置,该非易失性存储器装置被配置为包括被配置为多个超级块和多个清除缓冲块的多个管芯,以及控制器,被配置为控制非易失性存储器装置。控制器可以包括:随机存取存储器,其包括:开放超级块管理器,被配置为管理多个超级块中所分配的一个开放超级块的索引以及数据待被写入所分配的开放超级块中的位置,以及开放清除缓冲块管理器,被配置为管理被分配至多个管芯的多个开放清除缓冲块的索引以及数据待被写入所分配的开放清除缓冲块中的位置;以及处理器,其被配置为当从主机设备接收到清除写入请求时,使用开放超级块管理器识别正在执行正常写入操作的第一管芯和邻近第一管芯的第二管芯,使用开放清除缓冲块管理器选择除第一管芯和第二管芯之外的管芯中包括的至少一个开放清除缓冲块,并且控制非易失性存储器装置对所选择的开放清除缓冲块执行清除写入操作。
在本公开的实施例中,一种存储器***可以包括:存储器装置,其包括管芯,每个管芯包括超级块的单元存储块(element memory block)并且包括一个或多个清除缓冲块;以及控制器,其适于按照当前正在对管芯中的第一管芯执行的超级块写入操作的顺序在第一管芯之后管理第二管芯的信息,并且响应于清除操作,控制存储器装置对管芯中的除第一管芯和第二管芯之外的管芯中包括的清除缓冲块中的一个执行清除操作。
根据本发明的各个实施例,由于以超级块为单位来存储正常写入数据并且以各个管芯的存储块为单位来存储清除写入数据,因此可以选择除正常写入数据存储操作被中断的管芯和待恢复正常写入数据存储操作的管芯之外的管芯的存储块作为清除缓冲块。
因此,可以安全地存储清除写入数据,同时确保用于正常写入数据的正常写入操作的交错方案。
附图说明
从以下结合附图的详细描述中将更清楚地理解本公开的主题的上述和其它方面、特征及优点,其中:
图1是示出根据本公开的实施例的数据存储设备的配置示例的框图;
图2是示出图1的非易失性存储器装置的配置示例的示图;
图3A是示出根据本公开的实施例的超级块和写入操作序列的配置示例的示图;
图3B是示出根据本公开的实施例的超级块池的配置示例的示图;
图3C是示出根据本公开的实施例的所分配的超级块的信息表的示例的示图;
图4A是示出根据本公开的实施例的清除缓冲块组的配置示例的示图;
图4B是示出根据本公开的实施例的清除缓冲块池的配置示例的示图;
图4C是示出根据本公开的实施例的所分配的清除缓冲块的信息表的示例的示图;
图5是示出根据本公开的实施例的在正常写入操作期间生成清除写入请求的示例的示图;
图6是示出根据本公开的实施例的数据存储设备的操作方法的流程图;
图7是示出根据本公开的实施例的包括固态驱动器的数据处理***的示例的示图;
图8是示出根据本发明公开内容的实施例的图7所示的控制器的示例的示图;
图9是示出包括根据本公开的实施例的数据存储设备的数据处理***的示例的示图;
图10是示出包括根据本公开的实施例的数据存储设备的数据处理***的示例的示图;
图11是示出包括根据本公开的实施例的数据存储设备的网络***的示例的示图;以及
图12是示出包括在根据本公开的实施例的数据存储设备中的非易失性存储器装置的示例的框图。
具体实施方式
将参照附图更详细地描述本发明的各个实施例。注意的是,附图是本发明的各个实施例(和中间配置)的简化示意图。这样,作为例如制造技术和/或公差的结果的图示的配置和形状的变化是预期的。因此,描述的实施例不应被解释为限于本文示出的特定配置和形状,而是可以包括配置和形状的偏差,其不脱离如所附权利要求中限定的本发明的精神和范围。
本文参照本发明的理想化实施例的截面图和/或平面图来描述本发明。然而,本发明的实施例不应当被解释为限制本发明构思。虽然将示出和描述本发明的少数实施例,但是本领域普通技术人员将理解,在不脱离本发明的精神或范围的情况下,可以进行其它实施例及其变化。
将进一步理解的是,当一个元件被称为“连接至”或“联接至”另一元件时,该元件可以直接在其它元件上、连接至或联接至其它元件,或可存在一个或多个中间元件。另外,也将理解的是,当元件被称为在两个元件“之间”时,两个元件之间可以仅有一个元件或也可存在一个或多个中间元件。
当短语“......和......中的至少一个”在本文中与项目列表一起使用时,是指列表中的单个项目或列表中项目的任何组合。例如,“A、B和C中的至少一个”是指只有A、或只有B、或只有C、或A、B和C的任何组合。
如本文使用的术语“或”是指两个或更多个可选方案中的一个,而不是两者,也不是其任何组合。
如本文使用的,术语“和/或”包括一个或多个相关的所列项目的任何一个和所有组合。
如本文使用的,单数形式也旨在包括复数形式,除非上下文另有清楚地说明。
将进一步理解的是,在本说明书中,术语“包含”和“包含有”可以与开放式术语“包括”、“包括有”互换使用,以指定任何所述元件的存在并且不排除一个或多个其它元件的存在或添加。
除非另有限定,否则本文所使用的包括技术术语和科学术语的所有术语具有与本发明所属领域中普通技术人员通常理解的含义相同的含义。将进一步理解的是,诸如在常用词典中限定的那些术语的术语应被理解为具有与它们在本公开的上下文和相关领域中的含义一致的含义并且将不以理想化或过于正式的意义来解释,除非本文如此明确地限定。
在以下描述中,为了提供本发明的全面理解,阐述了许多具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,为了不使本发明不必要模糊,未详细地描述公知的进程结构和/或进程。
也注意的是,在一些情况下,对相关领域的技术人员显而易见的是,结合一个实施例描述的也可被称为特征的元件可单独使用或与另一实施例的其它元件结合使用,除非另有明确说明。
在下文中,将参照附图详细地描述本公开的实施例。
图1是示出根据实施例的数据存储设备10的框图。根据实施例的数据存储设备10可以存储待由主机设备(未示出)访问的数据。主机设备可以是诸如移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视(TV)、车载信息娱乐***等的装置。数据存储设备10也可以被称为存储器***。
数据存储设备10可以被制造为各种类型的存储设备中的任意一种,并且可以根据主机接口传输协议与主机设备(未示出)可操作地联接。例如,数据存储设备10可以被配置为诸如以下的各种类型的存储设备中的任意一种:固态驱动器(SSD)、MMC、eMMC、RS-MMC和微型MMC形式的多媒体卡、SD、迷你SD和微型SD形式的安全数字卡、通用串行总线(USB)存储装置、通用闪存(UFS)装置、个人计算机存储卡国际协会(PCMCIA)卡式存储装置、***组件互连(PCI)卡式存储装置、高速PCI(PCI-E)卡式存储装置、标准闪存(CF)卡、智能媒体卡、记忆棒等。
数据存储设备10可以被制造为各种类型的封装中的任意一种。例如,数据存储设备10可以被制造为诸如以下的各种类型的封装中的任意一种:堆叠封装(POP)、***级封装(SIP)、片上***(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
参照图1,数据存储设备10可以包括经由一个或多个通信通道CH可操作地联接的非易失性存储器装置100和控制器200。
非易失性存储器装置100可以用作数据存储设备10的存储介质。非易失性存储器装置100可以包括诸如以下的各种类型的非易失性存储器装置中的任意一种:NAND闪速存储器装置、NOR闪速存储器装置、使用铁电电容器的铁电随机存取存储器(FRAM)、使用隧道磁阻(TMR)层的磁性随机存取存储器(MRAM)、使用硫族化物合金的相变随机存取存储器(PRAM)和使用过渡金属化合物的电阻式随机存取存储器(RERAM)。
虽然非易失性存储器装置100在图1中被示为一个块,但是非易失性存储器装置100可以包括多个管芯,每个管芯包括多个存储块。
非易失性存储器装置100可以包括存储器单元阵列,其包含布置在多个字线(未示出)和多个位线(未示出)彼此交叉的区域中的多个存储器单元。存储器单元阵列可以包括多个存储块,并且多个存储块中的每一个可以包括多个页面。
例如,存储器单元阵列中的存储器单元中的每一个可以是存储单位数据(例如,1位数据)的单层单元(SLC)、存储2位数据的多层单元(MLC)、存储3位数据的三层单元(TLC)以及存储4位数据的四层单元QLC中的至少一种。存储器单元阵列可以包括SLC、MLC、TLC和QLC中的至少一个或多个单元。存储器单元阵列可以包括以二维(2D)水平结构布置的存储器单元或具有3D垂直结构的存储器单元。
控制器200可以包括主机接口210、处理器220、随机存取存储器(RAM)230和存储器接口240。
主机接口210可以执行主机设备(未示出)和数据存储装置10之间的接口连接。例如,主机接口210可以通过诸如以下的标准传输协议中的任意一种与主机设备通信:USB协议、UFS、MMC协议、并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机***接口(SCSI)协议、串列SISI(SAS)协议、PCI协议和PCI-E协议。
处理器220可以被配置为微控制单元(MCU)或中央处理单元(CPU)。处理器220可以处理从主机设备传输的请求(例如,读取请求和写入请求)。处理器220可以驱动代码类型指令或算法(例如,软件),其被加载到RAM 230中以用于控制内部功能块和/或非易失性存储器装置100。
RAM 230可以被配置为随机存取存储器,诸如动态RAM(DRAM)或静态RAM(SRAM)。RAM 230可以存储通过处理器220驱动的软件。RAM 230可以存储驱动软件所需的数据。例如,RAM 230可以用作处理器220的工作存储器。
当非易失性存储器装置100被配置为闪速存储器装置时,处理器220可以控制非易失性存储器装置100的内部操作并驱动被称为闪存转换层(FTL)的软件,以将装置兼容性提供至主机设备。因此,通过闪存转换层(FTL)的驱动,主机设备可以通过将数据存储设备10识别为通用数据存储设备诸如硬盘来使用数据存储设备10。
闪存转换层(FTL)可以被加载到RAM 230中并且可以包括被配置为执行驱动模块所需的各种功能和元数据的模块。例如,闪存转换层(FTL)可以包括损耗均衡模块、坏块管理模块、垃圾收集模块、交错模块、突然断电管理模块、地址映射等,然而,闪存转换层(FTL)的配置不限于此。
RAM 230可以临时存储待从主机设备传输到非易失性存储器装置100的数据或者从非易失性存储器装置100读取并待被传输到主机设备的数据。例如,RAM 230可以用作处理器220的缓冲存储器。
参照图1,RAM 230可以包括超级块池SBP、开放超级块管理器OSBM、清除缓冲块池FBP以及开放清除缓冲块管理器OFBM。
超级块池SBP可以被配置为包括诸如非易失性存储器装置100中包括的超级块中的每一个的分配/空闲和擦除/写入(E/W)计数的信息。稍后将参照相关附图详细描述超级块和超级块池SBP。
开放超级块管理器OSBM可以被配置为管理信息,诸如开放超级块的索引以及数据待被写入在非易失性存储器装置100中包括的多个超级块中所分配的开放超级块中的位置。数据待被写入的位置可以表示所分配的开放超级块中的页面编号(例如,页面地址)和扇区编号。每当新分配开放超级块时,由于新分配的开放超级块,所以开放超级块管理器OSBM可以更新开放超级块的索引。每当完成对开放超级块的写入操作时,开放超级块管理器OSBM可以更新数据待被写入的位置,例如,开放超级块中的页面编号和扇区编号。
清除缓冲块池FBP可以被配置为包括信息,诸如非易失性存储器装置100中包括的清除缓冲块中的每一个的分配/空闲和E/W计数稍后将参照相关附图详细描述清除缓冲块和清除缓冲块池FBP。
开放清除缓冲块管理器OSBM可以被配置为管理信息,诸如开放清除缓冲块的索引以及数据待被写入在非易失性存储器装置100中包括的多个清除缓冲块中所分配的开放清除缓冲块中的位置。可以为每个管芯(参见图2的D1至Di)分配单个存储块作为清除缓冲块。因此,开放清除缓冲块管理器OFBM可以管理关于与管芯的数量(例如,数量“i”)相同数量的开放清除缓冲块的信息。数据待被写入的位置可以包括所分配的开放清除缓冲块中的页面编号(例如,页面地址)和扇区编号。
每当对每个管芯D1至Di新分配开放清除缓冲块时,由于新分配的开放清除缓冲块,开放清除缓冲块管理器OFBM可以更新对应于每个管芯D1至Di的开放清除缓冲块的索引。每当完成对每个开放清除缓冲块的写入操作时,开放清除缓冲块管理器OFBM可以更新数据待被写入每个开放清除缓冲块的位置,例如,开放清除缓冲块中的页面编号和扇区编号。
图2是示出图1的非易失性存储器装置100的配置示例的示图。
非易失性存储器装置100可以包括多个管芯D1至Di。管芯D1至Di中的每一个可以包括多个存储块B1至Bk。虽然未在图2中具体示出,但是管芯D1至Di中的每一个可以包括多个平面,该多个平面包括多个存储块。为了简化附图和描述的方便,在图2的示例中,管芯D1至Di中的每一个包括一个平面。
参照图2,管芯D1至Di中的相同存储块可以被分组为一个存储块组。将管芯D1至Di中的相同存储块分组的一个存储块组也可以被称为超级块。可以将管芯D1至Di中的第一存储块B1分组并用作第一超级块SB1。控制器200可以并行地操作在第一超级块SB1中包括的第一存储块B1。例如,控制器200可以控制非易失性存储器装置100以同时对在第一超级块SB1中包括的第一存储块B1执行诸如读取操作或写入操作的操作。
在非易失性存储器装置100中包括的超级块SB的数量可以小于在管芯D1至Di中的每一个中包括的存储块B1至Bk的数量。例如,当每个管芯D1至Di包括如图2所示的k个存储块B1至Bk时,可以将管芯D1至Di的第一存储块B1至第j存储块Bj分组并用作第一超级块SB1至第j超级块SBj。此处,k和j可以是1或更大的整数,并且j可以小于k。其它存储块,例如,除了包括在超级块SB1至SBj中的存储块B1至Bk之外的管芯D1至Di中的第j+1存储块Bj+1至第k存储块Bk可以不被分组为超级块并且可以用作单元存储块。
第j+1存储块Bj+1至第k存储块Bk中的部分或全部存储块可以被指定为清除缓冲块FB。清除缓冲块FB可以是空间,该空间被配置为当从主机设备接收到清除请求或者发生突然断电时临时存储在数据缓冲器(未示出)中存储的数据。
虽然未在图1中示出,但是控制器200可以包括数据缓冲器,其被配置为临时存储从主机设备接收的写入数据。每当在正常状态下从主机设备接收到写入请求和写入数据时,处理器220不会立即将写入数据存储在非易失性存储器装置100中,而是可以将写入数据临时缓存在数据缓冲器中,直到缓存的写入数据具有预设大小。当存储在数据缓冲器中的写入数据的大小大于预设大小时,处理器220可以控制非易失性存储器装置100将存储在数据缓冲器中的写入数据存储在所分配的开放超级块中。此处,预设大小可以指足以执行写入操作的最小尺寸。当存储在数据缓冲器中的写入数据的大小达到足以执行写入操作的最小大小时,处理器220可以控制非易失性存储器装置100将对应的写入数据存储在开放超级块中。
当从主机设备接收到清除请求或者发生突然断电时,当数据缓冲器中缓存的数据的大小等于或小于预设大小时,处理器220可以在多个指定的清除缓冲块中选择一个清除缓冲块,并控制非易失性存储器装置100将存储在数据缓冲器中的写入数据存储在所选择清除缓冲块中。
当数据缓冲器中的数据的大小变得大于预设大小时,存储在清除缓冲块中的数据可以通过处理器220的控制再次被存储在数据缓冲器中,并且然后与从主机设备传输的写入数据一起被存储在所分配的开放超级块中。
图3A是解释根据本公开的实施例的超级块和写入操作序列的配置示例的示图,图3B是示出根据本公开的实施例的超级块池SBP的配置示例的示图,并且图3C是示出根据本公开的实施例的由开放超级块管理器OSBM管理的信息表的配置示例的示图。
如图3A所示,一个超级块SB可以包括分别从管芯D1至Di中选择的存储块(例如,第一存储块B1)。多个第一存储块B1中的每一个可以包括多个页面P1至Pn,并且页面P1至Pn中的每一个可以包括多个扇区S1至S4、S5至S8以及Sm-3至Sm。作为示例而非限制,在图3A中示出在一个页面中包括四个扇区,然而,一个页面中包括的扇区的数量不限于此。
扇区S1至Sm可以是非易失性存储器装置100中用于从主机设备接收的写入数据的存储单元。例如,当一个扇区是4K字节并且从主机设备接收的写入数据是40K字节时,写入数据可以被写入在十个扇区中。
可以基于由图3A中的虚线箭头指示的①至表示的序列来执行对一个超级块SB的写入操作。当超级块SB的第一页面P1至第n页面Pn指的是超级块SB的第一超级页面至第n超级页面时,对超级块SB的写入操作可以从第一超级页面P1开始并且可以终止于第n超级页面Pn。在超级页面P1至Pn中的每一个中,写入操作可以从第一扇区S1开始并且可以终止于第m扇区Sm。可以在单个超级块SB中按照管芯、页面和扇区的顺序对单个超级块SB顺序地执行写入操作。
处理器220可以分配超级块SB,例如,开放超级块以存储正常写入数据。正常写入数据可以指具有足以执行写入操作的大小的写入数据。处理器220可以参照图3B中所示的超级块池SBP,将多个空闲超级块中具有最小E/W计数的空闲超级块分配为开放超级块。超级块池SBP可以被配置为包括信息,诸如在非易失性存储器装置100中包括的所有超级块(例如,图2的第一超级块至第j超级块)的分配/空闲以及E/W计数。图3B示出第一超级块SB1被分配为开放超级块的示例。
当分配开放超级块时,处理器220可以使用如图3C所示的开放超级块管理器OSBM来管理所分配的开放超级块的索引(例如,‘1’)以及数据待被写入所分配的开放超级块中的页面编号(例如,‘1’)和扇区编号(例如,‘1’)。如图3C所示,页面编号和扇区编号两者都是‘1’的状态可以指写入数据未被存储的初始状态。例如,分别是由开放超级块管理器OSBM管理的表中的‘2’和‘7’的页面编号和扇区编号可以表示正常写入数据待被存储的位置是如图3A所示的第二管芯D2中的第二页面P2的第七扇区S7。
图4A是示出根据本公开的实施例的清除缓冲块组FBG的配置示例的示图,图4B是示出根据本公开的实施例的清除缓冲块池FBP的配置示例的示图,并且图4C是示出根据本公开的实施例的由开放清除缓冲块管理器OFBM管理的信息表的配置示例的示图。
如图4A所示,清除缓冲块组FBG可以包括多个存储块。在图4A中已经示出清除缓冲块组FBG包括除了在图2的超级块中包括的存储块之外的所有存储块,然而这仅仅是示例性的,并且这不限于此。可以单独分配和管理在清除缓冲块组FBG中包括的管芯D1至Di的第j+1存储块Bj+1至第k存储块Bk。如在超级块中包括的存储块,清除缓冲块组FBG的每个存储块可以包括n个页面,每个页面包括四个扇区。
处理器220可以分配清除缓冲块FB,例如,开放清除缓冲块以存储清除写入数据。如上所述,清除写入数据可以指当从主机设备接收到清除请求或发生突然断电时,存储在数据缓冲器(未示出)中具有预设大小或更小大小的写入数据。处理器220可以参照图4B所示的清除缓冲块池FBP在管芯D1至Di中逐一地选择具有最小E/W计数的空闲清除缓冲块。处理器220可以将所选择空闲清除缓冲块分配为多个开放清除缓冲块。
为了清楚起见,在管芯D1至Di中包括的清除缓冲块被指示为图4B中的第一至第h清除缓冲块FB1至FBh。清除缓冲块池FBP可以被配置为包括信息,诸如针对管芯D1至Di中的第一至第h清除缓冲块FB1至FBh中的每一个的分配/空闲以及E/W计数。在图4B中示出将第一管芯D1的第一清除缓冲块FB1、第二管芯D2的第二清除缓冲块FB2、第i管芯Di的第一清除缓冲块FB1等分配为开放清除缓冲块的示例。
当分配开放清除缓冲块时,处理器220可以使用如图4C所示的开放清除缓冲块管理器OSBM来管理所分配的开放超级块的索引(例如,‘1’、‘2’、‘1’)以及数据待被写入管芯D1至Di中所分配的开放清除缓冲块中的页面编号(例如,‘1’、‘1’、‘1’)和扇区编号(例如,‘1’、‘1’、‘1’)。如图4C所示,页面编号和扇区编号都是‘1’的状态可以指清除写入数据未被存储的初始状态。
在开放清除缓冲块管理器OFBM中,管芯D1至Di的索引1至i可以是固定的,并且每当新分配管芯中的开放清除缓冲块时,可以更新对应的开放清除缓冲块的索引。每当清除写入数据被存储在开放清除缓冲块中时,可以更新对应于开放清除缓冲块的页面编号和扇区编号。
将清除写入数据存储到所分配的开放清除缓冲块中的时间点可以是随机的。例如,当在将正常写入数据存储在超级块SB中的操作期间接收到清除请求或发生突然断电时,立即中断存储正常写入数据的操作并存储清除写入数据。当正常写入数据存储操作被中断的管芯与存储清除写入数据的管芯相同时,相同管芯中正常写入数据的编程时间间隔tPROG和清除写入数据的编程时间间隔tPROG可能彼此重叠,并且因此数据可能被破坏。因此,可以选择除了正常写入数据存储操作被中断的管芯以及待恢复正常写入数据存储操作的管芯之外的管芯作为待存储清除写入数据的管芯。
根据实施例,由于正常写入数据以超级块SB为单位来存储并且清除写入数据以各个管芯的存储块为单位来存储,因此可以选择除了正常写入数据存储操作被中断的管芯和待恢复正常写入数据存储操作的管芯之外的管芯的存储块作为清除缓冲块。因此,可以安全地存储清除写入数据,同时确保用于正常写入数据的正常写入操作的交错方案。
图5是示出根据本公开的实施例的在正常写入操作期间执行清除写入操作的示例的示图。
参照图5,当在存储正常写入数据的正常写入操作在时间t1开始之后的时间t2处从主机设备接收到清除写入请求时,处理器220可以使用开放超级块管理器OSBM来识别当前正在执行正常写入操作的管芯以及随后将执行正常写入操作的管芯。例如,图5示出当前正在执行正常写入操作的管芯是第四管芯D4,并且随后将在第五管芯D5中执行正常写入操作。
处理器220可以使用开放清除缓冲块管理器OFBM来选择包括在除了当前执行正常写入操作的管芯(例如,第四管芯D4)和随后将执行正常写入操作的管芯(例如,第五管芯D5)之外的管芯中的开放清除缓冲块。在描述的示例中,如图5所示,选择第一管芯D1和第二管芯D2的开放清除缓冲块FB1和FB2。
处理器220可以控制非易失性存储器装置100对第一管芯D1和第二管芯D2的所选择的开放清除缓冲块FB1和FB2执行清除写入操作。处理器220可以控制非易失性存储器装置100在完成清除写入操作之前恢复对本应随后执行正常写入操作的管芯(即,第五管芯D5)的正常写入操作。
存储器接口240可以根据处理器220的控制来控制非易失性存储器装置100。存储器接口240也可以被称为存储器控制器。存储器接口240可以将控制信号提供至非易失性存储器装置100。控制信号可以包括用于控制非易失性存储器装置100的命令、地址等。存储器接口240可以将数据提供至非易失性存储器装置100,或者可以从非易失性存储器装置100接收数据。存储器接口240可以通过通道CH联接到非易失性存储器装置100。通道可以包括一个或多个信号线。
图6是根据本公开的实施例的数据存储设备的操作方法的流程图。将参照图6以及图1至图5描述根据实施例的数据存储设备的操作方法。
在操作S610中,控制器(参见图1的200)的处理器(参见图1的220)可以确定是否从主机设备接收到清除写入请求。当接收到清除写入请求时,处理器可以继续进行到操作S620。
在操作S620中,处理器220可以使用开放超级块管理器OSBM识别当前执行正常写入操作的管芯(例如,图5的第四管芯D4)和随后将执行正常写入操作的管芯(例如,图5的第五管芯D5)。
在操作S630中,处理器220可以使用开放清除缓冲块管理器OSBM来选择包括在除了正常写入数据存储操作被中断的第四管芯D4和正常写入数据存储操作待被恢复的第五管芯D5之外的管芯(例如,图5的第一管芯D1和第二管芯D2)中的开放清除缓冲块(参见图5的FB1和FB2)。
在操作S640中,处理器220可以控制非易失性存储器装置100对所选择的开放清除缓冲块FB1和FB2执行清除写入操作。
图7是示出包括根据实施例的固态驱动器(SSD)的数据处理***的示例的示图。参照图7,数据处理***2000可以包括主机设备2100和SSD 2200。
SSD 2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231至223n、电源2240、信号连接器2250和电源连接器2260。
控制器2210可以控制SSD 2220的全部操作。
缓冲存储器装置2220可以临时存储待被存储在非易失性存储器装置2231至223n中的数据。缓冲存储器装置2220可以临时存储从非易失性存储器装置2231至223n读取的数据。临时被存储在缓冲存储器装置2220中的数据可以根据控制器2210的控制被传输到主机设备2100或非易失性存储器装置2231至223n。
非易失性存储器装置2231至223n可以用作SSD 2200的存储介质。非易失性存储器装置2231至223n可以通过多个通道CH1至CHn联接到控制器2210。一个或多个非易失性存储器装置可以联接到一个通道。联接到一个通道的非易失性存储器装置可以联接到相同的信号总线和相同的数据总线。
电源2240可以将通过电源连接器2260输入的功率PWR提供至SSD 2200的内部。电源2240可以包括辅助电源2241。辅助电源2241可以供给电源,使得即使当发生突然断电时SSD 2200也正常地终止。辅助电源2241可以包括能够充电功率PWR的大容量电容器。
控制器2210可以通过信号连接器2250与主机设备2100交换信号SGL。信号SGL可以包括命令、地址、数据等。根据主机设备2100和SSD 2200之间的接口方法,信号连接器2250可以配置有各种类型的连接器。
图8是示出图7所示的控制器2210的示例的示图。参照图8,控制器2210可以包括主机接口单元2211、控制单元2212、随机存取存储器(RAM)2213、错误校正码(ECC)单元2214和存储器接口单元2215。
主机接口单元2211可以根据主机设备2100的协议执行主机设备2100和SSD 2200之间的接口连接。例如,主机接口单元2211可以通过诸如以下的任意一种与主机设备2100通信:安全数字协议、通用串行总线(USB)协议、多媒体卡(MMC)协议、嵌入式MMC(eMMC)协议、个人计算机存储卡国际协会(PCMCIA)协议、并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机***接口(SCSI)协议、串列SCSI(SAS)协议、***组件互连(PCI)协议、高速PCI(PCI-E)协议和通用闪存装置(UFS)协议。主机接口单元2211可以执行主机设备2100将SSD 2200识别为通用数据存储设备例如硬盘驱动器HDD的盘模拟功能。
控制单元2212可以对从主机设备2100输入的信号SGL进行解析和处理。控制单元2212可以根据用于驱动SSD 2200的固件和/或软件来控制内部功能块的操作。RAM 2213可以用作驱动固件或软件的工作存储器。
ECC单元2214可以生成待被传输到非易失性存储器装置2231至223n的数据的奇偶校验数据。生成的奇偶校验数据可以与数据一起被存储在非易失性存储器装置2231至223n中。ECC单元2214可以基于奇偶校验数据来检测从非易失性存储器装置2231至223n读取的数据的错误。如果检测的错误在可校正的范围内,则ECC单元2214可以校正检测的错误。
存储器接口单元2215可以根据控制单元2212的控制将诸如命令和地址的控制信号提供至非易失性存储器装置2231至223n。存储器接口单元2215可以根据控制单元2212的控制与非易失性存储器装置2231至223n交换数据。例如,存储器接口单元2215可以将存储在缓冲存储器装置2220中的数据提供至非易失性存储器装置2231至223n,或将从非易失性存储器装置2231至223n读取的数据提供至缓冲存储器装置2220。
随机存取存储器2213可以被配置为图1的RAM 230。
图9是示出包括根据实施例的数据存储设备的数据处理***的示例的示图。参照图9,数据处理***3000可以包括主机设备3100和数据存储设备3200。
主机设备3100可以被配置成诸如印刷电路板(PCB)的板形式。虽然在图9中未示出,但是主机设备3100可以包括被配置成执行主机设备的功能的内部功能块。
主机设备3100可以包括诸如插座、插槽或连接器的连接端子3110。数据存储设备3200可以被安装在连接端子3110上。
数据存储设备3200可以被配置成诸如PCB的板形式。数据存储设备3200可以指存储器模块或存储卡。数据存储设备3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231至3232、电源管理集成电路(PMIC)3240和连接端子3250。
控制器3210可以控制数据存储设备3200的全部操作。控制器3210可以被配置为具有与图8所示的控制器2210相同的配置。
缓冲存储器装置3220可以临时存储待被存储在非易失性存储器装置3231和3232中的数据。缓冲存储器装置3220可以临时存储从非易失性存储器装置3231和3232读取的数据。临时存储在缓冲存储器装置3220中的数据可以根据控制器3210的控制被传输到主机设备3100或非易失性存储器装置3231和3232。
非易失性存储器装置3231和3232可以用作数据存储设备3200的存储介质。
PMIC 3240可以将通过连接端子3250输入的功率提供至数据存储设备3200的内部。PMIC 3240可以根据控制器3210的控制来管理数据存储设备3200的电源。
连接端子3250可以联接到主机设备3100的连接端子3110。可以通过连接端子3250在主机设备3100和数据存储设备3200之间传输诸如命令、地址和数据的信号以及功率。连接端子3250可以根据主机设备3100和数据存储设备3200之间的接口方法被配置成各种形式。连接端子3250可以被布置在数据存储设备3200的任意一侧中。
图10是示出包括根据实施例的数据存储设备的数据处理***的示例的示图。参照图10,数据处理***4000可以包括主机设备4100和数据存储设备4200。
主机设备4100可以被配置成诸如PCB的板形式。虽然在图10中未示出,但是主机设备4100可以包括被配置成执行主机设备的功能的内部功能块。
数据存储设备4200可以被配置成诸如PCB的板形式。数据存储设备4200可以通过焊球4250被安装到主机设备4100上。数据存储设备4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可以控制数据存储设备4200的全部操作。控制器4210可以被配置为具有与图8所示的控制器2210相同的配置。
缓冲存储器装置4220可以临时存储待被存储在非易失性存储器装置4230中的数据。缓冲存储器装置4220可以临时存储从非易失性存储器装置4230读取的数据。临时存储在缓冲存储器装置4220中的数据可以通过控制器4210的控制被传输到主机设备4100或非易失性存储器装置4230。
非易失性存储器装置4230可以用作数据存储设备4200的存储介质。
图11是示出包括根据实施例的数据存储设备4200的网络***5000的示例的示图。参照图11,网络***5000可以包括通过网络5500联接的服务器***5300和多个客户端***5410至5430。
服务器***5300可以响应于多个客户端***5410至5430的请求来提供数据。例如,服务器***5300可以存储从多个客户端***5410到5430提供的数据。又例如,服务器***5300可以将数据提供至多个客户端***5410至5430。
服务器***5300可以包括主机设备5100和数据存储设备5200。数据存储设备5200可以由图1的数据存储设备10、图7的数据存储设备2200、图9的数据存储设备3200或图10的数据存储设备4200来配置。
图12是示出包括在根据实施例的数据存储设备中的非易失性存储器装置的示例的框图。参照图12,非易失性存储器装置100可以包括存储器单元阵列110、行解码器120、列解码器140、数据读取/写入块130、电压发生器150和控制逻辑160。
存储器单元阵列110可以包括布置在字线WL1至WLm和位线BL1至BLn彼此相交的区域中的存储器单元MC。
行解码器120可以通过字线WL1至WLm联接到存储器单元阵列110。行解码器120可以通过控制逻辑160的控制而操作。行解码器120可以对从外部设备(未示出)提供的地址进行解码。行解码器120可以基于解码结果来选择并驱动字线WL1至WLm。例如,行解码器120可以将从电压发生器150提供的字线电压提供至字线WL1至WLm。
数据读取/写入块130可以通过位线BL1至BLn联接到存储器单元阵列110。数据读取/写入块130可以包括对应于位线BL1至BLn的读取/写入电路RW1至RWn。数据读取/写入块130可以根据控制逻辑160的控制而操作。数据读取/写入块130可以根据操作模式作为写入驱动器或读出放大器而操作。例如,数据读取/写入块130可以用作写入驱动器,该写入驱动器被配置为在写入操作中将从外部设备提供的数据存储在存储器单元阵列110中。例如,数据读取/写入块130可以用作读出放大器,该读出放大器被配置为在读取操作中从存储器单元阵列110读取数据。
列解码器140可以根据控制逻辑160的控制而操作。列解码器140可以对从外部设备(未示出)提供的地址进行解码。列解码器140可以基于解码结果来联接与位线BL1至BLn相对应的数据读取/写入块130的读取/写入电路RW1至RWn和数据输入/输出(I/O)线(或数据I/O缓冲器)。
电压发生器150可以产生用于非易失性存储器装置100的内部操作的电压。通过电压发生器150产生的电压可以被施加到存储器单元阵列110的存储器单元。例如,在编程操作中产生的编程电压可以被施加到待被执行编程操作的存储器单元的字线。又例如,在擦除操作中产生的擦除电压可以被施加到待被执行擦除操作的存储器单元的阱区。再例如,在读取操作中产生的读取电压可以被施加到待被执行读取操作的存储器单元的字线。
控制逻辑160可以基于从外部设备提供的控制信号来控制非易失性存储器装置100的全部操作。例如,控制逻辑160可以控制非易失性存储器装置100的操作,诸如非易失性存储器装置100的读取操作、写入操作和擦除操作。
本发明的上述实施例旨在说明而不是限制本发明。各种可选物和等同物是可能的。本发明不受本文所述的实施例的限制。本发明也不限于任何具体类型的半导体装置。鉴于本公开,其它添加、删减或变型是显而易见的,并且旨在落入所附权利要求的范围内。
Claims (16)
1.一种数据存储设备,包括:
非易失性存储器装置,包括多个管芯,每个所述管芯包括多个存储块,所述存储块被配置为多个超级块和多个清除缓冲块;
随机存取存储器,包括开放超级块管理器以及开放清除缓冲块管理器,所述开放超级块管理器管理在所述多个超级块中所分配的一个开放超级块的索引以及数据待被写入在所分配的开放超级块中的位置,所述开放清除缓冲块管理器管理分配至所述管芯的多个开放清除缓冲块的索引以及数据待被写入在所分配的开放清除缓冲块中的位置;以及
处理器,当从主机设备接收到所述清除写入请求时,使用所述开放超级块管理器识别正在执行正常写入操作的第一管芯和邻近所述第一管芯的第二管芯,使用所述开放清除缓冲块管理器选择除所述第一管芯和所述第二管芯之外的管芯中包括的至少一个开放清除缓冲块,并且控制所述非易失性存储器装置对所选择的开放清除缓冲块执行清除写入操作。
2.根据权利要求1所述的数据存储设备,其中所述随机存取存储器包括:
超级块池,其存储关于所述多个超级块中的每个超级块的分配/空闲以及擦除/写入计数,即E/W计数的信息;以及
清除缓冲块池,其存储关于所述多个清除缓冲块中的每个清除缓冲块的分配/空闲以及E/W计数的信息。
3.根据权利要求2所述的数据存储设备,其中所述处理器使用所述超级块池将所述多个超级块中具有最小E/W计数的超级块分配为所述开放超级块并且使用所述清除缓冲块池将包括在所述管芯中的所述多个清除缓冲块中具有最小E/W周期的清除缓冲块分配为开放清除缓冲块。
4.根据权利要求3所述的数据存储设备,其中每当新分配所述开放超级块时,所述开放超级块管理器更新所述开放超级块的所述索引,并且每当执行所述正常写入操作时,更新数据待被写入所述开放超级块中的位置。
5.根据权利要求3所述的数据存储设备,其中每当新分配每个管芯的开放清除缓冲块时,所述开放清除缓冲块管理器更新与每个管芯的所述开放清除缓冲块相对应的索引,并且每当执行清除写入操作时,所述开放清除缓冲块管理器更新数据待被写入对应的开放清除缓冲块中的位置。
6.根据权利要求1所述的数据存储设备,其中所述处理器控制所述非易失性存储器装置在完成所述清除写入操作之前对所述第二管芯随后执行所述正常写入操作。
7.根据权利要求1所述的数据存储设备,其中所述多个超级块是将在所述多个管芯中包括的相同存储块分组的块。
8.根据权利要求7所述的数据存储设备,其中在每个超级块中包括的所述存储块中的每一个包括具有多个扇区的多个页面。
9.根据权利要求8所述的数据存储设备,其中在所述开放超级块管理器中包括的数据待被写入的所述位置包括页面编号和扇区编号。
10.根据权利要求8所述的数据存储设备,其中以在所述开放超级块中包括的管芯、页面和扇区的次序顺序地执行所述正常写入操作。
11.一种数据存储设备的操作方法,所述数据存储设备包括非易失性存储器装置,其包含被配置为多个超级块和多个清除缓冲块的多个管芯以及控制器,其控制非易失性存储器装置的操作,所述方法包括:
当从主机设备接收到清除写入请求时,识别当前执行正常写入操作的第一管芯和邻近所述第一管芯的第二管芯;
选择除所述第一管芯和所述第二管芯之外的管芯中包括的至少一个开放清除缓冲块;并且
控制所述非易失性存储器装置对所选择的开放清除缓冲块执行清除写入操作。
12.根据权利要求11所述的方法,其中所述多个超级块是将在所述多个管芯中包括的相同存储块分组的块,并且
在所述多个超级块中分配的开放超级块中执行所述正常写入操作。
13.根据权利要求11所述的方法,其中通过使用管理所述开放超级块的索引和写入的位置的开放超级块管理器确定当前写入位置和邻近所述当前写入位置的数据待被写入的位置来执行所述第一管芯和所述第二管芯的所述识别。
14.根据权利要求11所述的方法,其中所述多个清除缓冲块包括在所述多个管芯中包括的多个存储块,并且
使用开放清除缓冲块管理器在与除了所述第一管芯和所述第二管芯之外的管芯相对应的开放清除缓冲块中选择所述开放清除缓冲块,所述开放清除缓冲块管理器管理在所述多个开放清除缓冲块中逐一地分配至所述管芯的多个开放清除缓冲块的索引和数据待被写入的位置。
15.一种存储器***,包括:
存储器装置,包括管芯,每个管芯包括超级块的单元存储块并且包括一个或多个清除缓冲块;以及
控制器:
按照当前正在对所述管芯中的所述第一管芯执行的超级块写入操作的顺序来管理第一管芯之后的第二管芯的信息,并且
响应于清除操作,控制所述存储器装置对所述管芯中除所述第一管芯和所述第二管芯之外的管芯中包括的所述清除缓冲块中的一个执行清除操作。
16.一种数据处理***,包括:
主机设备,其传输清除写入请求;以及
数据存储设备,其包括非易失性存储器装置,包含被配置为多个超级块和多个清除缓冲块的多个管芯以及控制器,控制所述非易失性存储器装置,其中所述控制器包括:
随机存取存储器,包括开放超级块管理器以及开放清除缓冲块管理器,所述开放超级块管理器管理所述多个超级块中所分配的一个开放超级块的索引以及数据待被写入所分配的开放超级块中的位置,所述开放清除缓冲块管理器管理分配至所述多个管芯的多个开放清除缓冲块的索引以及数据待被写入所分配的开放清除缓冲块中的位置;以及
处理器,当从所述主机设备接收到所述清除写入请求时,使用所述开放超级块管理器识别正在执行正常写入操作的第一管芯和邻近所述第一管芯的第二管芯,使用所述开放清除缓冲块管理器选择除所述第一管芯和所述第二管芯之外的管芯中包括的至少一个开放清除缓冲块,并且控制所述非易失性存储器装置对所选择的开放清除缓冲块执行清除写入操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180000732A KR20190083148A (ko) | 2018-01-03 | 2018-01-03 | 데이터 저장 장치 및 그것의 동작 방법 및 그것을 포함하는 데이터 처리 시스템 |
KR10-2018-0000732 | 2018-01-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109992202A true CN109992202A (zh) | 2019-07-09 |
CN109992202B CN109992202B (zh) | 2022-06-17 |
Family
ID=67057641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811132249.2A Active CN109992202B (zh) | 2018-01-03 | 2018-09-27 | 数据存储设备、其操作方法以及包括其的数据处理*** |
Country Status (3)
Country | Link |
---|---|
US (1) | US11150811B2 (zh) |
KR (1) | KR20190083148A (zh) |
CN (1) | CN109992202B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448497A (zh) * | 2020-03-24 | 2021-09-28 | 西部数据技术公司 | 子块的动态分配 |
CN116303118A (zh) * | 2023-05-18 | 2023-06-23 | 合肥康芯威存储技术有限公司 | 一种存储设备及其控制方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102516106B1 (ko) * | 2018-02-14 | 2023-03-31 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
KR20220048869A (ko) * | 2020-10-13 | 2022-04-20 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
KR20220058224A (ko) | 2020-10-30 | 2022-05-09 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이에 포함된 메모리 컨트롤러의 동작 방법 |
KR20220107392A (ko) | 2021-01-25 | 2022-08-02 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법 |
US11640254B2 (en) | 2021-08-25 | 2023-05-02 | Western Digital Technologies, Inc. | Controlled imbalance in super block allocation in ZNS SSD |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1661568A (zh) * | 2004-02-24 | 2005-08-31 | 中国科学院声学研究所 | 一种嵌入式环境下音像录放装置的文件*** |
CN102722339A (zh) * | 2011-03-28 | 2012-10-10 | 西部数据技术公司 | 供电安全的数据管理*** |
US20130067146A1 (en) * | 2011-09-13 | 2013-03-14 | Kabushiki Kaisha Toshiba | Memory device, control method for the memory device, and controller |
US20150117107A1 (en) * | 2013-10-27 | 2015-04-30 | Fusion-Io, Inc. | Read operation for a non-volatile memory |
US20150149692A1 (en) * | 2013-11-22 | 2015-05-28 | Apple Inc. | Efficient reuse of segments in nonoverwrite storage systems |
US20150254020A1 (en) * | 2014-03-04 | 2015-09-10 | Netapp, Inc. | Background checking for lost writes and data corruption |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100951099B1 (ko) | 2008-07-24 | 2010-04-07 | 인하대학교 산학협력단 | 데이터 저장 관리 방법 및 그 방법을 수행하기 위한프로그램이 기록된 기록매체 |
US8239614B2 (en) * | 2009-03-04 | 2012-08-07 | Micron Technology, Inc. | Memory super block allocation |
US8769190B1 (en) * | 2010-09-15 | 2014-07-01 | Western Digital Technologies, Inc. | System and method for reducing contentions in solid-state memory access |
US8819380B2 (en) * | 2012-03-21 | 2014-08-26 | International Business Machines Corporation | Consideration of adjacent track interference and wide area adjacent track erasure during block allocation |
US8862810B2 (en) * | 2012-09-27 | 2014-10-14 | Arkologic Limited | Solid state device write operation management system |
KR102295223B1 (ko) | 2015-01-13 | 2021-09-01 | 삼성전자주식회사 | 속도 모드 관리자를 포함하는 저장 장치 및 사용자 장치 |
US10228862B2 (en) * | 2017-03-15 | 2019-03-12 | Western Digital Technologies, Inc. | Capacity-aware wear leveling in solid-state storage devices |
US20190188156A1 (en) * | 2017-12-19 | 2019-06-20 | Seagate Technology Llc | Stripe aligned cache flush |
-
2018
- 2018-01-03 KR KR1020180000732A patent/KR20190083148A/ko unknown
- 2018-08-01 US US16/052,234 patent/US11150811B2/en active Active
- 2018-09-27 CN CN201811132249.2A patent/CN109992202B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1661568A (zh) * | 2004-02-24 | 2005-08-31 | 中国科学院声学研究所 | 一种嵌入式环境下音像录放装置的文件*** |
CN102722339A (zh) * | 2011-03-28 | 2012-10-10 | 西部数据技术公司 | 供电安全的数据管理*** |
US20130067146A1 (en) * | 2011-09-13 | 2013-03-14 | Kabushiki Kaisha Toshiba | Memory device, control method for the memory device, and controller |
US20150117107A1 (en) * | 2013-10-27 | 2015-04-30 | Fusion-Io, Inc. | Read operation for a non-volatile memory |
US20150149692A1 (en) * | 2013-11-22 | 2015-05-28 | Apple Inc. | Efficient reuse of segments in nonoverwrite storage systems |
US20150254020A1 (en) * | 2014-03-04 | 2015-09-10 | Netapp, Inc. | Background checking for lost writes and data corruption |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448497A (zh) * | 2020-03-24 | 2021-09-28 | 西部数据技术公司 | 子块的动态分配 |
CN116303118A (zh) * | 2023-05-18 | 2023-06-23 | 合肥康芯威存储技术有限公司 | 一种存储设备及其控制方法 |
CN116303118B (zh) * | 2023-05-18 | 2023-09-05 | 合肥康芯威存储技术有限公司 | 一种存储设备及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
US11150811B2 (en) | 2021-10-19 |
KR20190083148A (ko) | 2019-07-11 |
US20190205038A1 (en) | 2019-07-04 |
CN109992202B (zh) | 2022-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109992202A (zh) | 数据存储设备、其操作方法以及包括其的数据处理*** | |
CN108280033A (zh) | 数据存储设备及其操作方法 | |
CN106681931A (zh) | 数据储存设备及其操作方法 | |
CN107643985A (zh) | 存储器***及其操作方法 | |
TW201839613A (zh) | 數據儲存裝置及其操作方法 | |
US20170206170A1 (en) | Reducing a size of a logical to physical data address translation table | |
CN110083545A (zh) | 数据存储装置及其操作方法 | |
CN109992201A (zh) | 数据存储设备及其操作方法 | |
CN109933280A (zh) | 数据存储装置及其操作方法 | |
CN106920575B (zh) | 数据存储装置及其操作方法 | |
CN106649144A (zh) | 数据储存设备及其操作方法 | |
CN110196823A (zh) | 电子装置及其操作方法 | |
CN110413222A (zh) | 数据存储装置及其操作方法 | |
CN110413446A (zh) | 数据存储设备及其操作方法 | |
CN108694980A (zh) | 数据存储装置及其操作方法 | |
CN109407966A (zh) | 数据存储装置及其操作方法 | |
CN108459978A (zh) | 包括非易失性存储器装置的数据存储装置及其操作方法 | |
CN114746834A (zh) | 基于分区状态的分区附加命令调度 | |
CN110286847A (zh) | 数据存储装置及其操作方法 | |
CN110010185A (zh) | 存储器***及其操作方法 | |
CN109240937A (zh) | 数据存储装置及其操作方法 | |
CN109426453A (zh) | 数据存储装置及其操作方法 | |
CN110456981A (zh) | 存储器***、存储器***的操作方法以及电子装置 | |
CN109240949A (zh) | 数据存储装置及其操作方法 | |
US20230126685A1 (en) | Storage device and electronic system |
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 |