CN101794256B - 非易失性存储器子系统及其存储器控制器 - Google Patents

非易失性存储器子系统及其存储器控制器 Download PDF

Info

Publication number
CN101794256B
CN101794256B CN201010110265.9A CN201010110265A CN101794256B CN 101794256 B CN101794256 B CN 101794256B CN 201010110265 A CN201010110265 A CN 201010110265A CN 101794256 B CN101794256 B CN 101794256B
Authority
CN
China
Prior art keywords
block
data
youngest
counter
memory controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201010110265.9A
Other languages
English (en)
Other versions
CN101794256A (zh
Inventor
林丰隆
P·库玛
邢东生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Green Leante Systems Ltd.
Greenline Co.,Ltd.
Original Assignee
Silicon Storage Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Silicon Storage Technology Inc filed Critical Silicon Storage Technology Inc
Publication of CN101794256A publication Critical patent/CN101794256A/zh
Application granted granted Critical
Publication of CN101794256B publication Critical patent/CN101794256B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

在本发明中,一种非易失性存储器子系统包括非易失性存储器设备和存储器控制器。该存储器控制器控制所述非易失性存储器设备的操作,所述存储器控制器包括用于执行计算机程序指令以便将所述非易失性存储器设备分成多个分区的处理器,每一个分区具有用于损耗均衡和数据保持的可调节参数。该存储器子系统还包括用于提供时序信号给所述存储器控制器的时钟。

Description

非易失性存储器子系统及其存储器控制器
技术领域
本发明涉及非易失性存储器子系统,并且更具体地,涉及非易失性存储器控制器。本发明还涉及控制非易失性存储器设备的操作的方法。
背景技术
具有非易失性存储单元阵列的非易失性存储器设备在本领域是公知的。非易失性存储器可以是NOR类型或是NAND类型。在特定类型的非易失性存储器中,该存储器的特征在于具有多个块,每一个块具有多个位,在块中的所有位可以在同一时间全部被擦除。因为在同一块中的所有位或单元被一起擦除,所以这些称为闪速存储器。在该块被擦除之后,在该块中的单元能够以特定尺寸(例如字节)编程,如在NOR存储器的情况中那样,或者一次编程一页,如在NAND存储器的情况中那样。
闪速非易失性存储器设备的一个问题是数据的保持。由于包围浮栅的绝缘体将随时间泄露,所以出现数据保持的问题。进一步,浮栅的擦除/编程加剧了这个问题,由此当浮栅遭受更多的擦除/编程周期时这使得保持时间恶化。因此,期望每个块被擦除的“损耗”或周期数平均。因此期望均衡闪速存储器设备中的块的损耗。
参考图1,示出了现有技术的实现损耗均衡的一种方法的示意图。与每一个块相关联的是物理地址,其被映射到用户逻辑地址。存储器设备具有用于保存数据的第一多个块(标以用户逻辑块0-977,相关联的物理块地址被标为200、500、501、502、508、801等等直到100)。该存储器设备还包括第二多个块,其包括备用块、坏块和附加块(overheadblock)。备用块可以是被擦除的块和没有保存数据或者保存了尚未被擦除的数据或者保存可以被控制器14使用的状态/信息数据的其它块。在用于均衡非易失性存储单元的块上的损耗的现有技术的第一实施例中,当具有物理地址501(下文中所有块都将被它们的物理地址指向)的、诸如用户块2的特定块被更新时,在块501中的新数据或一些旧数据被移动到被擦除的块。选择一个来自被擦除的池的块,例如块800,并且来自块501的新数据或一些旧数据被写入到该块中。在图1所示的例子中,这是用于保存新数据的物理块800。物理块800然后与在第一多个块中的逻辑块2相关联。之后,块501被擦除,并且然后被“移动”以便与第二多个被擦除的块(下文中:“被擦除的池”)相关联。通过简单地更新将用户逻辑地址块与物理地址块相关联的表来发生物理块501从该第一多个块(被保存数据块)到被擦除的池的“移动”。示意地,示出了物理地址块501被“移动”到被擦除的池。当物理块501返回到被擦除的池时,它以FIFO(先进先出)方式返回。因此,物理块501是返回到被擦除的池的最后的块。之后,当附加的被擦除的块返回到被擦除的池时,物理块池被“推”到该堆栈的顶部。
参考图2,示出了现有技术的均衡闪速存储器设备中的块的损耗的另一种方法的示意图。具体地,与多个被擦除的块中的每一个物理块相关联的是计数器,该计数器计数该块已经被擦除的次数。因此,当物理块501被擦除时,其相关联的擦除计数器递增。在第二多个块中,被擦除的池中的块以依赖于与每一物理块相关联的擦除计数器中的计数的方式被布置。具有在擦除计数器中最小计数或最低计数的物理块准备好第一个返回到第一多个块以用于保存数据。特别地,如图2所示,例如,物理块800被示为“最年轻”块,意味着该物理块800具有和在被擦除的池中的被擦除的块相关联的最低计数。来自第一多个块的物理块501被擦除,与其关联的擦除计数器递增,然后将该物理块501置于该第二多个块中(并且如果被擦除的块能够保持数据,其返回到被擦除的池)。取决于与被擦除的池中的每一个块相关联的擦除计数器中的计数,被擦除的块被置于该被擦除的池中。如图2中所示,通过举例,物理块501中的擦除计数器在递增之后可以具有将物理块501置于物理块302和物理块303之间的计数。然后物理块501被置于该位置。
上述的方法被称为动态损耗均衡法,其中只有在块中的数据被更新时,即在任何情况下块必须被擦除时,才考虑损耗均衡。然而,如果没有数据更新到块,则不操作该动态损耗均衡方法。该动态损耗均衡方法的问题是:对于没有数据被更新的块,例如保存了操作系统数据或者保存没有更新或者很少更新的其它类型数据的那些块,损耗均衡技术没有用来导致这些块与数据更频繁变化的所有其它块一起损耗均衡。因此,例如如果物理块200和500保存了操作系统数据,并且完全没有更新或者很少更新,与可能已经具有较大损耗的块例如物理块501(以及在第一多个块中的所有其它块)相比,这些物理块可能几乎没有损耗。在物理块501与物理块200和500之间的这个大的差异例如可能导致在NAND存储器20的所有物理块的整体使用下降。
与闪速非易失性存储器设备相关联的另一个问题是耐久性。该耐久性是指在对块的写/读错误对于该闪速存储器设备的错误校正电路来说变得太大以至于不能检测和纠正之前该块可以遭受的读/写周期的数量。
通常,耐久性是保持力的反函数。典型地,随着块遭受更多的写周期,与该块相关联的保持时间就更少。而且,随着集成度增加,即非易失性存储器设备的几何尺寸缩小,保持力和耐久性的问题将变得更差。最后,保持力和耐久性对于所保存数据的类型也具有特异性。因此,对于具有编程代码性质的数据来说,保持力是非常重要的。相反,对于具有经常改变数据的性质的数据,例如实时数据,则耐久性变得很重要。
发明内容
在本发明中,非易失性存储器子系统包括非易失性存储器设备和存储器控制器。该存储器控制器控制该非易失性存储器设备的操作,该存储器控制器具有用于执行计算机程序指令以便将该非易失性存储器设备划分为多个分区的处理器,每一个分区具有用于损耗均衡和数据保持的可调参数。该存储器子系统还包括用于提供时序信号给存储器控制器的时钟。
本发明还涉及用于控制非易失性存储器设备的存储器控制器。该存储器控制器包括处理器和用于保存由该处理器执行的计算机程序指令的存储器。程序指令被配置成将该非易失性存储器设备划分成多个分区,每一个分区具有用于损耗均衡和数据保持的可调参数。
附图说明
图1是执行非易失性存储器子系统的损耗均衡操作的现有技术方法的第一实施例的示意图。
图2是执行非易失性存储器子系统的损耗均衡操作的现有技术方法的第二实施例的示意图。
图3是本发明的存储器子系统的示意性框图。
图4是连接到NAND非易失性存储器设备的本发明的存储器控制器的详细的示意性框图。
图5是能够在本发明的存储器子系统中使用的NAND类型存储器设备的框图。
图6是执行非易失性存储器设备的损耗均衡操作的方法的示意图。
具体实施方式
参考图3,示出了本发明的存储器子系统10。
该存储器子系统10可连接到主机设备8。该子系统10包括存储器控制器14,NAND闪速存储器12,和实时时钟16。如图4中所示,存储器控制器14包括处理器20和非易失性存储器22,该非易失性存储器22具有用于保存由处理器20执行的程序指令代码的NOR存储器的性质。处理器20执行保存在存储器22中的代码从而以下文描述的方式操作子系统10。控制器14通过地址总线28和数据总线30连接到NAND存储器设备12。总线28和30可以是并行或者串行的。另外,它们也可以是多路复用的。因此,控制器14控制NAND闪速存储器设备12的读取和编程(或写)和擦除。公知的,NAND闪速存储器设备12具有多个块,每一个块具有在同一时间被一起擦除的多个存储单元。
控制器14还通过多个总线连接到主机8,这些总线是:地址总线32、数据总线34和控制总线36。这些总线32、34和36也可以是并行或串行的。另外,它们也可以是多路复用的。该子系统10还包括实时时钟(RTC)16。该RTC16能够提供时钟信号给控制器14。在控制器14和RTC16之间的通信是经由串行数据地址(SDA)总线的。当然,具有控制器14和RTC16之间的任一其它类型总线的任一其它形式的通信都在本发明的范围内。控制器14能够经由SDA从RTC16中读取实时时钟信号。另外,该控制器14能够经由从控制器14到RTC16的SDA信号设置报警时间。进一步,RTC16具有经时计时器/计数器。由此,控制器14能够通过SDA设置经时计时器/计数器。当计时器超时,RTC16将在INT#引脚上产生提供给控制器14的中断信号。另外,RTC16能够产生用于主机8的中断信号。因为RTC16可以是电池供电的,所以这特别有用。当所有主机8掉电或关机以节省功率消耗(除了功率管理控制软件之外)时,在由RTC16产生中断信号时,该中断信号将引起主机8使用其功率管理控制软件来提供功率给子系统10以开始操作。正如将要看到的,这样的操作可以包括保持扫描/刷新操作。
在本发明中,控制器14通过处理器20执行保存在存储器22中的程序代码以使得NAND存储器12被划分为多个分区,每一个分区具有不同于其它分区的用于损耗均衡和数据保持的可调参数。特别地,对于损耗均衡的操作,通过使用不同参数,控制器14能够控制如在图1和2中所述的前述现有技术的方法。例如,物理块501可以在更新其内容后立刻返回到被擦除块的池,或者其可以在返回到被擦除块的池之前被重新使用多次。由此,利用现有技术的动态损耗均衡方法,当块中的数据更新时,不同分区可以具有与其相关联的不同参数。可选择地,以下的损耗均衡方法对于NAND存储器12的不同分区也可以使用不同参数。
损耗均衡
参考图6,示出了本发明的方法的示意图。与图1和2中示出的实施例的所述方法类似,该NAND存储器设备12的特征在于具有多个块,每一个块包括多个位或存储单元,它们被一起擦除。因此,在擦除操作中整个块的存储单元被一起擦除。
进一步,与每一个块相关联的是物理地址,其通过被称为映射表的表被映射到用户逻辑地址,这在本领域是公知的。存储器设备12具有用于保存数据的第一多个块(被标以用户逻辑块,例如8、200、700、3、3908和0,每一个块具有与其相关联的标以200、500、501、502、508、801等的物理块地址)。存储器设备12还包括第二多个块,第二多个块包括备用块、坏块和附加块。该备用块可以是被擦除的块并且形成被擦除的池和没有保存数据或者保存了尚未被擦除的数据或者保存可以被控制器14使用的状态/信息数据的其它块。进一步,在被擦除的池中的每一个物理块具有计数该块已经被擦除的次数的计数器。由此,随着物理块200被擦除,其相关联的擦除计数器递增。在被擦除的池中的块是用于交换的候选者。在块被置于被擦除的池之前发生擦除操作或者在所述块被使用并移出被擦除的池之前立刻发生擦除操作。在后者的情况中,被擦除的池中的块可以不全是被擦除的块。
当具有物理地址200(下文中所有块都指它们的物理地址)的特定块,例如用户块8,被更新时,来自该块的一些数据连同新数据可能需要被写入到来自被擦除的池的块。之后,块200必须被擦除并且然后“移动”以便与被擦除的池相关联(如果该被擦除的块仍然能够保持数据的话。否则,该被擦除的块“移动”到被认为是“坏块”的块)。
通过简单地更新映射表来发生物理块200从第一多个块(保存数据块)到第二多个块(被擦除的池或坏块)的“移动”。示意性地,示出了物理地址块200“移动”到被擦除的池。
然而,在本发明中,即使没有更新来自第一多个块的任一块中的任何数据,也可以使用损耗均衡方法。该方法被称为静态损耗均衡。具体的,在第一多个块中,首先确定最少频率使用(LFU)块,即这些块具有保存在擦除计数器中的最低擦除计数。在优选的实施例中,该LFU日志可以包含有限数量的块,例如16个块。因此,如图6所示,该LFU包括物理块200、500和501,块200具有在擦除计数器中的最低计数。
之后,在LFU中具有擦除计数器中的最低计数的块(例如物理块200)被擦除(即使没有数据被更新到物理块200)。被擦除的物理块200然后“移动”到第二多个块,即被擦除的池或坏块。可选择的,该块在被擦除之前可以被移到第二多个块。
在被擦除的池中的多个被擦除的块也可以以从“最年轻”(即具有在擦除计数器中的最低计数的块)到“最老”(即具有在擦除计数器中的最高计数的块)排列的次序布置。从第一多个块中被擦除的并且其擦除计数器递增的块将其在擦除计数器的计数与被擦除的池中的所有其它块的擦除计数器进行比较并且进行相应地布置。该布置不需要以物理顺序进行。该布置例如可以通过链接表或列表(tablelist)或任意其它方式来实现。
具有最高擦除计数的块,或者来自被擦除的池的“最老”块(例如物理块20)然后被用于保存从来自第一多个块中的LFU的“最年轻”块(物理块200)中获得的数据。物理块20然后返回到第一多个块。
基于前面的描述,可以知道利用本发明的静态损耗均衡方法,在第一多个块中没有更新或者很少更新的块将要被“回收”到被擦除的池中并且被重新使用,由此来均衡NAND存储器12中的所有块中的损耗。应该注意到,在本发明的方法中,当在LFU中的“最年轻”块返回到被擦除的池时,来自被擦除的池的“最老”块被使用以替换来自LFU的“最年轻”块。这似乎是矛盾的,其中来自LFU的“最年轻”块然后可以驻留在被擦除的池中而不会在随后被重新使用。然而,这仅仅是关于本发明的静态损耗均衡方法。可以预料,当附加数据被保存到NAND存储器12中并且请求新的被擦除的块时,来自被擦除的池的“最年轻”的被擦除的块然后被用于保存该新的或者附加数据。进一步,来自被擦除的池的“最年轻”块也可以在现有技术的动态损耗均衡方法中使用。因此,来自被擦除的池的块将最终被使用。而且,因为在到块的数据没在被替换时运行本发明的静态损耗均衡方法,所以存在附加的考虑,例如操作频率(以不引起过度损耗)以及资源分配。例如操作频率的这些参数对于存储器设备12的不同分区可以是不同的。这些问题在下文中被讨论。
起先,该问题是何时扫描第一多个块中的块以创建LFU、哪一个在本发明的随后的静态损耗均衡方法中被使用。存在这样操作的多种方式。下列所述是多种可行的技术,这些技术是示例性的,绝不表示穷举的意思。进一步,这些方法的一些可以被一起共同地使用。再者,所有这些参数对于存储器设备12的不同分区可以是不同的。
首先,当NAND存储器12开始上电时,控制器14可以扫描第一多个块。
第二,当主机8发出扫描NAND存储器12中的第一多个块的特定命令时,该控制器14可以扫描第一多个块。作为这个方法的结果,当主机8发出读或写NAND存储器12中的特定块的读或写命令时控制器14可以扫描第一多个块。此后,控制器14能够继续读取该第一多个块中的所有剩余的擦除计数器。另外,在收到来自主机8的读或写命令之后,控制器14可以限制将发生扫描的预定周期的时间量。
第三,控制器14可以在幕后扫描第一多个块。这可以例如当在例如5msec的一段时间段内没有任何未决的主机命令时启动,并且可以当主机启动控制器14必须响应的命令时停止。
第四,控制器14可以在预定事件之后启动扫描,例如在控制器14接收到来自主机8的多个ATA命令之后。
一旦确定何时扫描第一多个块中的每一个块的擦除计数器以创建LFU,则下一个确定要素是扫描第一多个块的擦除计数器的方法。再者,存在多个方法,并且下面所描述的方法仅仅是示例性的,绝不是穷举的。
首先,控制器14可以按照从映射表中的第一项目开始直到最后项目的线性方式来扫描第一多个块中的所有块。
第二,控制器14能够基于来自主机8的命令来扫描在第一多个块中的块。例如,如果主机8知道例如操作系统程序的数据被保存的地方和由此哪一些块更可能包含了“最年轻”块,则该主机8可以启动在特定逻辑地址处的扫描或者指示扫描应该受限制的地址。
第三,控制器14还可以以随机方式扫描第一多个块的所有块。在控制器14中的处理器可以包括随机数发生器,其产生用于和块的物理地址相关联的随机数。
第四,控制器14还能够以伪随机方式扫描第一多个块的所有块。在控制器14中的处理器能够包括伪随机数发生器(例如素数发生器),其产生可以用于和块的物理地址相关联的伪随机数。
一旦创建LFU,则可以实施本发明的方法。然而,因为本发明的静态损耗均衡方法不依赖于块中的数据更新,所以这个问题变成了何时进行在LFU中的“最年轻”块和在被擦除的池中“最老”块之间的数据交换。存在多种方法来实现。这些参数对于存储器设备12的不同分区也可以是不同的。再者,下列所述是多种可行的技术,其是示例性地,绝不是穷举的。
第一,在NAND存储器12首次上电时,控制器14能够交换有限数量的块,例如16个。
第二,控制器14可以响应于主机8发出交换块的数量的特定命令,交换多个块。作为该方法的结果,在主机8发出读或写命令以读或者写NAND存储器12中的特定块之后,控制器14还可以交换有限数量的块,例如1个。之后,控制器14可以交换一个块。
第三,控制器14能够在后台交换有限数量的块,例如16个。这可以例如当在例如5msec的一段时间段内没有任何未决的主机命令时启动,并且当主机启动控制器14必须响应的命令时可以停止。
第四,控制器14可以能够在预定事件之后,例如在控制器14接收到来自主机8的多个ATA命令之后,交换有限数量的块,例如1个。
应该明白,尽管本发明的方法均衡了NAND存储器12中的所有块中的损耗,但是数据从LFU中的一个块持续交换到在被擦除的池中的另一个块能够引起过度的损耗。存在多种方法来防止不必要的交换。再者,这些参数对于存储器设备12的每一个分区也可以是不同的。下列所述是各种可行技术,其是示例性的并且绝不是穷举的。而且,这里描述的方法可以被共同地执行。
首先,在LFU中的“最年轻”块的擦除计数器中的计数和被擦除的池的块中的“最老”块的擦除计数器中的计数之间做出确定。如果差值在特定范围内,将不发生在LFU中的“最年轻”块和被擦除的池中的“最老”块之间的交换。在LFU中的“最年轻”块的擦除计数器中的计数和被擦除的池的“最老”块的擦除计数器中的计数之间的差值也可以保存在单独的计数器中,
第二,控制器14可以保持两个计数器:一个用于保存主机启动擦除计数的数目,另一个用于保存由于本发明的静态损耗均衡方法带来的擦除计数的数目。如果在这两个计数器中的两个数值之间的差小于预定数,则将不会发生本发明的静态损耗均衡方法。主机启动擦除计数的数目包括由于动态损耗均衡引起的所有擦除计数,即当任一块中的数据更新时,则在任何情况中都将导致发生擦除操作。
第三,控制器14可以设置与每一个块相关联的标志。当从被擦除的池中交换每一个块时,该标志被置位。一旦该标志被置位,则该块不再适合本发明的损耗均衡方法,直到在第一多个块中的所有块的标志都被置位为止。之后,这些块的所有标志被复位,然后该块再次适合于本发明的损耗均衡方法。
第四,根据本发明的方法,计数器被配备给第一多个块中的每一个块以用于保存表示该块最近被擦除的时间的数据。此外,控制器14提供用于保存对于第一多个块的全局时间的计数器。如果块被选择为使其数据与来自被擦除的池的块交换,则将计数器保存的表示发生最近擦除操作的时间与所述全局时间相比较。如果该差值小于预定数,(指示根据本发明的静态损耗均衡方法感兴趣的块最近被擦除),则该块不被擦除并且不被添加到LFU中(或者如果已经在LFU中,则从其移除)。
如本领域公知的,闪速存储器,特别是NAND存储器12易于出现故障。因此,控制器14包括错误检测和错误纠正软件。本发明的方法的另一个优点是当LFU中的每一个块被读取,并且然后数据被记录到来自被擦除的池的被擦除的块,控制器14可以确定来自读取的块的数据包含错误到什么程度。如果从读取的块中读取的数据是不需要纠正的数据,则被擦除的块返回到被擦除的池中。然而,如果从读取的块中读取的数据包含可纠正的错误,(并且根据纠正的程度),则读取的块可以返回到坏块池。以这样的方式,处于临界良好的块能够被检测并且在其中保存的数据变成不可读取之前报废。
因此,正如从前面可以知道的,对NAND存储器12的不同分区可以调整各种参数。控制器14还操作以执行对于每一分区具有不同参数的数据保持的功能。特别是,实现数据保持的一种方法如下:
数据保持
在本发明的方法中,当上电时,控制器14获得保存在NOR非易失性存储器22中的计算机程序代码。该控制器14然后读取来自RTC16的时间戳信号。来自RTC22的时间戳信号指示“当前”时间。控制器14比较如在时间戳信号中提供的“当前”时间和保存在NOR非易失性存储器22中的时间信号以确定自控制器14已经执行了对NAND存储器12的数据保持操作的最近时间以来是否已经过去了足够的时间。认为是“足够”的时间量对于每一分区可以是变化的。如果自控制器14已经执行了对NAND存储器12的数据保持操作的最近时间以来已经过去了足够的时间,则该控制器14启动该方法以检查数据保持。
在该情况中,通过读取来自NAND存储器12中的块之一的每一个存储单元的数据,控制器14执行数据保持并且对NAND存储器12执行刷新操作。因为控制器14具有错误纠正编码,如果读取的数据包含错误,则这样的数据被控制器14纠正。被纠正的数据(如果存在的话)然后被写回到NAND存储器设备12中与数据被读取的块不同的块中。如果读取的数据是正确的并且不要求错误纠正,则该数据继续保存在当前块中。控制器14然后继续读取NAND存储器12的其余全部块的数据。可选择地,如果指示错误的读取的数据被纠正,则数据被从中读取的块被擦除,并且被纠正的数据被写入到被擦除的块中。在被纠正的数据被写入之后,保持时间被重置。如果保持错误是软故障,可以使用将被纠正的数据写入到其被从中读取的同一块。在该情况中,该块没有损伤并且可以重新使用。
可选择地,控制器14能够比较从块的每一个存储单元读取的数据和容限信号。对于块中的所有的存储单元,如果从存储单元读取的信号大于或者小于容限信号,则该数据被继续保存在其被从中读取的块中。然而,如果来自块的一个存储单元的信号大于或者小于容限信号,则来自块的存储单元的所有信号被写入到与来自存储单元的信号被读取的块不同的块中。再者,如果错误是软故障,则纠正的数据可以被写入到该数据被读取的被擦除的块中。
尽管前面描述了RTC16发出时间戳信号给控制器14,但是数据保持操作的方法还能够按着下述完成。在正常操作期间,主机设备8可以发出命令给控制器14以启动数据保持检查操作。可选择地,NAND设备12中的存储单元的每一个块可以具有与其相关联的寄存器。在“正常”读取操作期间,如果读取操作显示数据需要被纠正或者从存储单元读取的信号与容限信号相比在容限之外,则与该块相关联的寄存器被置位。一旦寄存器已经被置位,NAND设备12的块然后可以被读取并且被写入到同一或其它位置。
启动数据保持方法的其它可能是在控制器14上电或者掉电时启动数据保持操作,即不必等候来自RTC16的时间戳信号。其它可能的启动方法包括具有周期性执行数据保持操作的休眠电路的控制器14,其中数据保持操作包括从块中读取数据并且或者确定该数据是否正确或者是否在容限内并且什么都不做、或者将该数据写入到同一或不同块中。
参考图5,示出了在本发明的系统10中使用的NAND类型存储器12的框图。众所周知,NAND存储器12包括以多个行和列布置的NAND存储单元的阵列114。地址缓冲器锁存器118接收用于寻址阵列114的地址信号。行译码器116译码在地址锁存器118中接收的地址信号并且选择在阵列114中适当的存储单元行。被选择的存储单元通过列多路复用器120被多路复用并且被读取放大器122读取。参考偏置电路130产生三个不同的读取电平信号(或容限信号),分别用四个容限信号X1、X2、X3和X4表示,它们在读取操作期间被提供给读取放大器122。
容限信号X1提供数据所需要的最小容限信号以便以最小量的电荷保持在其浮栅上。这将确保在要求刷新操作的情况中在一段时间内有足够的电荷保持。容限信号X2是为正常的容限读取信号的用户模式容限信号。容限信号X3是表示错误模式的容限信号并且在数据停留在该电平时提供要求刷新操作的标志。最后,容限信号X4是表示数据要求ECC(错误纠正检查)协议以将其纠正的容限信号。
有三个可能的输出来自读取放大器122:容限模式、用户模式和错误模式。如果信号是容限模式输出或者用户模式输出,则该信号被提供给比较器132。来自该比较器132的信号被提供给匹配电路134。如果该匹配电路134指示不匹配,则用于被寻址的存储单元的特定行的标志被置位以指示需要执行刷新操作。
如果匹配电路134指示匹配,则控制器14做出错误位是否被置位的决定。如果不置位,则数据保持在正常范围内并且不需要进行刷新操作。即使通过ECC纠正了该数据,读取放大器122的错误模式输出也置位错误位。如果错误位被置位,则该数据被写入阵列114的另一部分中并且需要进行数据刷新操作。
根据上述可以知道,通过将NAND存储器12分成多个分区,每个分区具有损耗均衡和数据保持的不同的参数,该对于其中保存的数据(或代码)的类型的特定分区可以优化数据(或代码)在NAND存储器12中关于数据保持和耐久性的保存。

Claims (23)

1.一种非易失性存储器子系统,包括:
非易失性存储器设备,其中所述非易失性存储器设备具有数据存储部分和被擦除的存储部分,其中该数据存储部分具有第一多个块并且该被擦除的存储部分具有第二多个块,并且其中第一多个块和第二多个块的每一个都具有被一起擦除的多个非易失性存储位,每一个块具有相关联的、用于保存该块已经被擦除的次数的计数的计数器;
存储器控制器,用于控制所述非易失性存储器设备的操作,所述存储器控制器被配置用于将所述存储器设备分成多个分区,每一个分区具有用于损耗均衡和数据保持的可调节参数;
用于提供时序信号给所述存储器控制器的时钟;
其中该存储器控制器被配置成:
根据与第一多个块中的块相关联的计数器中的计数确定选择来自第一多个块的最年轻块;
根据与第二多个块中的块相关联的计数器中的计数确定选择来自第二多个块的最老块;
将来自该来自第一多个块的最年轻块的数据转移到该来自第二多个块的最老块,并且将所述来自第二多个块的最老块与所述第一多个块相关联;和
擦除所述来自第一多个块的最年轻块并且使与所述来自第一多个块的最年轻块相关联的计数器中的计数递增,并且将所述来自第一多个块的最年轻块与所述第二多个块相关联。
2.根据权利要求1所述的存储器子系统,其中所述非易失性存储器设备是NAND存储器。
3.根据权利要求1所述的存储器子系统,其中所述存储器控制器被配置成基于与第一多个块相关联的计数器中的最小的计数来选择该来自第一多个块的最年轻块,并且被配置成基于与第二多个块相关联的计数器中的最大的计数来选择该来自第二多个块的最老块。
4.根据权利要求3所述的存储器子系统,其中所述存储器控制器被配置成在计数器中的最大和最小计数之间的差大于预设数时执行转移和擦除步骤。
5.根据权利要求3所述的存储器子系统,其中所述存储器控制器被配置成:
响应于非易失性存储器设备外部的源所提供的第一命令,
根据与第一多个块中的块相关联的计数器中的计数确定选择来自第一多个块的最年轻块;
根据与第二多个块中的块相关联的计数器中的计数确定选择来自第二多个块的最老块;
将来自该来自第一多个块的最年轻块的数据转移到该来自第二多个块的最老块,并且将所述来自第二多个块的最老块与所述第一多个块相关联;并且
擦除所述来自第一多个块的最年轻块并且使与所述来自第一多个块的最年轻块相关联的计数器递增,并且将所述来自第一多个块的最年轻块与所述第二多个块相关联。
6.根据权利要求5所述的存储器子系统,其中所述存储器控制器还包括命令计数器,其中当收到所述第一命令时所述命令计数器递增。
7.根据权利要求6所述的存储器子系统,其中所述存储器控制器被配置成
响应于该存储器控制器内部产生的第二命令,
根据与第一多个块中的块相关联的计数器中的计数确定选择来自第一多个块的最年轻块;
根据与第二多个块中的块相关联的计数器中的计数确定选择来自第二多个块的最老块;
将来自该来自第一多个块的最年轻块的数据转移到该来自第二多个块的最老块,并且将所述来自第二多个块的最老块与所述第一多个块相关联;
擦除所述来自第一多个块的最年轻块并且使与所述来自第一多个块的最年轻块相关联的计数器递增,并且将所述来自第一多个块的最年轻块与所述第二多个块相关联。
8.根据权利要求7所述的存储器子系统,还包括内部命令计数器,其中当产生第二命令时所述内部命令计数器递增。
9.根据权利要求8所述的存储器子系统,其中所述存储器控制器被配置成:
当在该命令计数器中的计数和该内部命令计数器中的计数之间的差大于预设数时,
根据与第一多个块中的块相关联的计数器中的计数确定选择来自第一多个块的最年轻块;
根据与第二多个块中的块相关联的计数器中的计数确定选择来自第二多个块的最老块;
将来自该来自第一多个块的最年轻块的数据转移到该来自第二多个块的最老块,并且将所述来自第二多个块的最老块与所述第一多个块相关联;和
擦除所述来自第一多个块的最年轻块并且使与所述来自第一多个块的最年轻块相关联的计数器递增,并且将所述来自第一多个块的最年轻块与所述第二多个块相关联。
10.根据权利要求1所述的存储器子系统,其中所述存储器控制器与所述时钟连接以接收时间戳信号,所述存储器控制器被配置成:
通过所述存储器控制器接收该时间戳信号;
将接收到的时间戳信号与保存的信号相比较,其中该保存的信号是由该存储器控制器在更早的时间接收的时间戳信号;和
基于比较步骤确定何时对于保存在非易失性存储器设备中的数据执行数据保持和刷新操作。
11.根据权利要求10所述的存储器子系统,其中所述非易失性存储器设备具有多个块,每一个块具有被一起擦除的多个存储单元,其中所述存储器控制器还被配置成:
a)从所述块之一中的每一个存储单元中读取数据;
b)如果需要则由该存储器控制器纠正所述读取的数据以形成纠正的数据;
c)如果存在纠正的数据则将该纠正的数据写入到所述非易失性存储器设备的不同块中;和
d)对于非易失性存储器设备的不同块重复步骤a)-c),直到所有的块都已经被读取。
12.根据权利要求10所述的存储器子系统,其中所述非易失性存储器设备具有多个块,每一个块具有被一起擦除的多个存储单元,其中所述存储器控制器还被配置成:
a)从所述块之一中的每一个存储单元中读取数据信号;
b)比较该读取的数据信号和容限信号;
c)在比较步骤b)的结果指示有必要将对应于该数据信号的数据写到不同的存储单元中时,将对应于该数据信号的数据写到所述非易失性存储器设备的不同块的不同存储单元中;和
d)对于非易失性存储器设备的不同块重复步骤a)-c),直到所有的块都已经被读取。
13.一种用于控制非易失性存储器设备的操作的存储器控制器,所述存储器控制器包括:
处理器,其被配置成将所述非易失性存储器设备分成多个分区,每一个分区具有用于损耗均衡和数据保持的可调节参数;
其中所述非易失性存储器设备具有数据存储部分和被擦除的存储部分,其中该数据存储部分具有第一多个块并且该被擦除的存储部分具有第二多个块,并且其中第一多个块和第二多个块的每一个都具有被一起擦除的多个非易失性存储位,每一个块具有相关联的、用于保存该块已经被擦除的次数的计数的计数器,其中所述存储器控制器被配置成:
根据与第一多个块中的块相关联的计数器中的计数确定选择来自第一多个块的最年轻块;
根据与第二多个块中的块相关联的计数器中的计数确定选择来自第二多个块的最老块;
将来自该来自第一多个块的最年轻块的数据转移到该来自第二多个块的最老块,并且将所述来自第二多个块的最老块与所述第一多个块相关联;和
擦除所述来自第一多个块的最年轻块并且使与所述来自第一多个块的最年轻块相关联的计数器中的计数递增,并且将所述来自第一多个块的最年轻块与所述第二多个块相关联。
14.根据权利要求13所述的存储器控制器,其中所述存储器控制器被配置成基于与第一多个块相关联的计数器中的最小的计数来选择该来自第一多个块的最年轻块,并且被配置成基于与第二多个块相关联的计数器中的最大的计数来选择该来自第二多个块的最老块。
15.根据权利要求14所述的存储器控制器,其中所述存储器控制器被配置成在计数器中的最大和最小计数之间的差大于预设数时执行转移和擦除步骤。
16.根据权利要求14所述的存储器控制器,其中所述存储器控制器被配置成
响应于非易失性存储器设备外部的源所提供的第一命令,
根据与第一多个块中的块相关联的计数器中的计数确定选择来自第一多个块的最年轻块;
根据与第二多个块中的块相关联的计数器中的计数确定选择来自第二多个块的最老块;
将来自该来自第一多个块的最年轻块的数据转移到该来自第二多个块的最老块,并且将所述来自第二多个块的最老块与所述第一多个块相关联;并且
擦除所述来自第一多个块的最年轻块并且使与所述来自第一多个块的最年轻块相关联的计数器递增,并且将所述来自第一多个块的最年轻块与所述第二多个块相关联。
17.根据权利要求16所述的存储器控制器,其中所述存储器控制器还包括命令计数器,其中当收到所述第一命令时所述命令计数器递增。
18.根据权利要求17所述的存储器控制器,其中所述存储器控制器被配置成:
响应于存储器控制器内部产生的第二命令,
根据与第一多个块中的块相关联的计数器中的计数确定选择来自第一多个块的最年轻块;
根据与第二多个块中的块相关联的计数器中的计数确定选择来自第二多个块的最老块;
将来自该来自第一多个块的最年轻块的数据转移到该来自第二多个块的最老块,并且将所述来自第二多个块的最老块与所述第一多个块相关联;和
擦除所述来自第一多个块的最年轻块并且使与所述来自第一多个块的最年轻块相关联的计数器递增,并且将所述来自第一多个块的最年轻块与所述第二多个块相关联。
19.根据权利要求18所述的存储器控制器,还包括内部命令计数器,其中当产生第二命令时所述内部命令计数器递增。
20.根据权利要求19所述的存储器控制器,其中所述存储器控制器被配置成:
当在该命令计数器中的计数和该内部命令计数器中的计数之间的差大于预设数时,
根据与第一多个块中的块相关联的计数器中的计数确定选择来自第一多个块的最年轻块;
根据与第二多个块中的块相关联的计数器中的计数确定选择来自第二多个块的最老块;
将来自该来自第一多个块的最年轻块的数据转移到该来自第二多个块的最老块,并且将所述来自第二多个块的最老块与所述第一多个块相关联;和
擦除所述来自第一多个块的最年轻块并且使与所述来自第一多个块的最年轻块相关联的计数器递增,并且将所述来自第一多个块的最年轻块与所述第二多个块相关联。
21.根据权利要求13所述的存储器控制器,其中所述存储器控制器与时钟连接以接收时间戳信号,所述存储器控制器被配置成:
通过所述存储器控制器接收该时间戳信号;
将接收到的时间戳信号与保存的信号相比较,其中该保存的信号是由该存储器控制器在更早的时间接收的时间戳信号;和
基于比较步骤确定何时对于保存在非易失性存储器设备中的数据执行数据保持和刷新操作。
22.根据权利要求13所述的存储器控制器,其中所述非易失性存储器设备具有多个块,每一个块具有被一起擦除的多个存储单元,其中所述存储器控制器还被配置成:
a)从所述块之一中的每一个存储单元中读取数据;
b)如果需要则由该存储器控制器纠正所述读取的数据以形成纠正的数据;
c)如果存在纠正的数据则将该纠正的数据写入到所述非易失性存储器设备的不同块中;和
d)对于非易失性存储器设备的不同块重复步骤a)-c),直到所有的块都已经被读取。
23.根据权利要求13所述的存储器控制器,其中所述非易失性存储器设备具有多个块,每一个块具有被一起擦除的多个存储单元,其中所述存储器控制器还被配置成:
a)从所述块之一中的每一个存储单元中读取数据信号;
b)比较该读取的数据信号和容限信号;
c)在比较步骤b)的结果指示有必要将对应于该数据信号的数据写到不同的存储单元中时,将对应于该数据信号的数据写入所述非易失性存储器设备的不同块的不同存储单元中;和
d)对于非易失性存储器设备的不同块重复步骤a)-c),直到所有的块都已经被读取。
CN201010110265.9A 2009-02-04 2010-02-02 非易失性存储器子系统及其存储器控制器 Active CN101794256B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/365829 2009-02-04
US12/365,829 US20100199020A1 (en) 2009-02-04 2009-02-04 Non-volatile memory subsystem and a memory controller therefor

