CN103294604A - 闪存器件和使用闪存器件的电子设备 - Google Patents
闪存器件和使用闪存器件的电子设备 Download PDFInfo
- Publication number
- CN103294604A CN103294604A CN2013100555104A CN201310055510A CN103294604A CN 103294604 A CN103294604 A CN 103294604A CN 2013100555104 A CN2013100555104 A CN 2013100555104A CN 201310055510 A CN201310055510 A CN 201310055510A CN 103294604 A CN103294604 A CN 103294604A
- Authority
- CN
- China
- Prior art keywords
- data
- page
- flash array
- memory device
- size
- 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.)
- Pending
Links
Images
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/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
-
- 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
- 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
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提出了一种闪存器件和采用所述闪存器件的电子设备,用于有效地处理比数据块的页面尺寸大的数据,并且用于处理比数据块的页面尺寸小的数据。优选地,闪存器件中包括多个闪存阵列,并且根据至少两种或更多种页面大小将多个闪存阵列划分为分区,从而有利地改善了随机写入的性能。
Description
技术领域
本发明通常涉及一种闪存器件。更具体地,本发明涉及一种能够有效地支持例如电子设备中小页面大小阵列的闪存器件。
背景技术
随着智能电话和其他类型的移动设备在全世界范围逐渐广泛普及,对于移动存储系统的需求持续增长。为了满足这种增长的需求,近来基于闪存的存储系统受到关注。
更具体地,Not AND(NAND)闪存器件,一种非易失性存储器正在广泛地用作诸如移动电话等便携电子设备的存储介质,因为便宜且可以实现高集成度和大容量。例如,NAND闪存芯片小型化例如高达大约2×纳米(nm)以增加生产率。然而,随着NAND闪存的构造产生更小型化的闪存器件,NAND闪存的特性由于以下几种原因而劣化,包括:单元之间较窄的间隙、干扰的发生以及比特误差概率的增加。
此外,随着NAND闪存构造工艺产生了更小型化的闪存器件,对NAND闪存单元晶体管编程所要求的时间(tPROG)增加。如果与在前工艺相比所述时间(tPROG)增加,则NAND闪存器件本身的速度下降。为了补偿上述效应,增加了同时处于特定级别的NAND闪存器件的页面大小。NAND闪存器件最早的页面大小是大约2千字节(KB)、4KB,但是近来NAND闪存器件的页面大小已经增加到16KB。
然而,因为增加了同时输入/输出的页面大小的当前级别,当处理小于当前级别的大小级别的数据时降低了处理每个字节的速度。在移动电话的情况下,不但处理诸如快照或视频记录等大小较大的数据,而且也处理诸如短消息业务(SMS)、电话簿、日程管理等的大小较小的数据。
因此,需要一种用于有效处理大数据和小数据两者的NAND闪存器件。
发明内容
本发明的一个方面是提出一种NAND闪存器件,用于有效地处理大于数据块的页面大小的数据,并且用于处理小于所述数据块的页面大小的数据。
本发明的另一个示范方面提出了一种NAND闪存器件,用于改进部分数据写入速度。
通过提供根据本发明的闪存器件实现了以上示范方面。
根据本发明的另一个示范方面,优选地,闪存器件包括多个闪存阵列,并且根据至少两种或更多种页面大小将所述多个闪存阵列划分为分区。
根据本发明的再一个示范方面,优选地,闪存器件包括缓冲器、控制器和多个闪存阵列。例如,所述缓冲器缓冲数据。所述控制器控制将所述缓冲器的数据写入到相应闪存阵列的块的页面中,或者从所述缓冲器读取在相应闪存阵列的块的页面中在先存储的数据。优选地,所述多个闪存阵列存储缓冲的数据,或者根据所述控制器的存储命令,将在先存储的数据提供给所述缓冲器。根据至少两种或更多种页面大小将所述多个闪存阵列划分为分区。
根据本发明的又一个示范方面,优选地,电子设备包括:闪存器件,用于存储数据;以及一个或多个处理器(或者微处理器),用于处理指令。所述闪存器件在所述一个或多个处理器(或微处理器)的控制下执行数据写入/读取/擦除。所述闪存器件中包括多个闪存阵列。根据至少两种或更多种页面大小将所述多个闪存阵列划分为分区。
根据本发明的另外一个示范方面,优选地,用于在闪存器件中存储数据的方法包括:根据数据模式,选择与至少两种或更多种页面大小相对应的多个闪存阵列组中的任一个;以及将数据存储在与所选页面大小相对应的闪存阵列中。
根据本发明的再一个示范方面,优选地,用于在闪存器件中存储数据的方法包括:确定输入/输出(I/O)模式大小;当I/O模式大小包括大容量连续写入模式时,选择第一闪存阵列,并且将第一数据存储在第一闪存阵列中;以及当所述I/O模式大小包括随机部分数据模式时,选择第二闪存阵列,并且将所述第一数据存储在所述第二闪存阵列中。
附图说明
根据结合附图的以下详细描述,本发明的以上和其他示范目的、特征和优势将变得更加清楚明白,其中:
图1是说明了根据本发明示范实施例的闪存器件的图;
图2是说明了根据本发明示范实施例的(NAND)闪存阵列的细节的图;
图3是说明了根据本发明的闪存器件的示范分级结构的图;
图4是说明了根据本发明示范方面的简单点对点映射算法的图;
图5是说明了根据本发明示范方面的块映射技术的示范操作的图;
图6是说明了根据本发明示范方面的页面映射技术的示范操作的图;
图7是说明了根据本发明的闪存转换层(FTL)层的部分数据处理算法的示例的图;
图8A和图8B是说明了根据本发明示范方面的处理两种页面大小的NAND闪存器件的图;
图9A和图9B是说明了根据本发明示范方面的NAND闪存器件中的数据处理算法的图;以及
图10是说明了根据本发明示范实施例的NAND闪存器件的示范操作的流程图。
具体实施方式
下面将参考附图描述本发明的优选示范实施例。在以下描述中,当众所周知的功能或结构的包括将混淆知晓与众所周知的功能或结构有关不必要细节的本领域普通技术人员对于本发明的理解时,将不再详细描述所述众所周知的功能或结构。此外,考虑本发明中的功能而限定的下述术语可以依赖于用户或操作者的期望或实践而不同。因此,应该基于贯穿该说明书的公开来限定所述术语。
下面,本发明描述了一种用于有效地支持小页面大小的阵列的闪存器件。
图1说明了根据本发明示范实施例的闪存器件。
现在参考图1,优选地,闪存器件100包括控制器102、输入/输出(I/O)接口104、多个Not AND(NAND)闪存阵列106和数据寄存器108。NAND闪存阵列106的每一个均包括多个块110,并且块110的每一个均包括多个页面120。页面120的每一个均具有固定大小的数据区、以及空闲数据区(spare data region)。每一个页面120包括多个扇区(尽管未示出)。通过地址映射算法,包括诸如处理器或微处理器之类硬件的控制器102控制临时存储数据的数据寄存器108和多个NAND闪存阵列106之间的数据读/写操作等。
在多个NAND闪存阵列106中,NAND闪存阵列的一部分包括具有第一页面大小的预定页面集合,并且其余NAND闪存阵列包括具有第二页面大小的预定页面集合。第一页面大小小于第二页面大小以便处理小数据。闪存器件100可以在至少两种或更多种页面大小级别上执行数据写入。在以下描述中,例如描述了具有两种页面大小的闪速器件,但是本领域普通技术人员应该理解和认识的是可以提供多于两种页面大小。通过块大小来确定预定个数的特定大小的页面,并且页面大小可以是可改变或固定的。
图2说明了根据本发明的NAND闪存阵列106的细节。
现在参考图2,NAND闪存阵列106的结构由多个块200组成,并且块200的每一个由多个页面202组成。例如,一个块可以由4或128个页面组成。此外例如,页面大小可以包括8千字节(KB)、16KB或以上。然而,所主张的本发明不局限于这些值。
闪存器件100在页面级别执行读取和写入操作,并且在块级别执行擦除操作。
优选地,操作系统具有通过每一层对功能进行分类的分级结构。类似地,闪存器件也具有如下面图3中的分层结构。
图3说明了根据本发明的闪存器件的分级结构的示例。
现在参考图3,与现有的磁盘驱动不同,优选地闪存器件包括闪存转换层(FTL)304和存储技术设备(MTD)306作为主要层。MTD驱动器主要提供三种低级别操作,包括读取、写入和擦除。基于这些低级别操作,FTL层304限定了如何处理闪速存储器上的每一个操作。换句话说,FTL驱动器的关键作用是提供接口,使得文件系统302在块级别访问闪存器件。此外,FTL层304使用最小的缓冲器来改进性能。
另外,图3示出了闪存器件的数据流图。应用层300使用文件系统应用程序接口(API)产生I/O请求,例如文件处理功能(即读取/写入)
文件系统302通常通过由固定大小的块构成的线性阵列来管理存储系统。因此,由文件系统302将文件访问命令改变为多个块级别的I/O请求,并且每一个块级别I/O请求包括特定的逻辑块地址(LBA)和数据块长度信息。通过FTL304将这种块级别的I/O请求改变为由闪存提供的特定命令。所改变的命令最终改变为控制信号,并且实际上用于访问物理闪存器件。
更加详细地描述FTL层304。对于要操作的闪存器件,例如,FTL304提供逻辑至物理地址映射、损耗平均(wear-leveling)、碎片收集、掉电恢复功能。
在逻辑至物理地址映射中,文件系统302使用LBA将每一个数据空间作为逻辑线性空间进行管理。将这种LBA实际上映射到物理数据空间地址。
通过地址映射处理来执行这种处理,并且应用高效率的地址映射算法。在评估地址映射算法时,主要考虑两个因素。第一个因素是映射表的大小。因为映射表存储在持久性空间中,所以需要以低开销访问映射表。因此,优选的是具有较小尺寸的映射表。第二个因素是查询效率。换句话说,当系统大小增加时,良好设计的映射算法在性能上不会劣化。
图4说明了根据本发明的简单点对点映射算法。
现在参考图4,当存在对于特定地址空间的请求时,点对点映射算法可以参照映射表直接访问物理存储空间。在图4中,闪存由三个块400、402和404组成,并且每一个块由4个页面组成。因此,最大的LBA个数等于12,并且每一个LBA与特定物理存储空间相连。例如,LBA 5映射到物理地址(2,1)。然而在这种点对点映射算法中,存在这样的问题:当数据空间增加时,映射表的大小也增加。
为了解决这种地址映射算法问题,提出了针对三种映射算法的技术,即页面映射、块映射和混合映射。
在页面映射中,将特定的物理页面映射到一个块内的任意页面。换句话说,当特定物理页面要改变时,将新数据写入到另一个物理页面,并且使先前的页面无效。这种技术称作非原位(Out-of-Place)技术。
在块映射中,每一个逻辑块映射到物理块。更具体地,逻辑块和物理块使用特定块内相同的页面偏移。因此,将特定页面写入到特定块内的相同偏移位置,并且这种技术称作在原位(In-place)技术。
最后,混合映射是利用页面映射和块映射的技术。首先,在寻找物理块时混合映射使用块映射,并且在寻找物理块内的可用页面时使用页面映射。
例如,具有16KB页面大小的NAND闪存器件可以使用页面映射算法。
图5说明了根据本发明的块映射技术的示范操作,示出了在页面更新之前、期间和之后的NAND。
现在参考图5,下面描述在块映射方法中更新页面的过程。首先分配新的块。然后,将除了要更新的页面之外的剩余页面从原始块复制到新的块。然后,将要更新的页面记录到新的块中。最后,修改块映射表,以用新的块替换原始块。如果这样的话,页面更新过程终止。
例如,假设对于特定的非限制性示例,每个块的页面个数是4,并且对页面中的页面2进行更新。在使用块映射的情况下,块映射表存在于存储区中。可以使用块映射表通过逻辑块编号来找到物理块编号。如图5所示,最初将逻辑块0映射到物理块0,并且临时块使用物理块100(500)。此时,执行对页面2更新的过程。换句话说,将第一物理块(即物理块0)的页面0、1和3(除了要更新的页面2之外)从物理块0复制到临时块(即,物理块100)(510)。随后,在临时快(即物理块100)的页面2中记录要更新的信息。由此,可以理解的是将逻辑块0映射到临时(即物理)块100中。此外,将现有的物理块0用临时块(即物理块100)代替(520)。
图6说明了根据本发明的页面映射技术的示范操作。
现在参考图6,下面描述在页面映射方法中更新页面的过程。首先,将要更新的逻辑页面信息记录在任意的空物理页面中。然后,与相应逻辑页面有关的页面映射信息才改变以指示其中记录了逻辑页面信息的物理页面。
例如,最初将逻辑页面0映射到物理页面0,并且将逻辑页面1映射到物理页面1,并且类似地将逻辑页面“N”映射到物理页面“N”。换句话说,点对点地将逻辑页面和物理页面映射在一起(600)。随后,当更新页面2时,将要更新的逻辑页面信息记录在任意的空物理页面中,并且将逻辑页面2映射到其中记录了逻辑页面信息的物理页面(610)。
页面映射方案使用页面级别的大映射表,因此,由更新产生的处理开销比图5所示的映射方案小得多。另一方面,块映射方案消耗较少的存储器,因为块映射方案只使用块级别的映射表,但是存在的缺点在于,在发生页面级别更新的情况下导致较大开销。
在基本上以页面级别管理映射的FTL中,可能发生对小于页面大小的部分数据进行写入的请求。
对于要求保护的本发明的另一非限制性示例,当前提出的NAND闪存器件可以利用8KB、16KB或更高的页面大小。此外,已经将NAND闪存器件广泛地应用于包括移动电话在内的电子设备,并且频繁地发生诸如系统日志、电子邮件、电话簿、日程管理等大小相对小的数据的输入/输出事件。在例如广泛使用的安卓操作系统(OS)等的移动平台中,存在许多4KB随机数据输入/输出(I/O)。
图7说明了根据本发明另一个示范方面的FTL层的部分数据处理算法。
现在参考图7,在请求写入小于页面大小的部分数据时,基本上在页面级别管理映射的FTL层从现有数据块读取剩余部分,并且填塞所读取的部分。
甚至可以在扇区级别(小于页面)上管理FTL层的映射,但是存在这样的问题:因为与块/页面映射相比映射表的大小按照等比级数增加、并且NAND闪存本身在页面级别执行I/O,所以实现时的资源和开销较大。
例如,下面描述一种模式,其中将4KB的部分数据记录到8KB页面大小的NAND闪存器件中。
如果从应用层接收对于扇区8至15的写入命令,NAND闪存器件将新数据记录到缓冲器700的扇区8至15中,然后从现有数据块710的相应页面的扇区0至7中读取(730)数据,并且将读取的数据填塞到缓冲器700的扇区0至7,从而填充缓冲器700的所有页面大小。接下来,NAND闪存器件将缓冲器700的所有数据写入到临时块720中。在以上示例中,为了4KB数据写入,NAND阵列实际上执行8KB数据读取和8KB数据写入。
如上所述,当发生小于页面大小的数据写入时,从现有的数据块读取页面大小的剩余部分,并且填塞到缓冲器。甚至可以在扇区级别管理FTL层的映射,但是存在这样的问题:因为与块/页面映射相比映射表的大小按照等比级数增加、并且闪存器件在页面级别执行I/O,所以实现时的资源和开销较大。
图8A和图8B结合以下的讨论解决了由于存储器的映射部分减小的大小而导致增加的资源和开销实现方式的问题。本发明提出了一种NAND闪存器件,所述NAND闪存器件具有如下封装:以小页面大小级别读取/写入数据的多个NAND闪存阵列、以及以大页面大小级别读取/写入数据的多个NAND闪存阵列,使得可以使用适合于更新大小的阵列。
图8A和图8B说明了根据本发明示范实施例的处理两种页面大小的NAND闪存器件结构。
现在参考图8A,多个块形成一个面,并且多个面形成一个管芯或芯片。此外,多个管芯聚集在一起并且构成NAND闪存器件。
在图8A所示的示例中,一个管芯包括三个面(例如面0、面1和面2)。这里,面0(800)和面1(810)每一个均是页面大小(例如8KB或16KB)大于阈值的NAND闪存阵列,并且面2(820)是页面大小(例如4KB)小于阈值的NAND闪存阵列。
如图8A所示,在一个管芯中,面0和面1每一个均包括大页面大小的NAND闪存阵列(即,多个块的阵列),并且面2包括小页面大小的NAND闪存阵列。
然而如下面的图8B所示,可以根据需要按照管芯或芯片对大页面大小的NAND闪存阵列和小页面大小的NAND闪存阵列进行封装。在图8B中,一个管芯包括三个面(即,面0、面1和面2)。这里,在管芯0中,面0、面1和面2每一个均包括大页面大小(例如8KB或16KB)的NAND闪存阵列,而在管芯1中,面0、面1、面2和面3每一个均包括小页面大小(例如4KB)的NAND闪存阵列。
如图8A和图8B所示,根据至少一种或多种页面大小将存储区划分为多个分区,并且通过每一个分区按照相应的页面大小处理数据写入/读取。
例如,当存在来自应用层的超过阈值量的大小较小的随机数据I/O时(如由阈值个数确定的较小的大小,例如4K数据块),NAND闪存指派较小页面大小的分区作为数据块,从而改进随机写入的性能。
另一方面,考虑到初始设计时目标主机设备的模式,NAND闪存的页面大小不会灵活地改变。
图9A和图9B说明了在根据本发明示范实施例的NAND闪存器件中的数据处理算法。这里为了说明性的目的,考虑由较大页面大小(8KB或16KB)的NAND闪存阵列和由较小页面大小(4KB)的NAND闪存阵列构成的“与非”闪存器件。
现在参考图9A,当NAND闪存器件使用较小页面大小的分区执行部分数据写入时,如果缓冲器900中的数据以4KB对齐,则不需要扇区填塞,并且只有缓冲器900的4KB数据写入(906)到临时块904中,因此NAND闪存器件实际上只执行4KB数据写入。换句话说,必须将缓冲器900的4KB数据写入到临时块904中,而无需扇区填塞。
现在参考图9B,当输入小于相应页面大小分区的新数据或者新数据没有以4KB对齐时,从现有块912读取数据,并且只将所述数据扇区填塞(916)到缓冲器910的空部分,然后将包括新数据和填塞数据在内的缓冲器910的4KB数据写入(918)到临时块914中。
尽管执行了4KB数据读取和4KB数据写入,但是扇区的个数小于8KB或16KB页面大小,因此数据I/O时间小于具有较大页面大小(例如8KB或16KB页面大小)的NAND闪存阵列的数据I/O时间。
图10说明了根据本发明示范实施例的NAND闪存器件的示范操作。
现在参考图10,在步骤1000,NAND闪存器件分析在应用层产生的数据模式。典型地,控制器配置为执行这种数据模式分析。
接下来在步骤1002,闪存器件基于模式分析结果来选择页面大小。例如典型地,闪存器件的控制器配置成为诸如快照或捕获的运动图像之类的大小较大的数据选择较大页面大小的存储器分区,并且针对诸如短消息业务(SMS)、电话簿和日程管理等之类的大小较小的数据选择较小页面大小的存储器分区。较大页面大小的非限制示例是8KB、16KB,而较小页面大小是4KB。随后在步骤1004中,闪存器件确定数据大小是否小于页面大小。如果数据大小小于页面大小,闪存器件前进到步骤1006,从现有块读取数据并且将所读取的数据填塞到缓冲器的空部分中。在步骤1008,闪存器件将缓冲器中页面大小的数据写入临时块中(参考图9B)。
如果所述数据大小大于或等于页面大小,闪存器件跳转到步骤1008,将缓冲器中页面大小的数据直接写入到临时块中,而不进行数据填塞(参考图9A)。
接下来,闪存器件终止本发明的过程。
根据本发明的上述方法可以在硬件、固件或者作为在记录介质(例如,CD ROM、闪存、EPROM、EEPROM、RAM、软盘、小型驱动器、硬盘或磁光盘)中存储的软件或计算机代码、或者原始存储在远程记录介质或非暂时计息可读介质上或者本地记录介质上、经过网络下载、并且加载到硬件(例如,通用计算机或者专用处理器、或者可编程或专用硬件,例如ASIC或FPGA)的计算机代码来实现。如相关技术中可以理解的,处理器、微处理器控制器或可编程硬件包括存储器部件(例如RAM、ROM、闪存等),所述存储部件可以存储或接收软件或计算机代码,当通过所述计算机访问和执行所述软件或计算机代码时,处理器或硬件实现了这里所述的处理方法。此外应该理解的是,当通用计算机访问用于实现这里所示处理的代码时,所述代码的执行将通用计算机转变为用于执行这里所示处理的专用计算机。此外,技术人员理解和认识的是“处理器”或“微处理器”组成了所主张发明中的硬件。最后,所主张的发明可以包括使用包括多于一个服务器的位置信息服务器,例如代理服务器。
例如,通过电子设备内的一个或多个电子设备执行在非暂时机器可读介质上存储的机器可读代码。一个或多个程序包括指令,所述指令使得电子设备能够执行根据在本发明的权利要求和/或说明书中公开的示范实施例的方法。
例如,可以将所述机器可读代码存储在随机存取存储器(RAM)、包括闪速存储器在内的非易失性存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、磁盘存储设备、压缩盘ROM(CD-ROM)、数字通用盘(DVD)或者光学存储设备的形式、以及磁盒。或者,可以将它们按照它们的一些或全部组合配置的存储器中。同样,每一个配置存储器可以包括多个。
如上所述,在本发明中存在这样的优势:通过将每一个NAND闪存阵列逻辑划分为每一个分区、并且根据系统或应用的I/O模式大小来确定分区,也就是说当存在许多大容量连续写入模式时分配较大页面大小的分区、以及当存在许多随机部分数据模式时分配较小页面大小的分区,能够改进随机写入性能。
尽管已经参考本发明的一些优选实施例示出和描述了本发明,本领域普通技术人员应该理解的是在不脱离由所附权利要求限定的本发明精神和范围的情况下,可以在其中进行形式和细节上的各种变化。
Claims (15)
1.一种闪存器件,包括:
存储数据的多个闪存阵列;
缓冲器,与所述多个闪存阵列中的一个或多个相连,用于对写入到所述多个闪存阵列中的所述一个或多个的数据或者从所述多个闪存阵列中的所述一个或多个读取的数据进行缓冲;
控制器,配置为控制将所述缓冲器的数据写入到相应闪存阵列的块的页面中,或者控制从所述缓冲器读取在所述相应闪存阵列的块的页面中在先存储的数据;以及
其中所述多个闪存阵列根据所述控制器的控制,存储与所述闪存阵列耦接的所述缓冲器的数据或者向所述缓冲器提供在先存储的数据,
其中根据数据模式的至少两种或更多种页面大小将所述多个闪存阵列划分为分区。
2.根据权利要求1所述的器件,其中当所述数据模式包括大于第一阈值个数的大容量连续写入数据模式时,分配所述至少两种或更多种页面大小中相对较大页面大小的分区,以及
当存在大于第二阈值个数的随机部分数据模式时,分配所述至少两种或更多种页面大小中相对较小页面大小的分区。
3.根据权利要求1所述的器件,其中所述闪存阵列包括配置用于存储数据的多个块,并且
所述多个块中的每一个块包括多个页面。
4.一种电子设备,包括:
存储数据的闪存器件;以及
一个或多个处理器,用于执行在处理器中加载的机器可读代码,
其中所述闪存器件在所述一个或多个处理器的控制下执行数据写入/读取/擦除操作中的至少一个,
所述闪存器件中包括多个闪存阵列,并且
根据数据模式的至少两种或更多种页面大小将所述多个闪存阵列划分为分区。
5.根据权利要求4所述的设备,其中所述闪存器件包括:
缓冲数据的缓冲器;
控制器,所述控制器控制将所述缓冲器的数据写入到相应闪存阵列的块的页面中,或者从所述缓冲器读取在所述相应闪存阵列的块的页面中在先存储的数据;以及
所述多个闪存阵列根据所述控制器的存储命令,存储所述缓冲器的数据或者向所述缓冲器提供在先存储的数据。
6.根据权利要求5所述的设备,其中当连续写入数据模式具有大于第一预定大小的容量时,分配所述至少两种或更多种页面大小中的较大页面大小的分区,以及
当随机部分数据模式具有大于第二预定大小范围的容量时,分配所述至少两种或更多种页面大小中的较小页面大小的分区。
7.根据权利要求5所述的设备,其中所述闪存阵列包括多个块,
并且所述块包括多个页面。
8.一种用于在闪存器件中存储数据的方法,所述方法包括:
根据数据的数据模式,由控制器选择与至少两种或更多种页面大小相对应的多个闪存阵列组中的任一个;以及
将所述数据存储在与所选页面大小相对应的闪存阵列中。
9.根据权利要求8所述的方法,其中将所述数据存储在与所选页面大小相对应的闪存阵列中包括:当所述数据模式大于或等于所选页面大小时,将所述数据写入到所选页面大小的相应闪存阵列的块的页面区域中。
10.根据权利要求8所述的方法,其中将所述数据存储在与所选页面大小相对应的闪存阵列中包括:
当所述数据模式小于所选页面大小时,从相应闪存阵列的块的页面读取数据,并且将所读取的数据填塞到缓冲器中;以及
将所述缓冲器的填塞数据和待存储的数据写入到所选页面大小的相应闪存阵列的块的页面区域中。
11.根据权利要求8所述的方法,其中所述闪存阵列包括多个块,
并且所述块包括多个页面。
12.一种用于在闪存器件中存储数据的方法,所述方法包括:
由控制器确定输入/输出I/O模式大小;
当确定连续写入的数据模式的所述I/O模式大小大于预定阈值容量时,选择第一闪存阵列,并且将第一数据存储在所述第一闪存阵列中;以及
当确定所述I/O模式大小是与随机部分数据模式相对应的大小时,选择第二闪存阵列,并且将所述第一数据存储在所述第二闪存阵列中。
13.根据权利要求12所述的方法,其中将所述第一数据存储在所述第一闪存阵列中包括:当所述第一数据大于或等于所述第一闪存阵列的页面大小时,将所述第一数据写入到所述第一闪存阵列的临时块的页面区域中。
14.根据权利要求12所述的方法,其中将所述第一数据存储在所述第二闪存阵列中包括:
当所述第一数据小于所述第二闪存阵列的页面大小时,从所述第二闪存阵列的现有块的页面读取第二数据,并且将所读取的第二数据填塞到缓冲器;以及
将所述缓冲器的填塞的第二数据和所述第一数据写入到所述第二闪存阵列的临时块的页面区域中,
其中所述第一数据的大小和所述第二数据的大小之和与所述第二闪存阵列的页面大小相对应。
15.根据权利要求12所述的方法,其中所述闪存阵列包括多个块,并且
所述块包括多个页面。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120018431A KR20130096881A (ko) | 2012-02-23 | 2012-02-23 | 플래시 메모리 장치 |
KR10-2012-0018431 | 2012-02-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103294604A true CN103294604A (zh) | 2013-09-11 |
Family
ID=47747275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013100555104A Pending CN103294604A (zh) | 2012-02-23 | 2013-02-19 | 闪存器件和使用闪存器件的电子设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20130227198A1 (zh) |
EP (1) | EP2665065A3 (zh) |
KR (1) | KR20130096881A (zh) |
CN (1) | CN103294604A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104951248A (zh) * | 2014-03-24 | 2015-09-30 | 三星电子株式会社 | 操作数据存储装置的方法和操作数据处理系统的方法 |
CN105575425A (zh) * | 2014-10-09 | 2016-05-11 | 宏碁股份有限公司 | 存储器晶片、其资料读取方法以及资料储存系统 |
CN108958657A (zh) * | 2018-06-27 | 2018-12-07 | 深圳市德名利电子有限公司 | 一种数据存储方法、存储设备及存储系统 |
CN111241028A (zh) * | 2018-11-28 | 2020-06-05 | 北京知存科技有限公司 | 一种数模混合存算一体芯片以及运算装置 |
CN112732182A (zh) * | 2020-12-29 | 2021-04-30 | 北京浪潮数据技术有限公司 | 一种nand的数据写入方法及相关装置 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5983019B2 (ja) * | 2012-05-17 | 2016-08-31 | ソニー株式会社 | 制御装置、記憶装置、記憶制御方法 |
US9417815B1 (en) * | 2013-06-21 | 2016-08-16 | Amazon Technologies, Inc. | Capturing snapshots of storage volumes |
US9423961B2 (en) | 2014-09-08 | 2016-08-23 | Apple Inc. | Method to enhance programming performance in multilevel NVM devices |
CN106155947B (zh) * | 2015-04-03 | 2019-02-22 | 南京理工大学 | 一种数据存储模块的实现方法 |
JP2017004146A (ja) * | 2015-06-08 | 2017-01-05 | 富士通株式会社 | ストレージ制御装置 |
US20170017571A1 (en) * | 2015-07-17 | 2017-01-19 | Samsung Electronics Co., Ltd. | Method and apparatus fori n-line deduplication in storage devices |
KR20170015708A (ko) * | 2015-07-30 | 2017-02-09 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 프로그램 방법 |
US9940028B2 (en) | 2015-11-13 | 2018-04-10 | Samsung Electronics Co., Ltd | Multimode storage device |
US9996473B2 (en) | 2015-11-13 | 2018-06-12 | Samsung Electronics., Ltd | Selective underlying exposure storage mapping |
US9990304B2 (en) * | 2015-11-13 | 2018-06-05 | Samsung Electronics Co., Ltd | Multimode storage management system |
US9946642B2 (en) | 2015-11-13 | 2018-04-17 | Samsung Electronics Co., Ltd | Distributed multimode storage management |
US9811284B2 (en) | 2015-12-20 | 2017-11-07 | Apple Inc. | One-pass programming in a multi-level nonvolatile memory device with improved write amplification |
US11100996B2 (en) * | 2017-08-30 | 2021-08-24 | Micron Technology, Inc. | Log data storage for flash memory |
US10872035B1 (en) | 2019-05-29 | 2020-12-22 | Apple Inc. | Systems and methods for managing an artificially limited logical space of non-volatile memory |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6041016A (en) * | 1998-12-04 | 2000-03-21 | Intel Corporation | Optimizing page size in mixed memory array using address multiplexing |
US20080071973A1 (en) * | 2000-01-06 | 2008-03-20 | Chow David Q | Electronic data flash card with various flash memory cells |
US20020044486A1 (en) * | 2000-10-16 | 2002-04-18 | Cheng-Sheng Chan | IC card with different page sizes to increase endurance |
US6760805B2 (en) * | 2001-09-05 | 2004-07-06 | M-Systems Flash Disk Pioneers Ltd. | Flash management system for large page size |
US7873779B2 (en) * | 2007-05-14 | 2011-01-18 | Qualcomm Incorporated | Memory page size auto detection |
US8068365B2 (en) * | 2008-02-04 | 2011-11-29 | Mosaid Technologies Incorporated | Non-volatile memory device having configurable page size |
US8244960B2 (en) * | 2009-01-05 | 2012-08-14 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partition management methods |
US20110060865A1 (en) * | 2009-09-08 | 2011-03-10 | Lsi Corporation | Systems and Methods for Flash Memory Utilization |
-
2012
- 2012-02-23 KR KR1020120018431A patent/KR20130096881A/ko not_active Application Discontinuation
- 2012-12-06 US US13/706,565 patent/US20130227198A1/en not_active Abandoned
- 2012-12-19 EP EP12198253.2A patent/EP2665065A3/en not_active Withdrawn
-
2013
- 2013-02-19 CN CN2013100555104A patent/CN103294604A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104951248A (zh) * | 2014-03-24 | 2015-09-30 | 三星电子株式会社 | 操作数据存储装置的方法和操作数据处理系统的方法 |
CN104951248B (zh) * | 2014-03-24 | 2019-06-11 | 三星电子株式会社 | 操作数据存储装置的方法和操作数据处理系统的方法 |
CN105575425A (zh) * | 2014-10-09 | 2016-05-11 | 宏碁股份有限公司 | 存储器晶片、其资料读取方法以及资料储存系统 |
CN108958657A (zh) * | 2018-06-27 | 2018-12-07 | 深圳市德名利电子有限公司 | 一种数据存储方法、存储设备及存储系统 |
CN108958657B (zh) * | 2018-06-27 | 2022-03-04 | 深圳市德明利技术股份有限公司 | 一种数据存储方法、存储设备及存储系统 |
CN111241028A (zh) * | 2018-11-28 | 2020-06-05 | 北京知存科技有限公司 | 一种数模混合存算一体芯片以及运算装置 |
CN112732182A (zh) * | 2020-12-29 | 2021-04-30 | 北京浪潮数据技术有限公司 | 一种nand的数据写入方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
EP2665065A2 (en) | 2013-11-20 |
EP2665065A3 (en) | 2014-01-22 |
KR20130096881A (ko) | 2013-09-02 |
US20130227198A1 (en) | 2013-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103294604A (zh) | 闪存器件和使用闪存器件的电子设备 | |
US8117374B2 (en) | Flash memory control devices that support multiple memory mapping schemes and methods of operating same | |
KR100526190B1 (ko) | 플래시 메모리의 재사상 방법 | |
KR101257691B1 (ko) | 메모리 컨트롤러 및 이의 데이터 관리방법 | |
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
US8392662B2 (en) | Methods of data management in non-volatile memory devices and related non-volatile memory systems | |
KR100885181B1 (ko) | 그룹 맵핑 동작을 수행하는 메모리 시스템 및 그것의어드레스 맵핑 방법 | |
KR100823171B1 (ko) | 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법 | |
KR101465789B1 (ko) | 페이지 복사 횟수를 줄일 수 있는 메모리 카드 시스템의쓰기 및 병합 방법 | |
US8650379B2 (en) | Data processing method for nonvolatile memory system | |
US20140129758A1 (en) | Wear leveling in flash memory devices with trim commands | |
CN102810068A (zh) | 存储装置、存储系统和使存储装置虚拟化的方法 | |
CN101241471A (zh) | 快闪存储器系统及其垃圾收集方法 | |
KR20100011698A (ko) | 데이터 머지를 수행하는 반도체 스토리지 시스템 및 그제어 방법 | |
WO2009096180A1 (ja) | メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム | |
CN103270500A (zh) | 事务日志恢复 | |
US20100161890A1 (en) | Cache management method and cache device using sector set | |
CN112684976A (zh) | 用于执行迁移操作的存储器系统及其操作方法 | |
JP4829202B2 (ja) | 記憶装置及びメモリ制御方法 | |
KR101070511B1 (ko) | Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법 | |
CN101739350B (zh) | 存储器储存装置及其控制方法 | |
CN117555478A (zh) | 一种基于闪存的模拟eeprom读写方法 | |
KR101191650B1 (ko) | 낸드 플래시 메모리에서 데이터의 주소를 사상시키는 장치 및 방법 | |
CN112527692A (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
KR101609304B1 (ko) | 멀티칩 플래시 저장장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130911 |