存储器系统及其操作方法与流程

文档序号:30310301发布日期:2022-06-05 11:20阅读:93来源:国知局
存储器系统及其操作方法1.相关申请的交叉引用2.本技术要求于2020年11月30日提交的申请号为10-2020-0164592的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
:3.各个实施例涉及一种存储器系统,且更特别地,涉及一种包括非易失性存储器装置的存储器系统。
背景技术
::4.存储器系统可被配置成响应于来自主机装置的写入请求,存储由该主机装置提供的数据。此外,存储器系统可被配置成响应于来自主机装置的读取请求,将存储器系统中所存储的数据提供到该主机装置。主机装置是能够处理数据的电子装置,并且主机装置的示例可包括计算机、数码相机或移动电话。存储器系统可嵌入在主机装置中来进行操作,或者可以以可分离的形式制造并连接到主机装置来进行操作。技术实现要素:5.本公开的各个实施例旨在提供一种有效地执行映射管理操作的存储器系统及其操作方法。6.在本公开的实施例中,一种存储器系统的操作方法可包括:基于在先前的映射管理操作完成之后所生成的物理到逻辑(p2l)条目,确定映射管理操作被触发,其中p2l条目分别对应于存储介质的存储器区域的物理地址;不考虑存储介质的写入操作是否完成,基于p2l条目来生成对应于存储器区域的预更新表,其中该预更新表包括分别对应于所有逻辑到物理(l2p)段的预更新状态,并且预更新状态中的每一个指示相应的l2p段是否包括与p2l条目中包括的逻辑地址相对应的l2p条目;在写入操作完成之后,基于p2l条目来更新l2p条目;并且在更新l2p条目之后,当存储介质中存在对应于存储器区域的原始更新表时,通过合并预更新表和该原始更新表来生成新的原始更新表,并且在更新l2p条目之后,当存储介质中不存在原始更新表时,生成预更新表作为新的原始更新表。7.在本公开的实施例中,存储器系统的操作方法可包括:生成分别与存储介质的存储器区域的物理地址相对应的物理到逻辑(p2l)条目,其中p2l条目分别包括被映射到物理地址的逻辑地址;当触发映射管理操作时存储介质正在执行写入操作时,通过将所有l2p段之中包括分别与逻辑地址相对应的逻辑到物理(l2p)条目的第一l2p段的预更新状态设置为第一状态,并且将所有l2p段之中除第一l2p段之外的第二l2p段的预更新状态设置为第二状态,来生成预更新表;并且在写入操作完成之后,当存储介质中存在对应于存储器区域的原始更新表时,通过合并预更新表和该原始更新表来生成新的原始更新表,并且在写入操作完成之后,当存储介质中不存在原始更新表时,生成预更新表作为新的原始更新表。8.在本公开的实施例中,存储器系统可包括逻辑到物理(l2p)更新组件,该l2p更新组件适于在映射管理操作被触发时,基于在先前的映射管理操作完成之后所生成的物理到逻辑(p2l)条目来更新l2p条目,其中p2l条目分别包括被映射到存储介质的存储器区域的物理地址的逻辑地址,并且l2p条目分别包括被映射到逻辑地址的物理地址;预更新表生成器,适于在更新l2p条目之前,通过将包括待更新的l2p条目的l2p段的预更新状态设置为第一状态,生成包括所有l2p段的各个预更新状态的预更新表;以及原始更新表生成器,适于在更新l2p条目之后,当存储介质中存在对应于存储器区域的原始更新表时,通过合并预更新表和该原始更新表来生成新的原始更新表,并且在更新l2p条目之后,当存储介质中不存在原始更新表时,生成预更新表作为新的原始更新表。9.在本公开的实施例中,控制器的操作方法可包括:生成用于在当前期限(term)内访问存储器单元的物理到逻辑(p2l)条目;将p2l条目反映到当前期限变化表(current-term-changetable)中;将用于当前期限的当前期限变化表和从非易失性存储器装置读取的用于先前期限的迄今变化表(so-far-changetable)反映到用于当前期限的迄今变化表中;并且控制存储器装置存储用于当前期限的迄今变化表,其中当前期限变化表包括具有l2p条目的逻辑到物理(l2p)段的当前期限的变化状态,并且其中用于先前期限和当前期限的迄今变化表分别包括直到l2p段的先前期限和当前期限的变化状态。附图说明10.图1是示出根据本公开的实施例的存储器系统的框图。11.图2是示出根据本公开的实施例的针对存储器的分配的示图。12.图3是示出根据本公开的实施例的l2p表的示图。13.图4是示出根据本公开的实施例的存储器区域的p2l表的示图。14.图5是描述根据本公开的实施例的l2p更新操作的示图。15.图6是示出根据本公开的实施例的更新表的示图。16.图7是描述根据本公开的实施例的参照更新表来执行垃圾收集操作的方法的示图。17.图8是描述根据本公开的实施例的预更新表生成操作和原始更新表生成操作的示图。18.图9a和图9b是描述根据本公开的实施例的执行映射管理操作的方法的示图。19.图10是示出根据本公开的实施例的包括固态驱动器(ssd)的数据处理系统的示图。20.图11是示出根据本公开的实施例的包括存储器系统的数据处理系统的示图。21.图12是示出根据本公开的实施例的包括存储器系统的数据处理系统的示图。22.图13是示出根据本公开的实施例的包括存储器系统的网络系统的示图。23.图14是示出根据本公开的实施例的存储器系统中包括的非易失性存储器装置的框图。具体实施方式24.下面将参照附图更详细地描述本公开的各个实施例。然而,本公开可以不同的形式实现,并且不应被解释为限于本文中阐述的实施例。相反,提供这些实施例以使本公开将是彻底且完整的,并且将本公开的范围充分地传达给本领域的技术人员。在整个公开中,相同的附图标记在本公开的各个附图和实施例中始终指代相同的部件。25.将通过稍后将结合附图详细描述的实施例来描述本公开的优点和特征以及实现这些优点和特征的方法。然而,本公开不限于本文所描述的实施例,并且可以以其它形式实例化。提供本实施例以详细描述本公开,使得本领域普通技术人员可容易地实施本公开的技术精神。26.在附图中,本公开的实施例不限于附图中示出的特定形式,并且已经为了清楚而夸大。说明书中已经使用了特定的术语,但是这些术语仅用于描述本公开,而不是限制权利要求中所书写的术语的含义或本公开的权利范围。27.在说明书中,表述“和/或”被用作具有包括在该表述之前和之后所列的至少一个元件的含义。此外,表述“连接/联接”被用作具有包括一个元件被直接连接到另一元件以及这两个元件通过又一个元件间接连接的含义。在说明书中,除非特别说明,否则单数形式包括复数形式。此外,说明书中使用的诸如“包括或包含”和/或“包括有或包含有”的术语指除了所描述的元件、步骤、操作和/或装置之外,存在或添加一个或多个其它元件、步骤、操作和/或装置。28.在下文中,参照附图详细描述实施例。29.图1是示出根据本公开的实施例的存储器系统10的框图。30.存储器系统10可被配置成响应于外部的主机装置的写入请求,存储由该主机装置提供的数据。此外,存储器系统10可被配置成响应于来自主机装置的读取请求,将其中所存储的数据提供到该主机装置。31.存储器系统10可包括个人计算机存储卡国际协会(pcmcia)卡、紧凑式闪存(cf)卡、智能媒体卡、记忆棒、各种多媒体卡(例如,mmc、emmc、rs-mmc和微型mmc)、安全数字(sd)卡(例如,迷你sd和微型sd)、通用闪存(ufs)或固态驱动器(ssd)。32.存储器系统10可包括控制器100和存储介质200。33.控制器100可控制存储器系统10的全部操作。控制器100可响应于来自主机装置的指令而控制存储介质200,以执行前台操作。该前台操作可包括响应于来自主机装置的指令,即写入请求和读取请求,而将数据写入存储介质200和从存储介质200中读取数据的操作。34.此外,控制器100可控制存储介质200以独立于主机装置执行内部必要的后台操作。该后台操作可包括针对存储介质200的损耗均衡操作、垃圾收集操作、擦除操作、读取回收操作和刷新操作中的至少一种。如同前台操作,该后台操作可包括将数据写入存储介质200和从存储介质200中读取数据的操作。35.控制器100可包括写入组件110、映射管理器120和存储器130。写入组件110和映射管理器120可被配置成软件、硬件或固件,或者可由软件、硬件或固件的组合来配置。36.响应于来自主机装置的写入请求,写入组件110可控制存储介质200以对目标存储器区域的目标存储器组件执行写入操作。例如,写入组件110可向存储介质200传输包括目标存储器单元的物理地址的写入命令。37.写入组件110可控制存储介质200的写入操作,并且可在存储器130中生成与目标存储器单元的物理地址相对应的物理到逻辑(p2l)条目。目标存储器单元中存储的数据的p2l条目可包括被映射到该目标存储器单元的物理地址的逻辑地址,即该目标存储器单元中存储的数据的逻辑地址。38.映射管理器120通常可管理映射数据,该映射数据指示与由主机装置传输的数据相对应的逻辑地址和存储介质200的物理地址之间的映射关系。映射数据可包括与每个逻辑地址相对应的逻辑到物理(l2p)条目以及上述p2l条目。l2p条目可包括被映射到相应逻辑地址的物理地址,即存储相应逻辑地址的数据的存储器单元的物理地址。如稍后将描述的,对于多个逻辑地址,可以以l2p段为单位来管理l2p条目。39.映射管理器120可执行稍后将描述的映射管理操作,以处理相对于目标存储器区域生成的多个p2l条目。在这种情况下,在先前的映射管理操作完成之后当前的映射管理操作被触发之前,可生成通过映射管理操作处理的多个p2l条目。每当执行映射管理操作时,映射管理器120可处理针对目标存储器区域的新的p2l条目。40.映射管理器120可包括触发传感器121、l2p更新组件122、预更新表生成器123和原始更新表生成器124。41.触发传感器121可确定映射管理操作是否已经被触发,即,可感测映射管理操作的触发条件。例如,当存储器130内存储p2l条目的p2l存储器部分已满时,可触发映射管理操作。根据实施例,当在p2l存储器部分中生成给定数量的p2l条目时,可触发映射管理操作。根据实施例,当存储介质200内正存储数据的目标存储器区域已满时,可触发映射管理操作。根据实施例,当在执行了先前的映射管理操作之后经过给定时间时,可触发映射管理操作。在目标存储器区域被数据填充时,可根据触发条件来多次执行映射管理操作。42.映射管理操作可包括一系列的预更新表生成操作、l2p更新操作和原始更新表生成操作。预更新表生成操作可以是预更新表生成器123的操作。l2p更新操作可以是l2p更新组件122的操作。原始更新表生成操作可以是原始更新表生成器124的操作。43.下面首先描述l2p更新操作。l2p更新组件122可基于p2l条目执行用于更新l2p条目的l2p更新操作,以保持l2p条目是最新的。也就是说,当主机装置更新数据时,尽管更新后的数据对应于没有任何改变的、相同的逻辑地址,但更新后的数据存储在新的物理地址的存储器单元中。因此,l2p更新组件122可执行l2p更新操作,以便将新的物理地址并入l2p条目中。44.当触发映射管理操作时,如果存储介质200仍在执行写入操作,则l2p更新组件122可等待写入操作完成,并且在存储介质200的写入操作被完全执行之后(即,在写入操作成功之后)可执行l2p更新操作,以便防止由映射数据不匹配等所导致的错误。此外,如稍后将描述的,l2p更新操作包括从存储介质200读取l2p段的操作。因此,如果存储介质200正在执行诸如写入操作的任何存储访问操作,则存储介质200可能难以与正在进行的存储访问操作同时执行l2p更新操作。45.在执行l2p更新操作之后,原始更新表生成器124可执行原始更新表生成操作,以生成对应于目标存储器区域的原始更新表。原始更新表可指示随着数据被存储在目标存储器区域中而被更新的l2p段。在目标存储器区域被数据填充时,每当映射管理操作被执行多次时,原始更新表生成器124可继续更新目标存储器区域的原始更新表。当目标存储器区域被选择为垃圾收集操作的牺牲品(victim)时,可参照在目标存储器区域充满数据之后最终生成的更新表,这将在后面进行描述。46.此时,当触发映射管理操作时,首先,预更新表生成器123可生成目标存储器区域的预更新表。原始更新表生成器124可通过合并预更新表和通过先前的映射管理操作所生成的原始更新表来生成新的原始更新表。47.预更新表生成操作描述如下。当触发映射管理操作时,首先,预更新表生成器123可基于p2l条目来生成对应于目标存储器区域的预更新表,p2l条目是在先前的映射管理操作完成之后当前映射管理操作被触发之前生成的。预更新表可指示包括待基于p2l条目进行更新的l2p条目的l2p段的预更新状态,p2l条目是在先前的映射管理操作完成之后当前映射管理被触发之前生成的。预更新表可指示包括待在后续l2p更新操作中更新的l2p条目的l2p段的预更新状态。预更新表可分别包括在先前的映射管理操作完成时与当前的映射管理操作被触发时之间的期限内的更新状态,即,l2p段的预更新状态。48.因此,在先前的映射管理操作中相对于目标存储器区域生成的原始更新表指示在先前的映射管理操作被触发之前由于在目标存储器区域中存储数据而被更新的l2p段。预更新表指示在先前的映射管理操作完成之后在当前的映射管理操作被触发之前由于在目标存储器区域中存储数据而被更新的l2p段。因此,合并了原始更新表和预更新表的新的原始更新表可指示在触发当前的映射管理操作之前由于在目标存储器区域中存储数据而被更新的l2p段。49.如果当生成对应于目标存储器区域的预更新表时,存储介质200中不存在先前生成的原始更新表,则预更新表可变成对应于该目标存储器区域的原始更新表。也就是说,对于没有先前期限的初始期限,预更新表可首先变成原始更新表。50.在本公开中,可在存储介质200正在执行写入操作的同时执行预更新表生成操作。具体地,当触发映射管理操作时,如果存储介质200存储量非常大的数据,则可能执行写入操作非常长的时间。在这种情况下,在存储介质200正在执行写入操作的同时,预更新表生成器123可执行预更新表生成操作,而无需等待存储介质200的写入操作完成。也就是说,在本公开的实施例中,因为预更新表生成操作是在控制器100内执行的操作并因此与对存储介质200内的任何存储区域的访问(诸如,写入操作)无关,所以可在存储介质200正在执行写入操作的同时执行预更新表生成操作。预更新表生成操作可与存储介质200的写入操作并行执行。51.诸如从存储介质200中读取l2p段的读取操作的、需要访问存储介质200的l2p更新操作需要在完成诸如对存储介质200的写入操作的、对存储介质200的先前访问之后执行,但是可不考虑存储介质200的写入操作的完成而执行不需要访问存储介质200的预更新表生成操作。此外,如稍后将描述的,为了生成更新表,需要逐一检查多个p2l条目的进程,这需要较长的时间。这种检查进程可在预更新表生成操作中进行处理。因此,使用用于完成存储介质200的写入操作的等待时间可有效地减少运行映射管理操作所花费的总时间。52.存储器130是工作存储器,并且可存储软件程序和各种操作数据。存储器可包括易失性存储器装置。易失性存储器装置可包括动态随机存取存储器(dram)或静态随机存取存储器(sram)。53.图2是示出根据本公开的实施例的针对存储器130的分配的示图。54.参照图2,存储器130可包括l2p存储器部分l2pm、p2l存储器部分p2lm、预更新表存储器部分prem和原始更新表存储器部分orgm。55.l2p存储器部分l2pm可用于存储l2p条目。p2l存储器部分p2lm可用于存储p2l条目。预更新表存储器部分prem可用于存储预更新表。原始更新表存储器部分orgm可用于存储原始更新表。56.存储器部分l2pm、p2lm、prem和orgm可位于一个存储器装置或多个分开的存储器装置中。57.重新参照图1,存储介质200可包括多个存储器区域mr0至mrn。存储器区域中的每一个可以是在存储介质200中执行擦除操作的单位。也就是说,存储器区域中存储的数据可被一起擦除。例如,存储器区域可以是单个非易失性存储器装置中包括的存储块。作为另一示例,存储器区域可以是分别包括在多个非易失性存储器装置中的并且可并行访问的一组存储块。例如,存储器区域中的每一个可以是超级块。58.存储器区域中的每一个可包括分别对应于连续物理地址的多个存储器单元。存储器单元中的每一个可以是在存储介质200中执行写入操作或读取操作的单位。控制器100可以以物理地址的顺序将数据存储在存储器单元中。例如,存储器单元中的每一个可以是页面。59.存储介质200可包括一个或多个非易失性存储器装置。非易失性存储器装置可包括诸如nand闪存或nor闪存的闪速存储器装置、铁电随机存取存储器(feram)、相变随机存取存储器(pcram)、磁性随机存取存储器(mram)或电阻式随机存取存储器(reram)。60.图3是示出根据本公开的实施例的l2p表(l2pt)的示图。61.参照图3,l2pt可包括分别对应于逻辑地址la0至lai的多个l2p条目。l2p条目中的每一个可指示数据的逻辑地址与存储该数据的存储器单元的物理地址之间的映射信息。例如,l2pt可包括物理地址pa,物理地址pa使用连续的逻辑地址la0至lai作为索引,并且分别被映射到逻辑地址la0至lai。逻辑地址la0至lai可以是对应于由主机装置传输的数据的地址。逻辑地址la0至lai可以是供主机装置访问存储器系统10使用的地址。62.当存储器130的容量非常小时,或者为了有效地使用存储器,整个l2pt可能被保持在存储介质200中,并且在存储器130中仅可参照l2pt的一些。在这种情况下,控制器100可以以给定的段为单位来加载l2pt。也就是说,当试图更新l2p条目时,控制器100可将包括l2p条目的所有l2p段读取到存储器130中。63.例如,控制器100可以以100来对逻辑地址la0至lai进行连续分割,将逻辑地址la0至lai分成l2p段sg0至sgj。例如,逻辑地址la0至逻辑地址la99可构成l2p段sg0。逻辑地址la100至逻辑地址la199可构成l2p段sg1。64.通过连续的逻辑地址(即,索引)来参照l2p段。因此,可通过参照l2p段容易地检查特定的逻辑地址已经被映射到哪个物理地址。65.图4是示出根据本公开的实施例的存储器区域mr0的p2l表p2lt_mr0的示图。66.参照图4,存储器区域mr0的p2l表p2lt_mr0可包括分别对应于物理地址pa0至pak的多个p2l条目。p2l条目中的每一个可指示相应的物理地址与该相应的物理地址的存储器单元中存储的数据的逻辑地址之间的映射信息。例如,p2l表p2lt_mr0可包括逻辑地址la,逻辑地址la使用存储器区域mr0中包括的存储器单元的连续的物理地址pa0至pak作为索引,并且被映射到连续的物理地址pa0至pak。67.通过连续的物理地址pa0至pak(即,索引)来参照p2l表p2lt_mr0。因此,通过参照p2l表p2lt_mr0,可容易地检查特定的物理地址被映射到哪个逻辑地址。因此,如将参照图5描述的,在执行存储介质200的写入操作的同时,可首先生成包括物理地址的p2l条目,并且可基于该p2l条目来更新l2p条目。68.图5是描述根据本公开的实施例的l2p更新操作的示图。69.参照图5,通过l2p更新操作,l2p更新组件122可基于p2l条目来更新l2p条目。70.具体地,存储器130的p2l存储器部分p2lm可存储与目标存储器区域mr0的物理地址pa0和pa1相对应的p2l条目。在先前的映射管理操作完成之后当前的映射管理操作被触发之前,可生成分别包括物理地址pa0和pa1的p2l条目。71.l2p更新组件122可首先参照包括物理地址pa0的p2l条目来识别逻辑地址la50,可将包括具有逻辑地址la50的l2p条目的l2p段sg0从存储介质200读取到存储器130的l2p存储器部分l2pm,并且可更新包括逻辑地址la50的l2p条目,使得物理地址pa0被映射到l2p段sg0中的逻辑地址la50。类似地,l2p更新组件122可参照包括物理地址pa1的p2l条目来识别逻辑地址la230,可将包括具有逻辑地址la230的l2p条目的l2p段sg2从存储介质200读取到存储器130的l2p存储器部分l2pm,并且可更新包括逻辑地址la230的l2p条目,使得物理地址pa1被映射到l2p段sg2中的逻辑地址la230。l2p更新组件122可将更新后的l2p段sg0和sg2再次存储在存储介质200中。72.根据实施例,当存储器130的p2l存储器部分p2lm充满p2l条目时,可触发映射管理操作。也就是说,在映射管理操作中,当更新l2p条目以并入最新信息时,p2l存储器部分p2lm中的p2l条目不再是必需的,并且p2l存储器部分p2lm可用于存储新的p2l条目。73.此外,当p2l存储器部分p2lm的容量较小时,p2l存储器部分p2lm可不存储目标存储器区域mr0的整个p2l表p2lt_mr0,诸如图3所示,而是通过在p2l存储器部分p2lm中存储针对物理地址pa0和pa1的部分p2l表pp2lt1_mr0来充满p2l条目。在这种情况下,在基于部分p2l表pp2lt1_mr0执行l2p更新操作之后,p2l存储器部分p2lm可存储来自p2l条目的包括目标存储器区域mr0的下一物理地址pa2的p2l条目。74.当在存储介质200对物理地址pa1的存储器单元正在执行写入操作的同时映射管理操作被触发时,可在存储介质200的写入操作完全执行之后执行l2p更新操作,以防止由映射不匹配等导致的错误。在从存储介质200接收到关于写入操作成功的报告之后,l2p更新组件122可基于部分p2l表pp2lt1_mr0来执行l2p更新操作。如果接收到关于针对物理地址pa1的写入操作失败的报告,则写入组件110可控制存储介质200以对另一物理地址再次执行写入操作。在存储介质200的写入操作成功之前,即使映射管理操作被触发,l2p更新组件122也可不执行l2p更新操作。75.图6是描述根据本公开的实施例的更新表ut_mr0的示图。76.图6示出存储器区域mr0的更新表ut_mr0。更新表ut_mr0的格式可表示预更新表和原始更新表中的每一个的格式。更新表ut_mr0可包括分别在存储介质200中存储的所有l2p段sg0至sgj的更新状态。更新状态中的每一个可指示相应的l2p段是否被更新。l2p段是否被更新可取决于l2p段是否包括具有存储器区域mr0中存储的数据的逻辑地址的l2p条目。更新状态中的每一个可指示相应的l2p段是否由于存储器区域mr0中存储的数据而已经被更新。77.更新表ut_mr0不限于这样的示例,并且可以是由与所有l2p段sg0至sgj的数量相对应的位构成的位图。例如,当l2p段sg0的更新状态是第一状态或设置状态(setstate),即“1”时,这可意为l2p段sg0包括具有存储器区域mr0中存储的数据的逻辑地址的l2p条目。类似地,当l2p段sg2的更新状态是设置状态时,这可意为l2p段sg2包括具有存储器区域mr0中存储的数据的逻辑地址的l2p条目。这样的状态对应于如图5所示的l2p段sg0和sg2的更新结果。78.此外,例如,当l2p段sg1的更新状态是第二状态或清除状态(clearstate),即“0”时,这可意为l2p段sg1不包括具有存储器区域mr0中存储的数据的逻辑地址的l2p条目。79.可在存储器区域mr0充满数据之后最终完成更新表ut_mr0。通过参照最终更新表ut_mr0,可以检查所有l2p段sg0至sgj之中的包括存储器区域mr0中存储的数据的l2p条目的l2p段。80.存储介质200的存储器区域mr0至mrn之中存储数据的存储器区域可具有与更新表ut_mr0具有相同格式的更新表。81.图7是描述根据本公开的实施例的参照更新表ut_mr0来执行垃圾收集操作的方法的示图。82.参照图7,当存储器区域mr0充满数据并且然后被选择作为垃圾收集操作的牺牲品时,可通过垃圾收集操作将存储器区域mr0中存储的数据之中的有效数据移动到另一存储器区域。因此,需要首先确定存储器区域mr0中存储的数据是有效数据还是无效数据。存储器区域mr0的更新表ut_mr0可用于确定这种有效数据。具体地,可通过以下方法来识别存储器区域mr0中存储的有效数据:参照更新表ut_mr0来识别具有设置状态的更新状态的l2p段;从存储介质200中读取所识别出的l2p段;并且检查所读取的l2p段中包括的l2p条目中的存储器区域mr0的物理地址。83.更具体地,当参照更新表ut_mr0时,l2p段sg0的更新状态是设置状态。因此,控制器100可知道该l2p段sg0包括具有存储器区域mr0中存储的数据的逻辑地址的l2p条目。84.因此,控制器100可将l2p段sg0从存储介质200读取到存储器130的l2p存储器部分l2pm中,并且可参照l2p段sg0的l2p条目来识别存储器区域mr0的物理地址。例如,包括逻辑地址la50的l2p条目包括存储器区域mr0的被映射到逻辑地址la50的物理地址pa0。因此,控制器100可确定物理地址pa0的存储器单元中存储的数据是有效数据。85.也就是说,当存储器区域mr0被选择作为垃圾收集操作的牺牲品时,需要参照分别包括存储器区域mr0中存储的数据的所有逻辑地址的l2p条目。在这种情况下,通过参照更新表ut_mr0,可容易地识别包括所需l2p条目的l2p段。因此,如果参照更新表ut_mr0,则因为没有必要搜索所有的l2p段sg0至sgj而可提高垃圾收集操作的性能。86.图8是描述根据本公开的实施例的预更新表生成操作和原始更新表生成操作的示图。如上所述,在预更新表生成操作和原始更新表生成操作之间需要执行l2p更新操作,但是为了易于理解,在图8中省略了执行l2p更新操作的进程。87.参照图8,在时刻t1,触发传感器121可确定已经触发映射管理操作。根据实施例,当触发映射管理操作时,可初始化存储器130的预更新表存储器部分prem和原始更新表存储器部分orgm以存储任意初始值。88.在时刻t1,目标存储器区域mr0的部分p2l表pp2lt1_mr0可存在于存储器130的p2l存储器部分p2lm中。部分p2l表pp2lt1_mr0可包括分别具有物理地址pa0和pa1的p2l条目。在先前的映射管理操作完成之后当前的映射管理操作被触发之前,可生成部分p2l表pp2lt1_mr0。89.在操作s11,预更新表生成器123可基于部分p2l表pp2lt1_mr0在存储器130的预更新表存储器部分prem中生成预更新表preut1_mr0。预更新表preut1_mr0可分别包括在先前的映射管理操作完成时和当前的映射管理操作被触发时之间的期限内的所有l2p段sg0至sgj的预更新状态。预更新状态中的每一个可指示相应的l2p段是否被更新。l2p段是否被更新可取决于l2p段是否包括具有部分p2l表pp2lt1_mr0的p2l条目的任意一个中包括的逻辑地址的l2p条目。具体地,当l2p段包括具有部分p2l表pp2lt1_mr0的p2l条目的任意一个中包括的逻辑地址的l2p条目时,l2p段的预更新状态可被设置为第一状态。当l2p段不包括具有部分p2l表pp2lt1_mr0的p2l条目的任意一个中包括的逻辑地址的任何l2p条目时,l2p段的预更新状态可被设置为第二状态。预更新表preut1_mr0可被生成为具有与例如图7的更新表ut_mr0相同的形式和大小,并且可以例如是由与所有l2p段sg0至sgj的数量相对应的位构成的位图。90.例如,当包括物理地址pa0的p2l条目包括逻辑地址la50时,包括逻辑地址la50的l2p条目被包括在l2p段sg0中。因此,预更新表生成器123可将l2p段sg0的预更新状态设置为设置状态,即“1”。此外,当包括物理地址pa1的p2l条目包括逻辑地址la230时,包括逻辑地址la230的l2p条目被包括在l2p段sg2中。因此,预更新表生成器123可将l2p段sg2的预更新状态设置为设置状态,即“1”。此外,预更新表生成器123可将所有l2p段sg0至sgj之中除l2p段sg0和sg2之外的剩余l2p段的预更新状态设置为清除状态,即“0”。91.在操作s12,原始更新表生成器124可将预更新表preut1_mr0存储在存储介质200中,作为目标存储器区域mr0的原始更新表orgut1_mr0。也就是说,当预更新表preut1_mr0首先相对于目标存储器区域mr0生成时,预更新表preut1_mr0可成为目标存储器区域mr0的第一原始更新表。预更新表preut1_mr0可直接从存储器130的预更新表存储器部分prem中移动到存储介质200。因此,可完成第一映射管理操作。92.在时刻t2,触发传感器121可确定映射管理操作已经被触发。93.在时刻t2,目标存储器区域mr0的部分p2l表pp2lt2_mr0可存在于存储器130的p2l存储器部分p2lm中。部分p2l表pp2lt2_mr0可以是在部分p2l表pp2lt1_mr0之后生成的。部分p2l表pp2lt2_mr0可包括分别具有物理地址pa2和pa3的p2l条目。在先前的映射管理操作完成之后,例如在操作s12之后,在当前的映射管理操作被触发之前,可生成部分p2l表pp2lt2_mr0。94.在操作s21处,如在操作s11处,预更新表生成器123可基于部分p2l表pp2lt2_mr0在存储器130的预更新表存储器部分prem中生成预更新表preut2_mr0。预更新表preut2_mr0的预更新状态中的每一个可指示相应的l2p段是否被更新。l2p段是否被更新可取决于l2p段是否包括具有部分p2l表pp2lt2_mr0的p2l条目的任意一个中包括的逻辑地址的l2p条目。95.在操作s22处,原始更新表生成器124可从存储介质200读取在先前的映射管理操作中生成的原始更新表orgut1_mr0。原始更新表orgut1_mr0可被读取到存储器130的原始更新表存储器部分orgm中。96.在操作s23处,原始更新表生成器124可通过合并预更新表preut2_mr0和原始更新表orgut1_mr0来生成新的原始更新表orgut2_mr0。原始更新表生成器124可通过对预更新表preut2_mr0和原始更新表orgut1_mr0执行逐位or运算来生成新的原始更新表orgut2_mr0。新的原始更新表orgut2_mr0可存储在原始更新表存储器部分orgm中。97.因此,在相对于目标存储器区域mr0的先前的映射管理操作中生成的原始更新表orgut1_mr0指示在触发先前的映射管理操作之前,哪些l2p段因目标存储器区域mr0中存储的数据而被更新。预更新表preut2_mr0指示在先前的映射管理操作完成之后当前的映射管理操作被触发之前,哪些l2p段因目标存储器区域mr0中存储的数据而被更新。因此,合并了原始更新表orgut1_mr0和预更新表preut2_mr0的新的原始更新表orgut2_mr0可指示在当前的映射管理操作被触发之前,因目标存储器区域mr0中存储的数据而被更新的l2p段。98.在操作s24处,原始更新表生成器124可将新的原始更新表orgut2_mr0存储在存储介质200中。也就是说,可将新的原始更新表orgut2_mr0从原始更新表存储器部分orgm移动到存储介质200。因此,可终止第二映射管理操作。99.此后,当相对于目标存储器区域mr0生成部分p2l表pp2lt2_mr0之后的新的部分p2l表时,预更新表生成器123和原始更新表生成器124可重复如操作s21至s24中的操作。在生成了包括目标存储器区域mr0的最后的物理地址(例如,图4的pak)的p2l条目之后,将会生成针对目标存储器区域mr0的最终更新表(例如,图7的ut_mr0),并且基于最后的p2l条目类似地重复操作s21至s24。100.根据实施例,在操作s12处,可将预更新表preut1_mr0从存储器130的预更新表存储器部分prem移动到存储器130的原始更新表存储器部分orgm,并且可从原始更新表存储器部分orgm移动到存储介质200。此时,原始更新表生成器124可对预更新表preut1_mr0和原始更新表存储器部分orgm中存储的初始值(即,“0”)执行逐位or运算,并且可将运算结果(即,预更新表preut1_mr0)存储在原始更新表存储器部分orgm中,而不进行任何改变。101.如上所述,在本公开的实施例中,操作s21处的预更新表生成操作和操作s22至s24处的原始更新表生成操作分开的原因是,不考虑存储介质200的写入操作的完成,都在操作s21处执行预更新表生成操作。例如,当在存储介质200对物理地址pa3正在执行写入操作的同时触发了映射管理操作时,例如,在完全执行存储介质200的写入操作之后,需要执行l2p更新操作,但是在操作s21的预更新表生成操作可安全地与写入操作并行执行,而无需等待写入操作完成。也就是说,因为不考虑对物理地址pa3的写入操作的结果,已经生成部分p2l表pp2lt2_mr0,所以在操作s21处基于部分p2l表pp2lt2_mr0的预更新表生成操作可以不受到存储介质200的写入操作的结果的影响。102.此外,因为在预更新表生成操作中需要逐个检查部分p2l表pp2lt2_mr0中包括的p2l条目,所以在操作s21处的预更新表生成操作可能比在操作s23处简单地执行逐位or运算需要相对更长的时间。根据本公开的实施例,通过在执行存储介质200的写入操作的同时,在操作s21处预先执行需要相对较长时间的预更新表生成操作,可快速完成整个映射管理操作。103.图9a和图9b是描述根据本公开的实施例的执行映射管理操作的方法的示图。104.图9a示出首先触发相对于目标存储器区域的映射管理操作情况。在这种情况下,在映射管理操作被触发的时刻,先前相对于目标存储器区域生成的原始更新表可能不存在于存储介质200中。105.可顺序地执行操作s101至s106,但是可并行执行操作s109与操作s103。106.在操作s101处,写入组件110可控制存储介质200以对目标存储器区域的目标存储器单元执行写入操作。例如,写入组件110可向存储介质200传输针对目标存储器单元的写入命令。此外,写入组件110可生成包括目标存储器单元的物理地址的p2l条目。所生成的p2l条目可被列入目标存储器区域的部分p2l表中。107.在操作s109处,存储介质200可在写入组件110的控制下对目标存储器区域的目标存储器单元执行写入操作。108.在操作s102处,触发传感器121可确定已经触发映射管理操作。如果尚未触发映射管理操作,则可不执行操作s103至s106的映射管理操作。109.在操作s103处,当存储介质200执行写入操作时,预更新表生成器123可基于目标存储器区域的部分p2l表来生成对应于目标存储器区域的预更新表。例如,预更新表生成器123可如图8的操作s11那样操作。110.在操作s104处,存储介质200可向控制器100报告写入操作成功。111.在操作s105处,l2p更新组件122可基于目标存储器区域的部分p2l表来执行l2p更新操作。例如,l2p更新组件122可如上面参照图5所描述的那样操作。112.在操作s106处,因为存储介质200中不存在先前相对于目标存储器区域生成的原始更新表,所以原始更新表生成器124可将预更新表存储在存储介质200中作为目标存储器区域的原始更新表。例如,原始更新表生成器124可如图8的操作s12中那样操作。113.图9b示出在图9a之后对目标存储器区域执行映射管理操作的情况。在这种情况下,在触发映射管理操作的时刻,在相对于目标存储器区域的在先前的映射管理操作中生成的原始更新表可存在于存储介质200中。114.参照图9b,操作s201至s205和s209可分别与图9a的操作s101至s105和s109相同。115.在操作s206,原始更新表生成器124可从存储介质200读取对应于目标存储器区域的原始更新表。例如,原始更新表生成器124可如图8的操作s22中那样操作。116.在操作s207处,原始更新表生成器124可通过合并原始更新表和在操作s203处生成的预更新表来生成新的原始更新表。例如,原始更新表生成器124可如图8的操作s23中那样操作。117.在操作s208处,原始更新表生成器124可将新的原始更新表存储在存储介质200中。例如,原始更新表生成器124可如图8的操作s24中那样操作。118.根据实施例,p2l存储器部分p2lm可存储多个目标存储器区域的部分p2l表。例如,写入组件110可同时使用存储介质200的多个目标存储器区域来将不同类型的数据存储在不同的存储器区域中,或者出于各种原因进行。在这种情况下,可在p2l存储器部分p2lm中生成分别与正在存储数据的多个目标存储器区域相对应的部分p2l表。因此,当触发映射管理操作时,映射管理器120可基于相应的部分p2l表对多个目标存储器区域中的每一个执行映射管理操作。特别地,即使当触发映射管理操作时存储介质200对任意目标存储器区域正在执行写入操作,但预更新表生成器123也可生成与多个目标存储器区域中的每一个相对应的预更新表。119.图10是示出根据本公开的实施例的包括固态驱动器(ssd)1200的数据处理系统1000的示图。参照图10,数据处理系统1000可包括主机装置1100和ssd1200。120.ssd1200可包括控制器1210、缓冲存储器装置1220、多个非易失性存储器装置1231至123n、电源1240、信号连接器1250和电源连接器1260。121.控制器1210可控制ssd1200的一般操作。控制器1210可包括主机接口1211、控制单元1212、随机存取存储器1213、错误校正码(ecc)组件1214和存储器接口1215。122.主机接口1211可通过信号连接器1250与主机装置1100交换信号sgl。信号sgl可包括命令、地址、数据等。主机接口1211可根据主机装置1100的协议接口连接主机装置1100和ssd1200。例如,主机接口1211可通过诸如以下的标准接口协议中的任意一种与主机装置1100通信:安全数字、通用串行总线(usb)、多媒体卡(mmc)、嵌入式mmc(emmc)、个人计算机存储卡国际协会(pcmcia)、并行高级技术附件(pata)、串行高级技术附件(sata)、小型计算机系统接口(scsi)、串列scsi(sas)、外围组件互连(pci)、高速pci(pci-e)和通用闪存(ufs)。123.控制单元1212可分析和处理从主机装置1100接收的信号sgl。控制单元1212可根据用于驱动ssd1200的固件或软件来控制内部功能块的操作。随机存取存储器1213可用作用于驱动这种固件或软件的工作存储器。124.控制单元1212可包括图1所示的写入组件110和映射管理器120。随机存取存储器1213可包括图1所示的存储器130。125.ecc组件1214可生成待传输到非易失性存储器装置1231至123n中的至少一个的数据的奇偶校验数据。所生成的奇偶校验数据可与数据一起存储在非易失性存储器装置1231至123n中。ecc组件1214可基于奇偶校验数据来检测从非易失性存储器装置1231至123n中的至少一个中读取的数据的错误。如果检测到的错误在可校正范围内,则ecc组件1214可校正所检测到的错误。126.存储器接口1215可根据控制单元1212的控制将诸如命令和地址的控制信号提供到非易失性存储器装置1231至123n中的至少一个。此外,存储器接口1215可根据控制单元1212的控制与非易失性存储器装置1231至123n中的至少一个交换数据。例如,存储器接口1215可将缓冲存储器装置1220中存储的数据提供到非易失性存储器装置1231至123n中的至少一个,或者将从非易失性存储器装置1231至123n中的至少一个中读取的数据提供到缓冲存储器装置1220。127.缓冲存储器装置1220可临时存储待存储在非易失性存储器装置1231至123n的至少一个中的数据。进一步地,缓冲存储器装置1220可临时存储从非易失性存储器装置1231至123n的至少一个中读取的数据。临时存储在缓冲存储器装置1220中的数据可根据控制器1210的控制而被传输到主机装置1100或者非易失性存储器装置1231至123n中的至少一个。128.非易失性存储器装置1231至123n可用作ssd1200的存储介质。非易失性存储器装置1231至123n可分别通过多个通道ch1至chn与控制器1210联接。一个或多个非易失性存储器装置可联接到一个通道。联接到每个通道的非易失性存储器装置可联接到相同的信号总线和数据总线。129.电源1240可将通过电源连接器1260输入的电力pwr提供到ssd1200的内部。电源1240可包括辅助电源1241。当发生突然断电时,辅助电源1241可供应电力以允许ssd1200正常地终止。辅助电源1241可包括大容量电容器。130.根据主机装置1100与ssd1200之间的接口连接方案,可通过各种类型的连接器配置信号连接器1250。131.根据主机装置1100的电力供应方案,可通过各种类型的连接器配置电源连接器1260。132.图11是示出根据本公开的实施例的包括存储器系统2200的数据处理系统2000的示图。参照图11,数据处理系统2000可包括主机装置2100和存储器系统2200。133.主机装置2100可以诸如印刷电路板的板的形式来配置。尽管未示出,但主机装置2100可包括用于执行主机装置的功能的内部功能块。134.主机装置2100可包括诸如插座、插槽或连接器的连接端子2110。存储器系统2200可被安装到连接端子2110。135.存储器系统2200可以诸如印刷电路板的板的形式来配置。存储器系统2200可被称为存储器模块或存储卡。存储器系统2200可包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231和2232、电源管理集成电路(pmic)2240和连接端子2250。136.控制器2210可控制存储器系统2200的一般操作。控制器2210可以与图10所示的控制器1210相同的方式来配置。137.缓冲存储器装置2220可临时存储待存储在非易失性存储器装置2231和2232中的数据。此外,缓冲存储器装置2220可临时存储从非易失性存储器装置2231和2232中读取的数据。临时存储在缓冲存储器装置2220中的数据可根据控制器2210的控制被传输到主机装置2100或非易失性存储器装置2231和2232。138.非易失性存储器装置2231和2232可用作存储器系统2200的存储介质。139.pmic2240可将通过连接端子2250输入的电力提供到存储器系统2200的内部。pmic2240可根据控制器2210的控制来管理存储器系统2200的电力。140.连接端子2250可联接到主机装置2100的连接端子2110。通过连接端子2250,可在主机装置2100与存储器系统2200之间传送诸如命令、地址、数据等的信号和电力。连接端子2250可根据主机装置2100与存储器系统2200之间的接口连接方案而被配置成各种类型。连接端子2250可设置在存储器系统2200的任意一侧上。141.图12是示出根据本公开的实施例的包括存储器系统3200的数据处理系统3000的示图。参照图12,数据处理系统3000可包括主机装置3100和存储器系统3200。142.主机装置3100可以诸如印刷电路板的板的形式来配置。尽管未示出,但主机装置3100可包括用于执行主机装置的功能的内部功能块。143.存储器系统3200可以表面安装型封装的形式来配置。存储器系统3200可通过焊球3250安装到主机装置3100。存储器系统3200可包括控制器3210、缓冲存储器装置3220和非易失性存储器装置3230。144.控制器3210可控制存储器系统3200的一般操作。控制器3210可以与图10所示的控制器1210相同的方式来配置。145.缓冲存储器装置3220可临时存储待存储在非易失性存储器装置3230中的数据。此外,缓冲存储器装置3220可临时存储从非易失性存储器装置3230读取的数据。根据控制器3210的控制,临时存储在缓冲存储器装置3220中的数据可被传输到主机装置3100或非易失性存储器装置3230。146.非易失性存储器装置3230可用作存储器系统3200的存储介质。147.图13是示出根据本公开的实施例的包括存储器系统4200的网络系统4000的框图。参照图13,网络系统4000可包括通过网络4500联接的服务器系统4300和多个客户端系统4410至4430。148.服务器系统4300可响应于来自多个客户端系统4410至4430的请求来服务数据。例如,服务器系统4300可存储从多个客户端系统4410至4430提供的数据。再例如,服务器系统4300可将数据提供到多个客户端系统4410至4430。149.服务器系统4300可包括主机装置4100和存储器系统4200。存储器系统4200可由图1所示的存储器系统10、图10所示的ssd1200、图11所示的存储器系统2200或图12所示的存储器系统3200来配置。150.图14是示出根据本公开的实施例的存储器系统中包括的非易失性存储器装置300的框图。参照图14,非易失性存储器装置300可包括存储器单元阵列310、行解码器320、数据读取/写入块330、列解码器340、电压生成器350和控制逻辑360。151.存储器单元阵列310可包括布置在字线wl1至wlm和位线bl1至bln彼此相交的区域处的存储器单元mc。152.行解码器320可通过字线wl1至wlm与存储器单元阵列310联接。行解码器320可根据控制逻辑360的控制来操作。行解码器320可对从外部装置(未示出)提供的地址进行解码。行解码器320可基于解码结果来选择和驱动字线wl1至wlm。例如,行解码器320可将从电压生成器350提供的字线电压提供到字线wl1至wlm。153.数据读取/写入块330可通过位线bl1至bln与存储器单元阵列310联接。数据读取/写入块330可包括分别对应于位线bl1至bln的读取/写入电路rw1至rwn。数据读取/写入块330可根据控制逻辑360的控制来操作。数据读取/写入块330可根据操作模式作为写入驱动器或读出放大器来操作。例如,在写入操作中,数据读取/写入块330可作为将从外部装置提供的数据存储在存储器单元阵列310中的写入驱动器来操作。再例如,在读取操作中,数据读取/写入块330可作为从存储器单元阵列310读出数据的读出放大器来操作。154.列解码器340可根据控制逻辑360的控制来操作。列解码器340可对从外部装置提供的地址进行解码。列解码器340可基于解码结果来将数据读取/写入块330的分别对应于位线bl1至bln的读取/写入电路rw1至rwn与数据输入/输出线或数据输入/输出缓冲器联接。155.电压生成器350可生成将用于非易失性存储器装置300的内部操作中的电压。由电压生成器350生成的电压可被施加到存储器单元阵列310的存储器单元。例如,在编程操作中生成的编程电压可被施加到待执行编程操作的存储器单元的字线。再例如,在擦除操作中生成的擦除电压可被施加到待执行擦除操作的存储器单元的阱区域。又例如,在读取操作中生成的读取电压可被施加到待执行读取操作的存储器单元的字线。156.控制逻辑360可基于从外部装置提供的控制信号来控制非易失性存储器装置300的一般操作。例如,控制逻辑360可控制非易失性存储器装置300的操作,诸如非易失性存储器装置300的读取操作、写入操作和擦除操作。157.根据本公开的实施例的存储器系统及其操作方法可有效地执行映射管理操作。158.虽然为了说明的目的已经描述各个实施例,但是对于本领域技术人员将显而易见的是,在不脱离如所附权利要求中限定的本公开的精神和范围的情况下,可以进行各种改变和变型。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1