Publications (2)

Publication Number Publication Date
CN101794256A CN101794256A (zh) 2010-08-04
CN101794256B true CN101794256B (zh) 2015-11-25

Family

ID=42398634

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010110265.9A Active CN101794256B (zh) 2009-02-04 2010-02-02 非易失性存储器子系统及其存储器控制器

Country Status (3)

Country Link
US (1) US20100199020A1 (zh)
CN (1) CN101794256B (zh)
TW (1) TW201037728A (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7934055B2 (en) 2006-12-06 2011-04-26 Fusion-io, Inc Apparatus, system, and method for a shared, front-end, distributed RAID
US20100289921A1 (en) * 2009-05-14 2010-11-18 Napoli Thomas A Digital camera having last image capture as default time
KR101689420B1 (ko) 2009-09-09 2016-12-23 샌디스크 테크놀로지스 엘엘씨 저장 장치의 전력 감소 관리를 위한 장치, 시스템, 및 방법
WO2012050934A2 (en) 2010-09-28 2012-04-19 Fusion-Io, Inc. Apparatus, system, and method for a direct interface between a memory controller and non-volatile memory using a command protocol
US8583987B2 (en) 2010-11-16 2013-11-12 Micron Technology, Inc. Method and apparatus to perform concurrent read and write memory operations
EP2652623B1 (en) 2010-12-13 2018-08-01 SanDisk Technologies LLC Apparatus, system, and method for auto-commit memory
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
FR2977047B1 (fr) * 2011-06-22 2013-08-16 Starchip Procede de gestion de l'endurance de memoires non volatiles.
JP5971509B2 (ja) * 2011-08-30 2016-08-17 ソニー株式会社 情報処理装置および方法、並びに記録媒体
US9320120B2 (en) 2012-04-13 2016-04-19 Koninklijke Philips N.V. Data generating system and lighting device
KR102072449B1 (ko) * 2012-06-01 2020-02-04 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 리페어 방법
US8988957B2 (en) 2012-11-07 2015-03-24 Apple Inc. Sense amplifier soft-fail detection circuit
US9740425B2 (en) 2014-12-16 2017-08-22 Sandisk Technologies Llc Tag-based wear leveling for a data storage device
EP3268864B1 (en) * 2015-03-11 2021-01-27 Rambus Inc. High performance non-volatile memory module
KR102381218B1 (ko) * 2015-09-25 2022-04-01 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR102435873B1 (ko) * 2015-12-18 2022-08-25 삼성전자주식회사 스토리지 장치 및 그것의 리드 리클레임 방법
US10489064B2 (en) * 2016-10-03 2019-11-26 Cypress Semiconductor Corporation Systems, methods, and devices for user configurable wear leveling of non-volatile memory
CN109582599B (zh) * 2017-09-29 2023-12-22 上海宝存信息科技有限公司 数据储存装置以及非挥发式存储器操作方法
FR3079946A1 (fr) * 2018-04-06 2019-10-11 Psa Automobiles Sa Procede de perennisation des informations stockees dans une memoire non volatile-temporaire d’un un calculateur.
US11500567B2 (en) * 2019-12-06 2022-11-15 Micron Technology, Inc. Configuring partitions of a memory sub-system for different data
US10892006B1 (en) * 2020-02-10 2021-01-12 Micron Technology, Inc. Write leveling for a memory device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1278934A (zh) * 1998-09-04 2001-01-03 奥托·穆勒 用于具有限制删除频率的存储器的存取控制
CN1670854A (zh) * 2004-03-17 2005-09-21 日立环球储存科技荷兰有限公司 磁盘驱动器和刷新方法
CN1720590A (zh) * 2002-10-28 2006-01-11 桑迪士克股份有限公司 非易失性存储系统中的自动磨损平衡
CN101030166A (zh) * 2006-03-03 2007-09-05 凌阳科技股份有限公司 非易失性存储器的平均抹除方法与装置
WO2008066058A1 (fr) * 2006-11-30 2008-06-05 Kabushiki Kaisha Toshiba Système mémoire
CN101627373A (zh) * 2006-12-20 2010-01-13 诺基亚公司 通过预擦除机制的存储器设备性能增强

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7859932B2 (en) * 2008-12-18 2010-12-28 Sandisk Corporation Data refresh for non-volatile storage

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1278934A (zh) * 1998-09-04 2001-01-03 奥托·穆勒 用于具有限制删除频率的存储器的存取控制
CN1720590A (zh) * 2002-10-28 2006-01-11 桑迪士克股份有限公司 非易失性存储系统中的自动磨损平衡
CN1670854A (zh) * 2004-03-17 2005-09-21 日立环球储存科技荷兰有限公司 磁盘驱动器和刷新方法
CN101030166A (zh) * 2006-03-03 2007-09-05 凌阳科技股份有限公司 非易失性存储器的平均抹除方法与装置
WO2008066058A1 (fr) * 2006-11-30 2008-06-05 Kabushiki Kaisha Toshiba Système mémoire
CN101627373A (zh) * 2006-12-20 2010-01-13 诺基亚公司 通过预擦除机制的存储器设备性能增强

Also Published As

Publication number Publication date
TW201037728A (en) 2010-10-16
CN101794256A (zh) 2010-08-04
US20100199020A1 (en) 2010-08-05

Similar Documents

Publication Publication Date Title
CN101794256B (zh) 非易失性存储器子系统及其存储器控制器
CN102054534B (zh) 包括响应电源故障信号而刷新写入数据的电源故障电路的非易失性半导体存储器
CN101246738B (zh) 具有备份电路的存储系统及编程方法
US9268687B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US8914702B2 (en) Bit error repair method and information processing apparatus
CN101739344B (zh) 控制非易失性存储装置中损耗的存储器控制器及操作方法
CN103853582B (zh) 闪存更新方法
US8904086B2 (en) Flash memory storage system and controller and data writing method thereof
US9213629B2 (en) Block management method, memory controller and memory stoarge apparatus
US9665481B2 (en) Wear leveling method based on timestamps and erase counts, memory storage device and memory control circuit unit
KR101674225B1 (ko) 플래시 메모리에서 데이터를 고속의 낮은 전력으로 판독하는 방법
US20150193340A1 (en) Data writing method, memory control circuit unit and memory storage apparatus
US9460004B2 (en) Memory erasing method, memory controller, and memory storage apparatus
US8667348B2 (en) Data writing method for non-volatile memory module and memory controller and memory storage apparatus using the same
US8897092B2 (en) Memory storage device, memory controller and controlling method
US9442834B2 (en) Data management method, memory controller and memory storage device
US20150363120A1 (en) On demand block management
CN101751348A (zh) 存储器控制器和操作电可变非易失性存储装置的方法
CN104765569A (zh) 数据写入方法、存储器控制电路单元与存储器储存装置
TWI486765B (zh) 記憶體管理方法、記憶體控制器與記憶體儲存裝置
JP4267682B1 (ja) Nandフラッシュメモリのリフレッシュ方法
US8392766B2 (en) Operational method of a controller of a flash memory, and associated memory device and controller thereof
JP4661369B2 (ja) メモリコントローラ
US9760456B2 (en) Memory management method, memory storage device and memory control circuit unit
TWI692691B (zh) 記憶體控制裝置與記憶體控制方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: GREEN LEVANTE SYSTEM CO., LTD.

Free format text: FORMER OWNER: SILICON STORAGE TECHNOLOGY INC.

Effective date: 20110302

Owner name: GREEN LEVANTE CO., LTD.

Free format text: FORMER OWNER: GREEN LEVANTE SYSTEM CO., LTD.

Effective date: 20110302

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20110302

Address after: California, USA

Applicant after: Greenline Co.,Ltd.

Address before: California, USA

Applicant before: Green Leante Systems Ltd.

Effective date of registration: 20110302

Address after: California, USA

Applicant after: Green Leante Systems Ltd.

Address before: California, USA

Applicant before: Silicon Storage Technology, Inc.

C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20100804

Assignee: Green core semiconductor (Xiamen) Co.,Ltd.

Assignor: Greenline Co.,Ltd.

Contract record no.: 2018990000015

Denomination of invention: Non-volatile memory subsystem and a memory controller therefor

Granted publication date: 20151125

License type: Exclusive License

Record date: 20180119

EE01 Entry into force of recordation of patent licensing contract