CN103456357B - 具有非易失性存储器件的存储设备以及写方法 - Google Patents
具有非易失性存储器件的存储设备以及写方法 Download PDFInfo
- Publication number
- CN103456357B CN103456357B CN201310216818.2A CN201310216818A CN103456357B CN 103456357 B CN103456357 B CN 103456357B CN 201310216818 A CN201310216818 A CN 201310216818A CN 103456357 B CN103456357 B CN 103456357B
- Authority
- CN
- China
- Prior art keywords
- block
- sub
- data
- write
- log blocks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- 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
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
公开了一种在包括非易失性存储器件的存储设备中写数据的方法。该方法包括随写请求一起接收写数据,检测自由块的数量,如果检测出的自由块的数量小于阈值,则仅仅按照子块单位来分配日志块,但是如果检测出的自由块的数量不小于阈值,则按照子块单位和物理块单位之一来分配日志块,其中子块单位小于物理块单位。
Description
相关申请的交叉引用
要求于2012年6月1日提交的韩国专利申请第10-2012-0059353号的优先权,其主题通过引用结合于此。
技术领域
本发明构思涉及半导体存储器件,更具体地,涉及包括非易失性存储器件的存储设备,以及可以在包括非易失性存储器件的存储设备内操作的写方法。
背景技术
半导体存储器件可以根据其操作性质而分为易失性的或非易失性的。易失性存储器件可以以相对高的速率操作,但是当施加的电力消失时存储的数据会丢失。相反,非易失性存储器件能够在施加的电力消失时保持存储的数据。
非易失性存储器件可以包括掩模只读存储器(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)等等。快闪存储器是具有重大的商业重要性的一种EEPROM。例如,快闪存储器被广泛地用来在诸如计算机、蜂窝电话、PDA、数码相机、摄像机、录音机、MP3播放器、手持PC、游戏机、传真机、扫描仪、打印机等等的信息装置中存储语言和图像数据。
近来,许多半导体存储器件已经被设计和制造为包括堆叠或三维存储单元阵列(memory cell array)。三维存储单元阵列提供提高的数据存储密度、或者存储单元阵列的每单位面积所存储的数据。
发明内容
本发明构思的实施例的一个方面在于在包括非易失性存储器件的存储设备中存储写数据(write data)的方法,其中所述非易失性存储器件具有非易失性存储单元的存储单元阵列。该方法包括:将写数据与指示写操作的写请求一起接收,响应于写请求,检测存储单元阵列中可用的自由块的数量,如果检测出的自由块的数量小于阈值,则仅仅按照子块单位分配(allocate)日志块,而如果检测出的自由块的数量不小于阈值,则按照子块单位和物理块单位之一来分配日志块,其中子块单位小于物理块单位,以及根据日志块执行对于写数据的写操作。
本发明构思的实施例的另一个方面在于在包括非易失性存储器件的存储设备中存储写数据的方法,其中所述非易失性存储器件具有非易失性存储单元的存储单元阵列。该方法包括:将写数据与指示写操作的写请求一起接收,响应于写请求,确定存储单元阵列中的多个存储块中的坏块(bad block)的数量,如果坏块的数量大于阈值,则仅仅按照子块单位来分配日志块,而如果坏块的数量不大于阈值,则按照子块单位和物理块单位之一来分配日志块,其中子块单位小于物理块单位,以及根据日志块执行对于写数据的写操作。
附图说明
从以下参考附图的描述,以上及其它目的和特征将变得清楚。
图1是示出根据本发明构思的实施例的可以用来驱动存储系统的软件层结构的框图。
图2是总体示出根据本发明构思的实施例的存储系统的框图。
图3是示出根据本发明构思的实施例的非易失性存储器件的框图。
图4是进一步示出根据本发明构思的实施例的图3的存储单元阵列的透视图。
图5是进一步示出图4的存储块之一的透视图。
图6是进一步示出图5的存储块BLKi的等效电路图。
图7是示出根据本发明构思的实施例的可以用来执行非易失性存储器件的部分擦除操作的某些偏置条件的示图。
图8是概述根据本发明构思的实施例的块管理方法的流程图。
图9是示出根据本发明构思的实施例的日志块分配方法的概念图。
图10是示出根据本发明构思的另一个实施例的日志块分配(log blockallocation)方法的概念图。
图11是示出根据本发明构思的实施例的存储系统的示范性软件层的框图。
图12是概述根据本发明构思的另一个实施例的存储块管理方法的流程图。
图13是进一步概述写模式(write pattern)确定方法的流程图。
图14是示出根据本发明构思的实施例的包括固态驱动器的用户设备的框图。
图15是示出根据本发明构思的实施例的存储卡的框图。
图16是示出根据本发明构思的实施例的包括快闪存储器件的计算系统的框图。
具体实施方式
现在将参考附图更加详细地描述本发明构思的实施例。然而,本发明构思可以以各种不同的形式体现,并且不应该被理解为只限于所示出的实施例。更确切地说,这些实施例是作为示例来提供的,以使本公开将彻底和完整,并且将会向本领域技术人员传达本发明构思的概念。因此,对于本发明构思的一些实施例没有描述已知的过程、元件和技术。除非另外指明,在附图和书面描述中相同的参考标号始终表示相同的元件。
将理解,虽然术语“第一”、“第二”、“第三”等可以在这里用来描述各种元件、组件、区、层、和/或段,但是这些元件、组件、区、层、和/或段不应该被这些术语所限制。这些术语只是用来区分一个元件、组件、区、层、或段与另一个元件、组件、区、层、或段。因此,下面讨论的第一元件、组件、区、层、或段可以被命名为第二元件、组件、区、层、或段,而不脱离本发明构思的教导。
为了方便描述,空间相对术语,如“下面”、“以下”、“更低”、“之下”、“以上”、“上面”等等,可以在这里用来描述如附图中所示的一个元件或特征与另一个(多个)元件或特征的关系。将理解,除了在附图中描绘的方位以外,空间相对术语意图还包含设备在使用或操作中的不同的方位。例如,如果附图中的设备被翻转,则被描述为在其它元件或特征“下面”或“以下”或“之下”的元件将定位在所述其它元件或特征“以上”。因此,示范性术语“以下”和“之下”可以包含以上和以下这两种方位。该设备也可以以其它方式定位(旋转90度或定位在其它方位),并且可以相应地解释这里所使用的空间相对描述符。另外,还将理解,当层被称作位于两个层“之间”时,它可以是这两个层之间的唯一的层,或者也可以存在一个或更多个居间层。
这里所使用的术语仅仅是为了描述特定的实施例的目的,而不是意图限制本发明构思。如这里所使用的,单数形式“一”和“该”意图也包括复数形式,除非上下文清楚地指出并非如此。还应当理解,术语“包括”和/或“包含”,当在说明书中使用时,说明存在所陈述的特征、整体、步骤、操作、元件和/或组件,但是并不排除一个或更多个其它的特征、整体、步骤、操作、元件、组件、和/或它们的组的存在或添加。如这里所使用的,术语“和/或”包括一个或更多个关联列出项的任意和全部组合。并且术语“示范性”意图指代示例或例证。
将理解,当一个元件或层被称为“在(另一个元件或层)之上”、“连接至”另一个元件或层、“耦合至”另一个元件或层、或“与(另一个元件或层)相邻”时,其可以直接在另一个元件或层之上、连接至另一个元件或层、耦合至另一个元件或层、或与另一个元件或层相邻,或者可以存在居间的元件或层。相反,当元件被称为“直接在(另一个元件或层)之上”、“直接连接至”另一个元件或层、“直接耦合至”另一个元件或层、或“直接与(另一个元件或层)相邻”时,则不存在居间的元件或层。
除非另有规定,否则这里使用的所有术语(包括技术和科学术语)具有与本发明构思所属领域的普通技术人员所通常理解的含义相同的含义。还应当理解,诸如那些在常用字典中定义的术语应当被解释为具有与它们在相关领域和/或本说明书的上下文中的含义一致的含义,并且不要在理想化地或过度形式化的意义上来解释,除非在这里明确地如此规定。
以下,将在作为非易失性存储介质的某个(某些)快闪存储器件的上下文中示范性地描述本发明构思的特征和功能。然而,本发明构思不限于此。其它非易失性存储器件可以用作存储介质。例如,所述存储介质可以由PRAM、MRAM、ReRAM、FRAM、NOR快闪存储器等等形成。所述存储介质也可以被应用于包括不同类型的存储器件的存储系统。
无论怎样实现,都可以使用先写后擦(erase-after-write)方法来管理存储设备的“存储区域”(即,能够存储数据的可用存储空间)。使用这样的方法,当存储区域内定义的某些存储块可以用于数据的写入时,它们可以被命名为“自由块”。
如本领域技术人员将理解的,某些非易失性存储器件根据块单位来擦除。因此,术语“自由块”可以用来指定在合并操作之后被擦除的存储块。替换地,术语“自由块”可以用来指示擦除的存储块和其中先前的数据现在被指示为无效的存储块二者。也就是说,术语“自由块”可以用来指示其中可以通过存储设备中正在执行的当前写(或编程)操作立即写入数据的存储块。
图1是示出根据本发明构思的实施例的可以用来驱动存储系统的软件层结构的框图。参考图1,闪存转换层30可以用来将由应用10和/或文件系统20提供的逻辑地址(例如,扇区地址和扇区号)转换为相应的物理地址。
闪存转换层30可以至少部分地配置为能够将逻辑地址映射到非易失性存储(NVM)器件40的相应的物理地址上的地址映射表。可以根据各种定义的映射单位将各种地址映射方案应用于闪存转换层30。一般来说,按传统的理解,地址映射方案包括例如页映射、块映射、和日志映射(log mapping)。
响应于写请求,闪存转换层30可以考虑可用的自由块的数量以及根据检测到与该写请求相关联的“写数据”(即,将被写入NVM40的数据)的写模式(write pattern),指派(assign)日志块。在所提供的写数据本质上是“随机”的情况中,闪存转换层30可以根据子块单位指派日志块。然而,如果写数据本质上是顺序的,则闪存转换层30可以根据物理块单位指派日志块。在这里,假设物理块单位大于子块单位。事实上,在许多实施例中,物理块单位可以包含多个子块单位。
当考虑写数据的大小而确定自由块的数量充足时,闪存转换层30可以进一步考虑检测出的“写模式”(例如,随机的与顺序的)根据子块单位或物理块单位来分配日志块。然而,当考虑到写数据的大小而确定自由块的数量不充足时,可以根据子块单位来分配日志块,而不考虑检测出的写数据的写模式。使用以上描述的方法,执行借以生成一个或更多个自由块的合并操作所需的时间可以明显减少。
应该注意,由闪存转换层30执行的合并操作的数量将会影响组成(constituent)存储系统的总体性能。也就是说,通过减少所执行的合并操作的数量,可以预见存储系统的更好的性能。
合并操作实质上可以通过执行页复制操作和块擦除操作来执行。
根据本发明构思的实施例的闪存转换层30可以根据自由块的数量和数据的写模式自适应地改变将要分配给日志块或数据块的存储单位(memory unit)的大小。因此闪存转换层30可以在仍旧支持大容量存储块单位的同时,防止由于自由块缺乏而引起的存储系统性能降低。根据本发明构思的某些实施例,通过将具有相对较小的大小的存储单位指派给针对低容量数据的日志块或数据块,可以使存储块的耗费最小化。
图2是总体示出根据本发明构思的实施例的存储系统的框图。参考图2,存储系统100可以包括存储器控制器110和非易失性存储器件120。
存储器控制器110可以被配置为响应于由所连接的主机做出的(多个)请求来控制非易失性存储器件120。存储器控制器110可以被配置为与主机和非易失性存储器件120接口。存储器控制器110可以响应于将数据写入非易失性存储器件120的主机的写请求,控制非易失性存储器件120。存储器控制器110可以响应于来自主机的读请求,控制非易失性存储器件120的读操作。
存储器控制器110可以包括闪存转换层(以下称为FTL)。FTL传统上用来向主机文件系统隐瞒非易失性存储器件120的操作期间的擦除操作。FTL可以补偿非易失性存储器件120的缺点,诸如定义的擦除单位与定义的写单位之间可能存在的大小不匹配。在针对非易失性存储器件120的写操作期间,FTL可以用来将由主机文件系统生成的逻辑地址映射到非易失性存储器件120的相应的物理地址上。以这种方式,由存储器控制器110来驱动的FTL可以实现根据日志映射方法的地址映射方案。本发明构思的益处也可以应用于其它地址映射方法。
存储器控制器110可以依照自由块的数量以及写数据的一个或更多个“属性”来分配(或指派)日志块(log block)或数据块。写模式是可以用来控制日志块或数据块的指派的写数据属性的一个示例。因此,在自由块的管理期间,存储器控制器110可以根据物理块单位或子块单位来指派日志块。此后,自由块的指派可以利用指定的“自由块池”,而不管该指派是根据日志块还是根据数据块进行的。换句话说,可以根据日志块或数据块来分配从自由块池选择的存储单位(memory unit)。
在这里,物理块可以具有与可以同时被擦除的存储块的最大数量相应的单位。假设其中字线沿垂直于基板的方向堆叠的三维非易失性存储器件,物理块可以被定义为共享所有堆叠的字线的一组单元串。子块可以对应于通过根据字线单位或选择线单位划分一个物理块而获得的更小的存储单位(memory unit)。例如,子块可以定义为共享物理块内的字线的某些部分的存储单元(memory cell)的单位(unit)。
可以通过根据子块单位指派日志块来最小化响应于提供的写数据的自由块的耗费。在由本发明构思的某些实施例中的存储器控制器110执行的块管理方法中,由于擦除操作是根据子块单位而不是物理块单位执行的,所以相应的擦除时间可以被缩短。结果,存储系统性能可以被改进。
如传统上将理解的,非易失性存储器件120可以在存储器控制器110的控制下执行擦除、读、和写操作。一般来说,非易失性存储器件120将包括已经根据多个存储块在逻辑上指定的存储单元阵列,其中根据该存储单元阵列中的至少行和列来布置多个存储单元中的每一个。所定义的存储块中的每个存储单元可以被配置为存储单级数据或多级(例如,多位)数据。如先前已经提到的,非易失性存储器件120的存储单元可以按二维存储单元阵列或三维存储单元阵列来布置。
假设非易失性存储器件120包括被表示为BLK1到BLKi的多个存储块,其中每个存储块对应于擦除单位。存储块BLK1到BLKi中的每一个可以包括沿与基板交叉的方向堆叠以形成单元串的多个存储单元。可替换地,存储块BLK1到BLKi中的每一个可以被配置为使得多个单元串沿平行于基板的方向堆叠。
随着每个存储块的大小(和数据存储容量)的增大,使用传统控制技术和方法来管理性能变得愈加困难。图2的存储系统100被假设为对于包括相对大容量的存储块的非易失性存储器件120提供高性能。
如以上所提到的,存储系统100的性能可能受到操作上所需的合并操作的数量的相当大的影响。然而,在与本发明构思一致的块管理方法中,与大容量存储块相关联的操作上所需的合并操作的数量可以被显著地减少。结果,根据本发明构思的实施例的块管理方法可以减小可能需要块擦除操作和页复制操作(即,合并操作)的几率。因此,存储系统100的性能可以被改进。
作为示例,NAND快闪存储器可以被假设为非易失性存储器件120的存储介质。然而,本发明构思不限于此。例如,PRAM、MRAM、ReRAM、FRAM、或NOR快闪存储器可以用作存储介质。并且,本发明构思可以应用在其中同时使用了不同类型的存储器件的存储系统。具体地说,本发明构思的技术特征可以应用在存储设备,诸如固态驱动器(以下,称为SSD)。在这种情况下,存储器控制器110可以被配置为通过诸如USB、MMC、PCI-E、SATA、PATA、IDE、E-IDE、SCSI、ESDI、和SAS的各种接口协议之一与主机通信。
图3是示出根据本发明构思的实施例的非易失性存储器件的框图。参考图3,非易失性存储器件120可以包括存储单元阵列121、行解码器122、页缓冲器123、和控制逻辑124。
存储单元阵列121可以经由字线或选择线SSL和GSL连接至行解码器122。存储单元阵列121可以经由位线连接至页缓冲器123。存储单元阵列121可以包括多个NAND单元串,其根据操作或选择单位构成多个存储块BLK1到BLKi。存储块BLK1到BLKi中的每一个可以包括多个子块。
每个NAND单元串可以具有沿垂直或水平方向形成的通道。存储单元阵列121的字线可以沿垂直方向堆叠,并且NAND单元串的通道可以沿垂直方向堆叠。其中存储单元阵列121被形成为具有以上描述的串结构的存储器件可以被称作垂直非易失性存储器件或三维非易失性存储器件。
行解码器122可以响应于地址ADD选择存储单元阵列121的存储块BLK1到BLKi中的一个。行解码器122可以选择所选择的存储块中的字线之一。行解码器122可以为所选择的存储块中的字线提供字线电压。在编程操作中,行解码器122可以分别地将编程电压(program voltage)和校验电压(verification voltage)递送到所选择的字线,而将通过电压(pass voltage)递送到未选择的字线。行解码器122可以向选择线SSL和GSL以及字线提供选择信号和字线电压,以便以子块为单位执行选择操作。行解码器122可以执行对所选择的子块的访问操作,诸如编程、读、和擦除。
页缓冲器123可以根据操作模式作为写驱动器或感测放大器来操作。在编程操作中,页缓冲器123可以为存储单元阵列121的位线提供与将被编程的数据相应的位线电压。在读操作中,页缓冲器123可以经由位线感测存储在所选择的存储单元中存储的数据。页缓冲器123可以锁存(latch)感测到的数据,以便将其输出到外部设备。
控制逻辑124可以响应于从外部设备递送的命令CMD控制页缓冲器123和行解码器122。在擦除操作中,控制逻辑124可以控制行解码器122擦除所选择的存储块(或,物理块)或者以子块为单位执行擦除操作。将参考图7更加充分地描述以子块为单位执行的擦除操作。
本发明构思的非易失性存储器件120可以以物理块为单位或者以在大小上小于物理块单位的子块为单位执行擦除操作。使用本发明构思的非易失性存储器件120,可以显著地改善由于大容量存储块而导致执行的合并操作的效率低下。
图4是进一步示出根据本发明构思的实施例的图3的存储单元阵列121的透视图。参考图4,存储单元阵列121包括被表示为BLK1到BLKi的多个存储块,所述多个存储块中的每一个被形成为具有三维结构(或,垂直结构)。例如,存储块BLK1到BLKi中的每一个可以包括沿着对应于三维的多个方向x、y、和z延伸的结构。存储块BLK1到BLKi中的每一个可以包括沿z方向延伸的多个NAND单元串。
每个NAND单元串可以与位线、串选择线、多条字线、地选择线(ground selectionline)、和公共源极线耦合。也就是说,每个存储块可以与多条位线、多条串选择线、多条地选择线、多条字线、和公共源极线连接。
下面将参考图5更加详细地描述一个存储块BLKi。
在本发明构思的某些实施例中,存储块BLK1到BLKi中的每一个可以对应于物理块。然后子块将对应于通过根据字线单位或选择线单位划分物理块而获得的更小的存储单位。
图5是进一步示出图4的存储块BLKi的透视图。参考图5,存储块BLKi可以包括沿多个方向x、y、和z延伸的结构。
基板111可以被提供来形成存储块BLKi。例如,基板111可以由其中注入了硼的p阱形成。替换地,基板111可以是n阱内提供的袖珍(pocket)p阱。在下面,假设基板111是p阱。然而,基板111不限于p阱。
可以在基板111中提供沿x方向延伸的多个掺杂区311到314。例如,多个掺杂区311到314可以由不同于基板111的p阱的n型导体形成。在下面,假设第一掺杂区311到第四掺杂区314是n型的。然而,第一掺杂区311到第四掺杂区314不限于n型。
在第一掺杂区311与第二掺杂区312之间的基板111上,可以沿z方向顺序地提供沿y方向延伸的多个绝缘材料112。绝缘材料112可以被形成为沿z方向间隔开。例如,该绝缘材料112可以包括诸如硅氧化物的绝缘材料。
在第一掺杂区311与第二掺杂区312之间的基板111上,可以沿y方向顺序地布置多个支柱(pillar)113,以便沿z方向穿透(penetrate)多个绝缘材料112。例如,支柱113可以通过绝缘材料112与基板111接触。这里,支柱113也可以形成在第二掺杂区312与第三掺杂区313之间的基板上或形成在第三掺杂区313和第四掺杂区314之间的基板上。
在示范实施例中,每个支柱113可以由多个材料形成。例如,每个支柱113的表层114可以包括第一类型的硅材料。例如,每个支柱113的表层114可以包括具有与基板111相同类型的硅材料。在下面,假设每个支柱113的表层114包括p型硅。然而,每个支柱113的表层114不限于p型硅。
每个支柱113的内层115可以由绝缘材料形成。例如,每个支柱113的内层115可以包括诸如硅氧化物的绝缘材料。例如,每个支柱113的内层115可以包括气隙。
可以在第一掺杂区311和第二掺杂区312之间沿着绝缘材料112、支柱113、和基板111的暴露的表面提供绝缘膜116。在示范实施例中,在沿z方向提供的最末的绝缘材料112的暴露的表面(朝向第三方向z)上提供的绝缘膜116可以被移除。
在第一掺杂区311和第二掺杂区312之间的区,可以在绝缘膜116的暴露的表面上分别提供第一导电材料211到291。例如,沿y方向延伸的第一导电材料211可以被提供在基板111和与基板111相邻的绝缘材料112之间。具体地说,沿y方向延伸的第一导电材料211可以被提供在基板111和与基板111相邻的绝缘材料112的下表面的绝缘膜116之间。
沿y方向延伸的第一导电材料可以被提供在绝缘材料112中的特定绝缘材料的上表面上的绝缘膜116和布置在所述特定绝缘材料的上部的绝缘材料的下表面上的绝缘膜116之间。在示范实施例中,第一导电材料211到291中的每一个可以包括金属材料。例如,第一导电材料211到291中的每一个可以包括诸如多晶硅的导电材料。
可以在第二掺杂区312和第三掺杂区313之间提供与第一掺杂区311和第二掺杂区312上的结构相同的结构。例如,在第二掺杂区312与第三掺杂区313之间,可以提供沿y方向延伸的多个绝缘材料112、沿y方向顺序地布置从而沿z方向穿透绝缘材料112的多个支柱113、在多个支柱113和多个绝缘材料112的暴露的表面上提供的绝缘膜116、以及沿y方向延伸的多个第一导电材料212到292。
可以在第三掺杂区313和第四掺杂区314之间的区域提供与第一掺杂区311和第二掺杂区312上的结构相同的结构。例如,在第三掺杂区313与第四掺杂区314之间的区域,可以提供沿y方向延伸的多个绝缘材料112、沿y方向顺序地布置从而沿z方向穿透绝缘材料112的多个支柱113、在多个支柱113和多个绝缘材料112的暴露的表面上提供的绝缘膜116、以及沿y方向延伸的多个导电材料213到293。
可以分别在支柱113上提供漏极320。漏极320可以是第二类型的硅材料。漏极320可以是n型的硅材料。在下面,假设漏极320包括n型的硅材料。然而,漏极320不限于包括n型的硅材料。每个漏极320的宽度可以比相应的支柱113的宽度宽。每个漏极320可以以例如垫形的形状被提供在相应的支柱113的上表面上。
沿x方向延伸的导电材料331到333可以分别被提供在漏极320上。导电材料331到333可以沿y方向顺序地布置。导电材料331到333可以分别与相应的漏极320连接。例如,漏极320和沿x方向延伸的导电材料333可以分别经由接触插头(contact plug)连接。导电材料331到333中的每一个可以是金属材料。在示范实施例中,导电材料331到333中的每一个可以是诸如多晶硅的导电材料。
图6是图5中的存储块BLKi的等效电路图。参考图5到图6,NAND串NS11、NS21、和NS31可以被提供在第一位线BL<1>与公共源极线CSL之间。NAND串NS12、NS22、和NS32可以被提供在第二位线BL<2>与公共源极线CSL之间。NAND串NS13、NS23、和NS33可以被提供在第三位线BL<3>与公共源极线CSL之间。第一到第三位线BL<1>到BL<3>可以分别对应于沿x方向延伸的第二导电材料331到333。
每个单元串的串选择晶体管SST可以连接至相应的位线BL。每个单元串的地选择晶体管GST可以连接至公共源极线CSL。在每个单元串中,存储单元MC1到MC6可以被提供在串选择晶体管SST与地选择晶体管GST之间。
在下面,单元串可以按行和按列来定义。共同连接至一条位线的单元可以形成一个列。例如,连接至第一位线BL<1>的单元串NS11到NS31可以对应于第一列。连接至第二位线BL<2>的单元串NS12到NS32可以对应于第二列。连接至第三位线BL<3>的单元串NS13到NS33可以对应于第三列。
连接至一条串选择线SSL的单元串可以形成一行。例如,连接至第一串选择线SSL<1>的单元串NS11到NS13可以形成第一行。连接至第二串选择线SSL<2>的单元串NS21到NS23可以形成第二行。连接至第三串选择线SSL<3>的单元串NS31到NS33可以形成第三行。
每个单元串可以包括地选择晶体管GST。地选择晶体管GST可以被地选择线GSL控制。可替换地,虽然没有在图6中示出,但是与每个行相应的单元串可以被不同的地选择线控制。
位于同一半导体层的存储单元可以共享字线。导电线221到223可以连接在一起以形成第一字线WL<0>。导电线231到233可以连接在一起以形成第二字线WL<1>。导电线241到243可以连接在一起以形成第三字线WL<2>。导电线251到253可以连接在一起以形成第四字线WL<3>。导电线261到263可以连接在一起以形成第五字线WL<4>。导电线271到273可以共同连接以形成第六字线WL<5>。
同一行内的单元串可以共享串选择线SSL。不同行内的单元串可以分别连接至不同的串选择线SSL<1>、SSL<2>、和SSL<3>。公共源极线CSL可以公共连接至单元串。例如,公共源极线CSL可以通过将第一掺杂区311到第四掺杂区314(参考图5)相互连接来形成。
以上描述的物理块BLKi可以被划分为多个子块SB0、SB1、和SB2,每一个在大小上都小于物理块BLKi。子块SB0、SB1、和SB2可以沿字线方向来划分。可替换地,子块SB0、SB1、和SB2可以基于位线或串选择线来划分。物理块BLKi中的子块可以被独立地擦除,而不管用来将物理块划分为子块的参考标准(reference)是什么。
作为示例,子块SB0可以包括存储块BLKi中包括的存储单元中的、与字线WL<0>和WL<1>连接的存储单元。子块SB1可以包括存储块BLKi中包括的存储单元中的、与字线WL<2>和WL<3>连接的存储单元。子块SB2可以包括存储块BLKi中包括的存储单元中的、与字线WL<4>和WL<5>连接的存储单元。包括在子块SB0中的存储单元可以独立于剩余的子块SB1和SB2而被选择和擦除。也就是说,子块SB0、SB1、和SB2中的一个或更多个可以同时被选择和擦除。这个操作会需要用于以子块为单位擦除存储单元的偏置条件。
作为示例,描述了一种划分一个存储块BLKi内定义的子块的方法。然而,用来将一个存储块划分为子块的参考标准不限于此公开。例如,描述了一个物理块BLKi被划分为三个子块的情况。然而,本发明构思不限于此。例如,一个物理块可以被划分为两个子块或者四个或更多个子块。在物理块中,子块可以以串选择线为单位或以位线为单位来定义。
图7是示出根据本发明构思的实施例的、用来在非易失性存储器件内执行部分擦除操作的偏置条件的示图。在图7中,示出了用于假设被划分为三(3)个子块的物理块PB的擦除偏置条件。作为示例,构成一(1)个物理块PB的单元串中的每一个被划分为三(3)个子块SB0、SB1、和SB2。将参考包括在物理块PB中的单元串NSj描述擦除偏置条件。
用来擦除一个子块SB0的擦除偏置条件可以如下:
位线BL、串选择线SSL1、和地选择线GSL可以浮置。对应于子块SB1和SB2的字线WL<2>到WL<5>也可以浮置。另一方面,对应于子块SB0的字线WL<0>和WL<1>可以被供应地电平或0V。如果在这种偏置条件下处于高电压的擦除电压Vers被施加在基板Sub,那么包括在子块SB0中的存储单元可以被F-N隧穿(tunneling)擦除。然而,由于电容耦合,浮置的字线WL<2>到WL<5>的电压可以增大到高电压电平。在这种情况下,足够产生F-N隧穿的电势差不会在字线WL<2>到WL<5>与通道之间产生。使用以上描述的偏置条件,可以选择性地擦除子块SB0。
与子块SB1相关联的擦除操作可以类似于子块SB0的擦除操作,除了地电平或0V被施加在字线WL<2>和WL<3>而字线WL<0>、WL<1>、WL<4>、和WL<5>浮置之外。
子块SB2可以根据下面的擦除偏置条件被擦除。地电平或0V可以被施加到字线WL<4>和WL<5>而字线WL<0>到WL<3>可以浮置。如果在这种偏置条件下处于高电压的擦除电压Vers被施加于基板Sub,则子块SB2可以被选择性地擦除。子块的擦除可以被称作部分块擦除。
物理块PB可以在下面的偏置条件下被擦除。所有的字线WL<0>到WL<5>可以接地,而位线BL以及选择线SSL1和GSL可以浮置。如果在这种偏置条件下处于高电压的擦除电压Vers被施加到基板Sub,则物理块PB可以被擦除。
已经描述了子块SB0到SB2被独立地擦除的情况。然而,可以擦除两个或更多个子块。例如,子块SB0和SB1可以同时被擦除。子块SB1和SB2也可以同时被擦除。子块SB0和SB2也可以同时被擦除。
使用以上描述的擦除偏置条件,本发明构思的非易失性存储器件120可以包括大容量物理块,该大容量物理块中的每一个能够以子单位(例如,子块单位)来擦除。因此,当存储器控制器110分配日志块时,可以以子块为单位或以物理块为单位来分配日志块。在自由块池中存在的子块SB0被分配给日志块的情况中,物理上,对子块SB0的擦除操作可以继续。经擦除的子块SB0可以被分配给与指定的数据块对应的日志块,写请求数据(writerequested data)可以被写入所分配的日志块。
图8是概述根据本发明构思的实施例的块管理方法的流程图。所示出的块管理方法能够根据子块单位来指派日志块,如上所述。
在块管理方法中,存储器控制器110将从存储块的总体中检测自由块的数量(NFB)(S110)。自由块的数量将根据存储系统先前执行的写、删除、和/或清理(housecleaning)(或存储器管理)操作(例如,垃圾收集操作)的数量和类型而变化。存储器控制器110可以用来响应于从主机接收的每个到来的写请求,检测自由块的数量NFB。然后由存储器控制器110驱动的FTL可以用来关于该写请求而确定存储系统100中的当前自由块的数量是否充足。
存储器控制器110可以用来确定自由块的数量是否充足(S120)。例如,FTL可以确定自由块的数量(NFB)是否超过阈值(TH)。如果自由块的数量小于或等于阈值(S120=是),则该方法将分配子块(SB)作为日志块(S150)。然而,如果自由块的数量超过阈值(S120=否),则该方法将检测所提供的写数据的写模式(S130)。
因此,在自由块的数量不充足的情况下(S120=是),存储器控制器110可以用来根据子块单位而指派日志块,而不考虑写数据的写模式(或其它相关属性)。因此,擦除操作可以根据子块单位来执行,尽管事实上存储器控制器110可以通过执行一个或更多个合并操作生成(或获得)额外的自由块。
存储器控制器110可以用来使用若干不同的技术检测写数据的写模式。例如,如果顺序出现的写数据的大小小于特定的大小(例如,16KB),则该写数据可以被确定为本质上是“随机的”。可替换地,诸如LRU(Least Recently Used,最近最少使用)、CFLRU(Clean-First LRU,先清理LRU)、CA(Clock Algorithm,时钟算法)、SC(Second Chance,第二次机会)、和MDH(Multi-Dimensional Hashing,多维哈希)的算法可以用来分析写模式。然而,本发明构思不限于此。
当写模式被确定为随机的时(S140=是),该方法再次分配子块作为日志块(S150)。然而,如果写模式不是随机的(S140=否),则确定其本质上是顺序的,并且该方法分配物理块(PB)作为日志块(S160)。
在分配日志块之后(S150或S160),该方法将执行主体(subject)写(或编程)操作(S170)。以这种方式,存储器控制器110可以根据所分配的物理块或子块对写数据进行编程。一旦写数据的编程结束,与一个写请求相应的编程周期就结束了。
与日志块的指派相关的对子块或物理块的选择可以根据当前自由块池中的自由块数量,以及潜在地根据用于所提供的写数据的写模式来确定。在自由块的数量不充足的情况中,日志块将根据子块单位来分配,而不考虑写模式。因此,可以获得使用(例如,)一个或更多个合并操作生成额外的自由块所需的时间。然而,在自由块的数量NFB充足的情况中,根据检测出的写数据的写模式,可以将子块或物理块分配给日志块。使用以上描述的特征,本发明构思的实施例可以提供包括具有相对大容量存储块结构的非易失性存储器件的存储系统。然而,所述存储系统能够抑制获得充足的自由块所需的合并操作的数量(或频率)。
图9是示出根据本发明构思的实施例的日志块分配方法的框图。参考图9,在写操作中,存储器控制器110(参考图1)可以将非易失性存储器件120(参考图1)的存储块划分为数据块360、日志块370、和用于管理的自由块。自由块的集合可以被称作自由块池380。
数据块360可以包括其中先前写入了数据的数据块。例如,数据块360可以包括与物理块编号(PBN)100、101、103、104、和900相应的存储块。通过存储器控制器110用地址指定的实际存储块可以对应于数据块。
日志块370可以包括用于更新在外部设备选择的数据块的日志块。例如,日志块370可以包括物理块BL200和子块SB0。物理块BL200可以被分配用来更新数据块BL100。子块SB0可以被分配用来更新数据块BL102。
自由块池380可以包括为合并操作或垃圾收集操作擦除的存储块、或者其中存储了无效数据的存储块。自由块池380可以包括物理块BL210、BL211、…、BL218。可以以子块为单位来选择物理块BL210、BL211、…、BL218。所选择的子块可以被分配给日志块。如果在写操作时需要新的日志块,则位于自由块池380的物理块或子块之一可以被分配给日志块。
至少一个日志块或子块可以被分配给一个存储块。假设写请求数据是通过具有较小的大小的随机模式提供的。在这种情况下,存储器控制器110可以将写请求数据的块地址指派给数据块BL102。子块SB0可以被指派为用于写请求数据的日志块。
被选择作为日志块的子块SB0可以以部分块擦除的方式被擦除。如果完成了对与物理块的一部分相应的子块SB0的擦除操作,则子块SB0可以被指派给日志块用以更新数据块BL102。具有随机模式的写数据可以在被选择作为日志块的子块SB0处被编程。此后,写入子块SB0的数据可以与存在于数据块BL102的有效数据一起在适当的时间通过合并操作被复制到新的数据块。
一般来说,子块SB0可以足够接收通过随机模式输入的写数据。如果日志块是以子块为单位来分配的,则由此由于自由块的缺乏而引起的频繁地产生合并操作或垃圾收集操作的几率可以被减小。已经描述了一个子块被指派给日志块的情况。然而,本发明构思不限于此。例如,容易理解两个或更多个子块被指派给与数据块相应的日志块。
图10是示出根据本发明构思的另一个实施例的日志块分配方法的框图。参考图10,示出了写请求数据通过顺序模式来提供的情况下的日志块分配方法。将存储块划分为数据块360、日志块370、和自由块的操作可以以与图9中所描述的方式相同的方式来执行,因此省略其描述。
当写请求数据的写模式是顺序模式时,存储器控制器110可以将一个物理块BL211分配给日志块。假设与数据块BL104相应的数据具有顺序写模式。使用这种假设,存储器控制器110可以响应于写模式而将物理块BL211分配给与数据块BL104对应的日志块。
被选择作为日志块的物理块BL211可以在其被用作日志块之前被擦除。具有顺序模式的数据可以在擦除的物理块BL211处被编程。此后,存在于用作日志块的物理块BL211的有效数据和存在于数据块BL104的有效数据可以被复制到从自由块池380提供的新的物理块。合并操作可以通过页复制操作来完成。然而,存储在日志块BL211的数据可以完全地替换数据块BL104。这个合并方式可以被称作交换合并方式(swap merge manner),在该交换合并方式中只改变映射信息而无需页复制操作。
可以参考图9和图10描述以子块为单位来分配日志块的示例以及以物理块为单位来分配日志块的示例。通过将日志块分配单位设置为在大小上小于大容量物理块的单位以便减缓自由块池的快速消耗,可以显著降低执行用来获得自由块的块管理操作的概率。如果对于通过随机模式输入的数据以子块为单位来分配日志块,则一个子块可以被快速地擦除。也就是说,可以预见写性能的改进。
图11是示出根据本发明构思的实施例的存储系统软件层的框图。参考图11,软件400可以包括文件系统410、闪存转换层(FTL)420、和非易失性存储器件430。FTL420可以从文件系统410接收写命令CMD、数据、和逻辑地址LA。
FTL420可以包括多个模块,诸如映射表421、写模式分析器422、自由块管理器423、和合并管理器424。FTL420可以使用映射表421将逻辑地址LA转换为物理地址PA。
写模式分析器422可以依靠来自文件系统410的写命令CMD、数据、或逻辑地址LA中的至少一个来检测写模式。检测出的写模式可以被提供给合并管理器424。当顺序输入的数据的大小低于参考值(例如,16KB)时,写模式分析器422可以将顺序输入的数据识别为随机模式。写模式分析器422也能够使用诸如LRU(最近最少使用)、CFLRU(先清理LRU)、CA(时钟算法)、SC(第二次机会)、和MDH(多维哈希)的算法来确定写模式。然而,本发明构思不限于此。
自由块管理器423可以管理在非易失性存储器件430中被管理的自由块池中的自由块。自由块管理器423可以监视自由块池中的物理块或子块的数量是否低于参考值。如果自由块池中的物理块或子块的数量不充足,则自由块管理器423可以将这个状态报告给合并管理器424。
合并管理器424可以执行合并操作,使得自由块池中的物理块或子块的数量被适当地维持。合并管理器424可以基于日志块和数据块的状态选择最佳的合并方式。在自由块的数量充足的情况中,合并管理器424可以不执行用来获得自由块的合并操作。如果自由块的数量不充足,合并管理器424可以通过执行合并操作来获得自由块,而不管写数据的模式是什么。
非易失性存储器件430可以包括通过元区域431和数据区域432管理的存储区域。元区域431可以用来存储因为合并操作或垃圾收集操作而改变的映射信息。由FTL420生成的映射和控制信息可以被存储在元区域431。数据区域432可以由多个数据块形成,并且可以用来存储用户数据。
示意性地描述了包括在本发明构思的FTL420中的操作模块。具体地说,FTL420可以根据自由块的数量和数据的写模式确定将被分配的日志块的大小。因此,将在具有大容量物理块的存储系统中执行的合并操作的数量可以被最小化,而存储块的利用率可以被最大化。
图12是总结根据本发明构思的另一个实施例的、在图11的存储系统的上下文中的存储块管理方法的流程图。将参考附图描述能够鉴于坏块的生成而以子块为单位来分配日志块的块管理方法。
在存储块管理方法中,存储器控制器110从主机接收写请求(或,写命令)(S210)。由存储器控制器110驱动的FTL420可以用来响应于写命令而执行根据本发明构思的日志块分配操作。
存储器控制器110可以用来在非易失性存储器件120的存储块中检测坏块的数量(NBB)(S220)。坏块可以包括在制造层面检测到的坏块和由于非易失性存储器件120的持续使用(ongoing use)而逐渐产生的坏块二者。随着坏块数量的增加,可使用的存储块的数量将减少。因此,随着可使用的存储块的数量的减少,获得自由块变得越来越困难。根据本发明构思的实施例,坏块数量的增加会导致存储系统性能的下降。
存储器控制器110可以用来根据坏块的数量确定特定的日志块分配方案。例如,当坏块的数量(NBB)大于或等于参考值(Ref)时(S230=是),该方法可以分配子块作为日志块,而不管写模式(S240)。然而,如果坏块的数量(NBB)小于参考值(Ref),则该方法确定该写数据的写模式(S250)。
因此,当可使用的存储块的数量减少到给定程度时,存储器控制器110将根据子块单位分配日志块而不管写数据的写模式(S240)。在这样的情况下,日志块将仅仅根据子块单位来分配,从而生成越来越难以生成的自由块所需的合并操作的频率被降低。
相反,只要坏块的数量保持在参考值以下,存储器控制器110就可以被用来检测写数据的写模式(S250)。当检测到随机写模式时(S250=是),则该方法将分配子块(SB)作为日志块(S260)。然而,当检测到非随机(或顺序的)写模式时(S250=否),则该方法分配物理块(PB)作为日志块(S270)。
在这里,可以通过评估(evaluate)与写数据相关联的地址来检测写数据的写模式。也就是说,当检测到写数据地址的有序集合时,写模式可以被确定为本质上是顺序的。相反,随机地址将指示随机的写数据。可替换地,当被顺序地编址的写数据的大小小于特定大小(例如,16KB)时,被顺序地编址的写数据仍然被识别为随机的写数据。可以使用诸如LRU(最近最少使用)、CFLRU(先清理LRU)、CA(时钟算法)、SC(第二次机会)、和MDH(多维哈希)的传统理解的算法来确定写模式。然而,本发明构思不限于此。
在日志块的分配(S240、S260、或S270)之后,该方法将执行主体(subject)写(或编程)操作(S280)。以这种方式,存储器控制器110可以根据分配的物理块或子块对写数据进行编程。一旦写数据的编程结束,与一个写请求相应的编程周期就结束了。
为了分配日志块而做出的对子块或物理块的选择可以根据当前在存储系统100中检测到的坏块数量NBB和写请求数据的写模式来确定。如果坏块的数量增加到超过参考值,则日志块可以以子块为单位被指派,而不管写模式。因此,虽然可用的存储块相对减少,但是获取自由块所需的成本可以被最小化。
图13是进一步示出其中写模式被确定(S250)的图12的方法步骤的一个方法。存储器控制器110可以再次被用来检测用于写数据的页地址是否是依次的(in-place-order)(S251)。也就是说,存储器控制器110可以用来检测用于写数据的页地址本质上是否是连续的。如果用于写数据的页地址不被认为是按位置次序的(S252=否),则写数据被确定为具有随机模式,而不管存储块位置。否则(S252=是),则写数据被确定为顺序次序模式(S252=是)。
图14是示出根据本发明构思的实施例的、包括固态驱动器的用户设备的框图。参考图14,用户设备1000可以包括主机1100和固态驱动器(在下文中,称为SSD)1200。SSD1200可以包括SSD控制器1210、缓冲存储器1220、和非易失性存储器件1230。
SSD控制器1210可以在主机1100和SSD1200之间提供物理的相互连接。SSD控制器1210可以提供与主机1100的总线格式相应的、与SSD1200的接口。具体地说,SSD控制器1210可以解码从主机1100提供的命令,并且可以根据解码结果访问非易失性存储器件1230。主机1100的总线格式可以包括USB(通用串行总线)、SCSI(小型计算机系统接口)、PCI高速总线接口、ATA、PATA(并行ATA)、SATA(串行ATA)、SAS(串行附接SCSI)、等等。
缓冲存储器1220可以暂时地存储从主机1100提供的写数据或者从非易失性存储器件1230读出的数据。在存在于非易失性存储器件1230中的数据被高速缓存的情况中,在主机1100的读请求时,缓冲存储器1220可以支持高速缓存功能以便直接向主机1100提供高速缓存的数据。一般来说,主机1100的总线格式(例如,SATA或SAS)的数据传输速率会高于SSD1200的存储通道的数据传输速率。也就是说,在主机1100的接口速率相当快的情况中,可以通过提供具有大存储容量的缓冲存储器1220来最小化由速率差异引起的性能下降。
缓冲存储器1220可以由同步DRAM形成,以便为用作辅助大容量存储设备的SSD1200提供充足的缓存。然而,缓冲存储器1220不限于本公开。
非易失性存储器件1230可以被提供作为SSD1200的存储介质。例如,非易失性存储器件1230可以由具有大存储容量的垂直NAND快闪存储器件形成。非易失性存储器件1230可以由多个存储器件形成。在这种情况下,所述存储器件可以分别以通道为单位连接至SSD控制器1210。作为存储介质,非易失性存储器件1230可以由NAND快闪存储器形成。然而,非易失性存储器件1230不限于NAND快闪存储器件。例如,SSD1200的存储介质可以由PRAM、MRAM、ReRAM、FRAM、NOR快闪存储器等等形成。另外,本发明构思可以应用于同时使用不同类型的存储器件的存储系统。非易失性存储器件1230可以被配置为与图3所描述的基本相同。
在SSD1200中,SSD控制器1210可以根据自由块的数量和输入数据的写模式来自适应地决定数据块或日志块的大小。也就是说,当自由块的数量小于阈值时,SSD控制器1210可以以子块为单位来指派日志块,而不管数据的写模式。另一方面,当自由块的数量多于阈值时,SSD控制器1210可以考虑数据的写模式,以子块为单位或以物理块为单位指派日志块或数据块。SSD控制器1210也可以根据坏块的数量和输入数据的写模式来自适应地决定数据块或日志块的大小。
非易失性存储器件1230可以像图3中的非易失性存储器件那样来操作。也就是说,非易失性存储器件1230可以包括大容量存储块,所述大容量存储块中的每一个可以以子块为单位来选择和擦除。
图15是根据本发明构思的实施例的存储卡的框图。参考图15,存储卡系统2000可以包括主机2100和存储卡2200。主机2100可以包括主机控制器2110和主机连接单元2120。存储卡2200可以包括卡连接单元2210、卡控制器2220、和快闪存储器2230。
主机连接单元2120和卡连接单元2210中的每一个可以由多个引脚形成。这样的引脚可以包括命令引脚、数据引脚、时钟引脚、电源引脚等等。引脚的数量可以根据存储卡2000的类型而变化。在示范实施例中,SD卡可以包括九个引脚。
主机2100可以被配置为将数据写入存储卡2200或读取存储在存储卡2200中的数据。主机控制器2110可以经由主机连接单元2120向存储卡2200发送命令(例如,写命令)、在主机2100的时钟生成器(未示出)内生成的时钟信号CLK、以及数据。
卡控制器2220可以响应于经由卡连接单元2210接收的写命令来操作,并且可以与由卡控制器2220的时钟生成器(未示出)生成的时钟信号同步地将数据存储在快闪存储器2230中。快闪存储器2230可以存储从主机2100递送的数据。例如,如果主机2100是数码相机,则快闪存储器2230可以存储图像数据。
卡控制器2220可以根据自由块的数量和输入数据的写模式来自适应地决定数据块或日志块的大小。也就是说,当自由块的数量小于阈值时,卡控制器2220可以以子块为单位来指派日志块,而不管数据的写模式。另一方面,当自由块的数量多于阈值时,卡控制器2220可以考虑数据的写模式,以子块为单位或以物理块为单位来指派日志块或数据块。卡控制器2220也可以根据坏块的数量和输入数据的写模式来自适应地决定数据块或日志块的大小。
卡连接单元2210可以被配置为使用诸如USB、MMC、PCI-E、SAS、SATA、PATA、SCSI、ESDI、IDE等等的各种接口协议之一与外部设备(例如,主机)通信。
图16是示出根据本发明构思的实施例的包括快闪存储器件的计算系统的框图。计算系统3000可以包括微处理器3200、RAM3300、用户接口3400、诸如基带芯片组的调制解调器3500、以及与系统总线3600电连接的存储系统3100。存储系统3100可以被配置为与图14中的SSD或图15中的存储卡相同。
如果计算系统3000是移动设备,它还可以包括为计算系统3000供电的电池(未示出)。虽然没有在图16中示出,但是计算系统3000还可以包括应用芯片组、相机图像处理器(CIS)、移动DRAM等等。存储系统3100可以是使用非易失性存储器来存储数据的固态驱动器/盘(SSD)。可替换地,存储系统3100可以由熔丝快闪存储器(例如,One-NAND快闪存储器)形成。
存储器控制器3110可以根据自由块的数量和输入数据的写模式来自适应地决定数据块或日志块的大小。也就是说,当自由块的数量小于阈值时,存储器控制器3110可以以子块为单位来指派日志块,而不管数据的写模式。另一方面,当自由块的数量多于阈值时,存储器控制器3110可以考虑数据的写模式,以子块为单位或以物理块为单位来指派日志块或数据块。存储器控制器3110也可以根据坏块的数量和输入数据的写模式来自适应地决定数据块或日志块的大小。
非易失性存储器件和/或存储器控制器可以通过从各种类型的封装中选择的一种封装来封装,所述各种类型的封装诸如PoP(层叠封装)、球栅阵列(BGA)、芯片级封装(CSP)、塑料有引线芯片载体(PLCC)、塑料双列直插式封装(PDI2P)、叠片内裸片封装(Die inWaffle Pack)、晶圆内裸片形式(Die in Wafer Form)、板上芯片(Chip On Board,COB)、陶瓷双列直插封装(Ceramic Dual In-Line Package,CERDIP)、塑料标准四边扁平封装(Metric Quad Flat Pack,MQFP)、薄型四边扁平封装(Thin Quad Flatpack,TQFP)、小外型集成电路(Small Outline Integrated Circuit,SOIC)、缩小外型封装(Shrink SmallOutline Package,SSOP)、薄型小外形封装(Thin Small Outline Package,TSOP)、系统级封装(System In Package,SIP)、多芯片封装(Multi Chip Package,MCP)、晶圆级结构封装(Wafer-level Fabricated Package,WFP)和晶圆级处理堆叠封装(Wafer-LevelProcessed Stack Package,WSP)等等。
虽然已经参考示范性实施例描述了本发明构思,但是本领域技术人员将清楚,可以进行各种改变和修改而不脱离所附权利要求的范围。因此,应该理解,以上实施例不是限制性的,而是说明性的。
Claims (22)
1.一种在包括非易失性存储器件的存储设备中存储写数据的方法,其中所述非易失性存储器件具有非易失性存储单元构成的存储单元阵列,所述方法包括:
将写数据与指示写操作的写请求一起接收;
响应于所述写请求,检测存储单元阵列中可用的自由块的数量;
如果检测出的自由块的数量小于阈值,则仅仅按照子块单位来分配日志块,而如果检测出的自由块的数量不小于阈值,则按照子块单位和物理块单位之一来分配日志块,其中子块单位小于物理块单位;以及
根据日志块执行用于所述写数据的写操作。
2.如权利要求1所述的方法,还包括:
如果检测出的自由块的数量不小于阈值,则确定所述写数据是否具有随机写模式。
3.如权利要求2所述的方法,还包括:
当确定所述写数据具有随机写模式时,按照子块单位来分配日志块,否则按照物理块单位来分配日志块。
4.如权利要求2所述的方法,其中确定所述写数据是否具有随机写模式包括评估与所述写数据相关联的地址的集合。
5.如权利要求4所述的方法,其中评估与所述写数据相关联的地址的集合包括确定所述地址的集合是否是依次的地址。
6.如权利要求4所述的方法,其中评估与所述写数据相关联的地址的集合包括确定所述地址的集合是否是不连续的。
7.如权利要求1所述的方法,其中所述存储单元阵列是三维存储单元阵列。
8.如权利要求1所述的方法,其中所述非易失性存储单元是NAND快闪存储单元,并且
定义所述物理块单位的物理块包括共同连接至至少一条字线的以串形式来布置的NAND快闪存储单元。
9.如权利要求8所述的方法,其中所述物理块在由非易失性存储器件执行的一个擦除操作期间被擦除。
10.如权利要求8所述的方法,其中所述物理块包括多个子块,其中每个子块定义子块单位,以及
每个子块包括共同连接至仅仅一条字线的至少一部分的NAND快闪存储单元。
11.如权利要求10所述的方法,其中所述子块中的每一个在由非易失性存储器件执行的一个擦除操作期间被独立地擦除。
12.一种在包括非易失性存储器件的存储设备中存储写数据的方法,其中所述非易失性存储器件具有非易失性存储单元构成的存储单元阵列,所述方法包括:
将写数据与指示写操作的写请求一起接收;
响应于所述写请求,确定所述存储单元阵列中的多个存储块中的坏块的数量;
如果坏块的数量大于阈值,则仅仅按照子块单位来分配日志块,而如果坏块的数量不大于阈值,则按照子块单位和物理块单位之一来分配日志块,其中子块单位小于物理块单位;以及
根据日志块执行用于所述写数据的写操作。
13.如权利要求12所述的方法,还包括:
如果坏块的数量不大于阈值,则确定所述写数据是否具有随机写模式。
14.如权利要求13所述的方法,还包括:
当确定所述写数据具有随机写模式时,按照子块单位来分配日志块,否则按照物理块单位来分配日志块。
15.如权利要求13所述的方法,其中确定所述写数据是否具有随机写模式包括评估与所述写数据相关联的地址的集合。
16.如权利要求15所述的方法,其中评估与所述写数据相关联的地址的集合包括确定所述地址的集合是否是依次的地址。
17.如权利要求15所述的方法,其中评估与所述写数据相关联的地址的集合包括确定所述地址的集合是否是不连续的。
18.如权利要求12所述的方法,其中所述存储单元阵列是三维存储单元阵列。
19.如权利要求12所述的方法,其中所述非易失性存储单元是NAND快闪存储单元,并且
定义所述物理块单位的物理块包括共同连接至至少一条字线的以串形式来布置的NAND快闪存储单元。
20.如权利要求19所述的方法,其中所述物理块在由非易失性存储器件执行的一个擦除操作期间被擦除。
21.如权利要求19所述的方法,其中所述物理块包括多个子块,其中每个子块定义子块单位,以及
每个子块包括共同连接至仅仅一条字线的至少一部分的NAND快闪存储单元。
22.如权利要求21所述的方法,其中所述子块中的每一个在由非易失性存储器件执行的一个擦除操作期间被独立地擦除。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120059353A KR101997572B1 (ko) | 2012-06-01 | 2012-06-01 | 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 쓰기 방법 |
KR10-2012-0059353 | 2012-06-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103456357A CN103456357A (zh) | 2013-12-18 |
CN103456357B true CN103456357B (zh) | 2018-03-09 |
Family
ID=49671731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310216818.2A Active CN103456357B (zh) | 2012-06-01 | 2013-06-03 | 具有非易失性存储器件的存储设备以及写方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9715444B2 (zh) |
JP (1) | JP6134205B2 (zh) |
KR (1) | KR101997572B1 (zh) |
CN (1) | CN103456357B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102147628B1 (ko) * | 2013-01-21 | 2020-08-26 | 삼성전자 주식회사 | 메모리 시스템 |
US9495288B2 (en) * | 2013-01-22 | 2016-11-15 | Seagate Technology Llc | Variable-size flash translation layer |
KR102285462B1 (ko) * | 2014-03-26 | 2021-08-05 | 삼성전자주식회사 | 불휘발성 메모리 및 메모리 컨트롤러를 포함하는 메모리 시스템의 동작 방법 |
JP6360627B2 (ja) * | 2015-04-28 | 2018-07-18 | 株式会社日立製作所 | 不揮発性メモリの制御方法、制御装置、および半導体記憶装置 |
CN112765006A (zh) * | 2015-07-21 | 2021-05-07 | 北京忆恒创源科技有限公司 | 存储设备日志生成方法及其存储设备 |
CN107766262B (zh) * | 2016-08-18 | 2021-09-14 | 北京忆恒创源科技股份有限公司 | 调节并发写命令数量的方法与装置 |
US10642497B2 (en) | 2016-08-31 | 2020-05-05 | International Business Machines Corporation | System, method and computer program product for instantiating blocks of a solid-state disk to include different flash characteristics |
CN107273303B (zh) * | 2017-05-23 | 2020-06-26 | 建荣半导体(深圳)有限公司 | 一种闪存数据管理系统、方法、闪存芯片及存储装置 |
US10878859B2 (en) | 2017-12-20 | 2020-12-29 | Micron Technology, Inc. | Utilizing write stream attributes in storage write commands |
CN109992536A (zh) * | 2018-01-03 | 2019-07-09 | 华为技术有限公司 | 数据处理方法、固态硬盘以及计算机设备 |
KR20190106008A (ko) * | 2018-03-07 | 2019-09-18 | 에스케이하이닉스 주식회사 | 메모리 시스템, 그것의 동작 방법 및 전자 장치 |
KR102596407B1 (ko) | 2018-03-13 | 2023-11-01 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US11803325B2 (en) | 2018-03-27 | 2023-10-31 | Micron Technology, Inc. | Specifying media type in write commands |
KR20190116641A (ko) * | 2018-04-05 | 2019-10-15 | 성균관대학교산학협력단 | 가상화 시스템을 위한 저장 장치 및 그 동작 방법 |
CN110390985B (zh) * | 2018-04-20 | 2021-08-03 | 群联电子股份有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
KR102530327B1 (ko) | 2018-06-01 | 2023-05-08 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그 동작 방법 |
KR102387960B1 (ko) * | 2018-07-23 | 2022-04-19 | 삼성전자주식회사 | 컨트롤러 및 그것의 동작 방법 |
KR20200016076A (ko) | 2018-08-06 | 2020-02-14 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20200085513A (ko) | 2019-01-07 | 2020-07-15 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 |
KR20200114009A (ko) * | 2019-03-27 | 2020-10-07 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
TWI724427B (zh) | 2019-05-22 | 2021-04-11 | 群聯電子股份有限公司 | 資料寫入方法、記憶體儲存裝置及記憶體控制電路單元 |
CN112015327B (zh) * | 2019-05-30 | 2022-10-21 | 群联电子股份有限公司 | 数据写入方法、存储器存储装置及存储器控制电路单元 |
US11194516B2 (en) | 2019-10-08 | 2021-12-07 | Micron Technology, Inc. | Media type selection |
US11287989B2 (en) | 2020-03-24 | 2022-03-29 | Western Digital Technologies, Inc. | Dynamic allocation of sub blocks |
JP2022051086A (ja) * | 2020-09-18 | 2022-03-31 | キオクシア株式会社 | メモリシステム |
EP4332968A3 (en) * | 2022-08-31 | 2024-05-15 | Samsung Electronics Co., Ltd. | Storage device including nonvolatile memory device and operating method of storage device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1389790A (zh) * | 2001-06-04 | 2003-01-08 | 三星电子株式会社 | 闪速存储器管理方法 |
US6732124B1 (en) * | 1999-03-30 | 2004-05-04 | Fujitsu Limited | Data processing system with mechanism for restoring file systems based on transaction logs |
CN102193872A (zh) * | 2010-03-17 | 2011-09-21 | 株式会社东芝 | 存储系统 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8027194B2 (en) * | 1988-06-13 | 2011-09-27 | Samsung Electronics Co., Ltd. | Memory system and method of accessing a semiconductor memory device |
GB9717718D0 (en) | 1997-08-22 | 1997-10-29 | Philips Electronics Nv | Memory management with compaction of data blocks |
JP4812192B2 (ja) * | 2001-07-27 | 2011-11-09 | パナソニック株式会社 | フラッシュメモリ装置、及び、それに記憶されたデータのマージ方法 |
CN1389730A (zh) | 2002-07-12 | 2003-01-08 | 江南大学 | 一种盐酸克伦特罗酶免疫检测试剂盒及其检测方法 |
WO2004021193A1 (en) | 2002-08-30 | 2004-03-11 | Koninklijke Philips Electronics N.V. | Dynamic memory management |
KR100528967B1 (ko) | 2002-12-18 | 2005-11-15 | 한국전자통신연구원 | 가변 길이의 패킷 저장을 위한 메모리 관리 장치 및 방법 |
JP4220319B2 (ja) | 2003-07-04 | 2009-02-04 | 株式会社東芝 | 不揮発性半導体記憶装置およびそのサブブロック消去方法 |
JP2005078634A (ja) | 2004-08-26 | 2005-03-24 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置及びその書込み方法 |
US20060256623A1 (en) | 2005-05-12 | 2006-11-16 | Micron Technology, Inc. | Partial string erase scheme in a flash memory device |
US7551492B2 (en) | 2006-03-29 | 2009-06-23 | Mosaid Technologies, Inc. | Non-volatile semiconductor memory with page erase |
KR100849221B1 (ko) * | 2006-10-19 | 2008-07-31 | 삼성전자주식회사 | 비휘발성 메모리의 관리 방법 및 비휘발성 메모리 기반의장치 |
KR100771521B1 (ko) * | 2006-10-30 | 2007-10-30 | 삼성전자주식회사 | 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법 |
KR100843135B1 (ko) * | 2006-11-20 | 2008-07-02 | 삼성전자주식회사 | 비휘발성 메모리 관리 방법 및 장치 |
KR20080045833A (ko) | 2006-11-21 | 2008-05-26 | 삼성전자주식회사 | 플래쉬 메모리 관리 방법 및 이를 이용하는 플래쉬 메모리시스템 |
JP2008171103A (ja) | 2007-01-10 | 2008-07-24 | Seiko Epson Corp | 半導体記憶装置管理システム、半導体記憶装置、半導体記憶装置管理システムの制御方法およびプログラム |
JP2008293615A (ja) | 2007-05-28 | 2008-12-04 | Sharp Corp | 不揮発性記憶装置並びにその管理方法、書き込み方法及び読み出し方法 |
KR101477047B1 (ko) * | 2008-02-29 | 2014-12-30 | 삼성전자주식회사 | 메모리 시스템 및 그것의 블록 병합 방법 |
JP4737223B2 (ja) | 2008-04-21 | 2011-07-27 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
US8327066B2 (en) * | 2008-09-30 | 2012-12-04 | Samsung Electronics Co., Ltd. | Method of managing a solid state drive, associated systems and implementations |
KR101020781B1 (ko) | 2009-03-04 | 2011-03-09 | 한국과학기술원 | 플래시 메모리를 기반으로 한 데이터베이스 시스템에 대한 로그 관리 방법 |
KR20110018157A (ko) * | 2009-08-17 | 2011-02-23 | 삼성전자주식회사 | 플래시 메모리 장치의 액세스 방법 |
KR101692520B1 (ko) | 2010-02-17 | 2017-01-04 | 삼성전자주식회사 | 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템 |
KR101662827B1 (ko) * | 2010-07-02 | 2016-10-06 | 삼성전자주식회사 | 쓰기 패턴에 따라 데이터 블록의 쓰기 모드를 선택하는 메모리 시스템 및 그것의 데이터 쓰기 방법 |
KR20120029239A (ko) * | 2010-09-16 | 2012-03-26 | 삼성전자주식회사 | Pram을 이용하는 데이터 기록 시스템 및 그 방법 |
KR101734200B1 (ko) * | 2010-12-03 | 2017-05-11 | 삼성전자주식회사 | 적응적 머지를 수행하는 메모리 시스템 및 그것의 데이터 쓰기 방법 |
-
2012
- 2012-06-01 KR KR1020120059353A patent/KR101997572B1/ko active IP Right Grant
-
2013
- 2013-03-06 US US13/786,787 patent/US9715444B2/en active Active
- 2013-06-03 CN CN201310216818.2A patent/CN103456357B/zh active Active
- 2013-06-03 JP JP2013116938A patent/JP6134205B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6732124B1 (en) * | 1999-03-30 | 2004-05-04 | Fujitsu Limited | Data processing system with mechanism for restoring file systems based on transaction logs |
CN1389790A (zh) * | 2001-06-04 | 2003-01-08 | 三星电子株式会社 | 闪速存储器管理方法 |
CN102193872A (zh) * | 2010-03-17 | 2011-09-21 | 株式会社东芝 | 存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103456357A (zh) | 2013-12-18 |
US20130326119A1 (en) | 2013-12-05 |
KR20130135618A (ko) | 2013-12-11 |
US9715444B2 (en) | 2017-07-25 |
KR101997572B1 (ko) | 2019-07-09 |
JP6134205B2 (ja) | 2017-05-24 |
JP2013250982A (ja) | 2013-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103456357B (zh) | 具有非易失性存储器件的存储设备以及写方法 | |
CN103455384B (zh) | 包括非易失性存储器件的存储设备及修复方法 | |
US10467133B2 (en) | Storage device including nonvolatile memory device and garbage collection method thereof | |
US9190155B2 (en) | Memory system | |
CN103971739B (zh) | 包括非易失性存储设备的存储系统及其编程方法 | |
US9256530B2 (en) | Nonvolatile memory device and sub-block managing method thereof | |
CN106169304B (zh) | 擦除和刷新非易失性存储器件的方法 | |
CN103366809B (zh) | 非易失性存储装置、存储系统及其编程方法 | |
CN107393583A (zh) | 存储器件 | |
CN106098089A (zh) | 存储系统及其操作方法 | |
US10528466B2 (en) | Storage devices including logical to physical address mapping and methods of operating | |
CN103578551B (zh) | 非易失性存储器件和编程方法 | |
US20160179430A1 (en) | Storage device dynamically allocating program area and program method thereof | |
CN106648452A (zh) | 存储器系统及其操作方法 | |
CN109074318B (zh) | 用于执行转换层表的自适应主机存储器缓冲区高速缓存的系统和方法 | |
CN106708744A (zh) | 存储系统和存储系统的操作方法 | |
CN106257399A (zh) | 存储系统及其操作方法 | |
KR20120124285A (ko) | 배드 블록 관리를 위한 방법 및 메모리 시스템 | |
CN106354423A (zh) | 存储系统和存储系统的操作方法 | |
CN106126437A (zh) | 存储系统 | |
US20130138869A1 (en) | Nonvolatile memory and memory device including the same | |
CN106611613A (zh) | 存储系统及其操作方法 | |
CN106354663A (zh) | 存储系统和存储系统的操作方法 | |
KR20220066601A (ko) | 스토리지 장치, 상기 스토리지 장치를 포함하는 전자 시스템 및 상기 스토리지 장치의 동작 방법 | |
US20240168669A1 (en) | Non-volatile memory device and storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |