数据存储装置及其操作方法与流程

文档序号:15216155发布日期:2018-08-21 16:53阅读:158来源:国知局

本申请要求于2017年2月9日向韩国知识产权局提交的申请号为10-2017-0018084的韩国申请的优先权,其全部内容通过引用并入本文。

各个实施例总体涉及一种数据存储装置,并且更特别地,涉及一种包括非易失性存储器装置的数据存储装置。



背景技术:

数据存储装置响应于写入请求存储由外部装置提供的数据。数据存储装置还可响应于读取请求将存储的数据提供给外部装置。使用数据存储装置的外部装置的示例包括计算机、数码相机、移动电话等。数据存储装置可在外部装置的制造期间被嵌入在外部装置中,或者可被单独制造,并且然后连接到外部装置。



技术实现要素:

在实施例中,数据存储装置可包括:非易失性存储器装置;以及控制器,其适于基于非易失性存储器装置的预留空间比率来设置垃圾收集操作的终止条件、执行垃圾收集操作并且根据终止条件终止垃圾收集操作。

在实施例中,数据存储装置可包括:非易失性存储器装置;以及控制器,其适于根据非易失性存储器装置的预留空间比率来产生非易失性存储器装置的空闲存储块。

在实施例中,用于操作数据存储装置的方法可包括:基于非易失性存储器装置的预留空间比率来设置垃圾收集操作的终止条件;执行垃圾收集操作;以及根据终止条件终止垃圾收集操作。

附图说明

通过参照附图描述本发明的各个实施例,本发明的上述和其它特征及优点对本发明所属领域的技术人员将变得更加显而易见,其中:

图1是示出根据实施例的数据存储装置的框图,

图2是示出图1的垃圾收集单元的垃圾收集操作的简图,

图3是示出用于基于预留空间比率设置垃圾收集操作的终止条件的方法的简图,

图4是示出用于根据预留空间比率的变化来重置垃圾收集操作的终止条件的方法的简图,

图5是示出用于操作图1的数据存储装置的方法的流程图,

图6是示出根据实施例的固态驱动器(ssd)的框图,以及

图7是示出应用了根据实施例的数据存储装置的数据处理系统的框图。

具体实施方式

在下文中,将通过本发明的示例性实施例参照附图来描述根据本发明的数据存储装置及其操作方法。然而,本发明可以不同的形式体现,并不应被解释为限制于本文所阐述的实施例。相反,提供这些实施例以详细地描述本发明至本发明所属领域的技术人员能够实施本发明的技术构思的程度。

将理解的是,本发明的实施例不限于附图中所示的细节,附图不一定按比例绘制,在一些情况下,可能夸大了比例以更清楚地描绘本发明的某些特征。虽然使用了特定术语,但是应当理解,所使用的术语仅用于描述特定实施例,而不旨在限制本发明的范围。

将进一步理解的是,当元件被称为“连接到”或“联接到”另一元件时,其可直接在其它元件上、连接到或联接到其它元件,或者可存在一个或多个中间元件。此外,还将理解的是,当元件被称为在两个元件“之间”时,其可以是两个元件之间的唯一元件,或者也可存在一个或多个中间元件。

当短语“……和……中的至少一个”与项目列表在本文中使用时,其表示列表中的单个项目或列表中项目的任何组合。例如,“a、b和c中的至少一个”表示仅a或仅b或仅c,或a、b和c的任何组合。

本文所使用的术语“或”是指两种或更多种替代物中的任一种,但既不是其两者也不是其任何组合。

如本文所使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其说明所陈述元件的存在,但不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和全部组合。

除非另有定义,否则本文使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员基于本公开所通常理解的含义相同的含义。将进一步理解的是,诸如在常用字典中定义的那些术语的术语应当被解释为具有与其在本公开的上下文中和相关技术中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文中明确地这样定义。

在下面的描述中,为了提供对本发明的全面理解,描述了大量的具体细节。可在没有一些或全部这些具体细节的情况下实施本发明。在其它情况下,为了不使本发明被不必要地模糊,未详细地描述公知的进程结构和/或进程。

还应注意的是,在一些情况下,对于相关领域的技术人员显而易见的是,除非另有特别说明,否则结合一个实施例描述的也被称为特征的元件可以单独使用或与另一实施例的其它元件结合使用。

在下文中,将参照附图详细描述本发明的各个实施例。

图1是示出根据实施例的数据存储装置10的框图。

数据存储装置10可响应于来自外部装置的写入请求,存储从外部装置提供的数据。此外,数据存储装置10可响应于来自外部装置的读取请求,将存储的数据提供给外部装置。

数据存储装置10可以以下的形式来制备:个人计算机存储卡国际协会(pcmcia)卡、标准闪存(cf)卡、智能媒体卡、记忆棒、各种多媒体卡(例如、mmc、emmc、rs-mmc和微型-mmc)、各种安全数字卡(例如sd、迷你-sd和微型-sd)、通用闪存(ufs)、固态驱动器(ssd)等。

数据存储装置10可包括控制器100和非易失性存储器装置201至20n。

控制器100可控制数据存储装置10的一般操作。控制器100可响应于从外部装置传输的写入请求,将数据存储在非易失性存储器装置201至20n中,并且可响应于从外部装置传输的读取请求,读取存储在非易失性存储器装置201至20n中的数据并且将读取的数据输出到外部装置。

控制器100可包括预留空间管理单元110和垃圾收集单元120。

预留空间管理单元110可管理各个非易失性存储器装置201至20n的预留空间区域。例如,对于非易失性存储器装置201,预留空间管理单元110可管理表示预留空间区域op相对于整个存储器区域211的比率的预留空间比率。例如,预留空间管理单元110可根据来自外部装置的请求来调整预留空间比率。例如,预留空间管理单元110可通过用预留空间区域op替换非预留空间区域nop中的坏区域来调整预留空间比率。

垃圾收集单元120可基于预留空间比率来执行垃圾收集操作。详细地,垃圾收集单元120可基于预留空间比率来设置垃圾收集操作的终止条件,并且根据终止条件来终止垃圾收集操作。终止条件可与待对其执行垃圾收集操作的非易失性存储器装置的空闲存储块的数量相关联。垃圾收集单元120可基于预留空间比率来对非易失性存储器装置201至20n中的每一个执行垃圾收集操作。

如将在下面描述的,因为预留空间比率与非易失性存储器装置的寿命相关联,所以垃圾收集单元120可考虑非易失性存储器装置的寿命来执行垃圾收集操作。换言之,因为强效的垃圾收集在通过产生足够的空闲存储块来扩展可用存储容量的同时缩短了非易失性存储器装置的寿命,所以垃圾收集单元120可考虑非易失性存储器装置的寿命来适度地或强效地执行垃圾收集操作。因此,在本实施例中,可在确保非易失性存储器装置的寿命的同时使数据存储装置10的操作性能最大化。

根据控制器100的控制,非易失性存储器装置201至20n可存储从控制器100传输的数据,并且可以读取存储的数据并将读取的数据传输至控制器100。

当以非易失性存储器装置201为例进行说明时,非易失性存储器装置201可包括写入数据的存储器区域211。尽管未示出,但是存储器区域211可包括多个存储块。存储器区域211可被划分为非预留空间区域nop和预留空间区域op。

非预留空间区域nop可暴露于外部装置。即,外部装置可将非预留空间区域nop的容量视为非易失性存储器装置201的存储容量,并且将数据存储在非易失性存储器装置201中。

预留空间区域op可不暴露于外部装置,并且可被提供以用于数据存储装置10的管理操作。例如,预留空间区域op可被用于替换非预留空间区域nop的坏区域,并且用于垃圾收集单元120的垃圾收集操作。因此,预留空间区域op的容量可与非易失性存储器装置201的寿命相关联。通常,当预留空间区域op的容量或比率较大时,可进一步确保非易失性存储器装置201的寿命。

非易失性存储器装置可包括诸如nand闪存或nor闪存的闪速存储器、铁电随机存取存储器(feram)、相变随机存取存储器(pcram)、磁阻随机存取存储器(mram)、电阻式随机存取存储器(reram)等。

图2是示出垃圾收集单元120的垃圾收集操作的简图。

参照图2,例如,在非易失性存储器装置201中,待对其执行垃圾收集操作的脏存储块bk1可以正存储有有效数据dt12和dt13以及无效数据dt11、dt14和dt15。待对其执行垃圾收集操作的脏存储块bk2可以正存储有有效数据dt23和dt24以及无效数据dt21、dt22和dt25。

当对存储块bk1和bk2执行垃圾收集操作时,垃圾收集单元120可将存储在存储块bk1和bk2中的有效数据dt12、dt13、dt23和dt24复制到另一存储块bk3,并擦除存储块bk1和bk2。

因此,虽然在垃圾收集操作之前存储块bk1至bk3中存在一个空闲存储块bk3,但是在垃圾收集操作之后可存在两个空闲存储块bk1和bk2。也就是说,可执行垃圾收集操作以确保非易失性存储器装置201中的空闲存储块,从而增大可用数据存储容量。

可在满足预定开始条件时执行垃圾收集操作。例如,开始条件可以是当从外部装置提供写入请求时或者当空闲存储块的数量少于阈值数量时。

然而,因为垃圾收集操作包括如上所述的复制操作和擦除操作,所以垃圾收集操作的频繁执行可能加速存储器的损耗并缩短非易失性存储器装置的寿命。因此,有必要考虑非易失性存储器装置的寿命来执行垃圾收集操作。

图3是示出用于基于预留空间比率来设置垃圾收集操作的终止条件的方法的简图。

参照图3,不同的非易失性存储器装置201和202的预留空间比率rt11和rt12可以彼此不同。例如,非易失性存储器装置201的预留空间比率rt11可以小于非易失性存储器装置202的预留空间比率rt12。

在这种情况下,垃圾收集单元120可将非易失性存储器装置201中的空闲存储块的比率为3%设置成待对非易失性存储器装置201执行的垃圾收集操作的终止条件,并且将非易失性存储器装置202中的空闲存储块的比率为6%设置成待对非易失性存储器装置202执行的垃圾收集操作的终止条件。也就是说,垃圾收集单元120可在具有较大预留空间比率的非易失性存储器装置中设置较高的空闲存储块的比率作为待对该非易失性存储器装置执行的垃圾收集操作的终止条件。

根据小于预留空间比率rt12的预留空间比率rt11,非易失性存储器装置201可以具有比非易失性存储器装置202更短的寿命。因此,需要适度地执行对具有较小预留空间比率rt11的非易失性存储器装置201的垃圾收集操作,因此即使在产生相对较少数量的空闲存储块时,也需要终止垃圾收集操作。相反地,根据大于预留空间比率rt11的预留空间比率rt12,非易失性存储器装置202可以具有比非易失性存储器装置201更长的寿命。因此,需要强效地执行对具有较大预留空间比率rt12的非易失性存储器装置202的垃圾收集操作,因此在产生相对较大数量的空闲存储块时,需要终止垃圾收集操作。

图4是示出用于根据预留空间比率的变化来重置垃圾收集操作的终止条件的方法的简图。

参照图4,例如,在非易失性存储器装置201中,可改变预留空间比率。例如,在用预留空间区域op替换非预留空间区域nop中的坏区域ba时,预留空间比率可减少。在这种情况下,垃圾收集单元120可根据预留空间比率的变化来重置垃圾收集操作的终止条件。

在时间t1处,根据预留空间比率rt21,垃圾收集单元120可将空闲存储块的比率为3%设置为垃圾收集操作的终止条件。

在时间t2处,在非预留空间区域nop中可能出现坏区域ba。因此,可用存储容量可能会减少。

在时间t3处,预留空间管理单元110可通过将预留空间区域op的一部分转换成非预留空间区域nop来补充可用存储容量。当由于预留空间区域op转换成非预留空间区域nop,预留空间比率rt21变为预留空间比率rt22时,垃圾收集单元120可将垃圾收集操作的终止条件调整为空闲存储块的比率为1%。也就是说,当预留空间比率减少时,垃圾收集单元120可在具有减少的预留空间比率的非易失性存储器装置中设置较小的空闲存储块的比率作为待对该非易失性存储器装置执行的垃圾收集操作的终止条件。

当在图3和图4所示的实施例中,空闲存储块的比率被设置成垃圾收集操作的终止条件时,要注意的是,根据实施例,空闲存储块的数量可被设置成垃圾收集操作的终止条件。

图5是示出用于操作数据存储装置10的方法的流程图。

在步骤s110中,垃圾收集单元120可基于非易失性存储器装置201至20n中的每一个的预留空间比率来设置垃圾收集操作的终止条件。详细地,垃圾收集单元120可在具有较大的预留空间比率的非易失性存储器装置中设置较高的空闲存储块的比率作为待对该非易失性存储器装置执行的垃圾收集操作的终止条件。垃圾收集单元120可根据预留空间比率的变化来调整终止条件。

在步骤s120中,垃圾收集单元120可对非易失性存储器装置201至20n中的每一个执行垃圾收集操作,并根据步骤s110的终止条件来终止垃圾收集操作。垃圾收集单元120可执行垃圾收集操作,直到被设置成终止条件的空闲存储块的比率被满足。

图6是示出根据实施例的固态驱动器(ssd)1000的框图。

ssd1000可包括控制器1100和存储介质1200。

控制器1100可控制主机装置1500和存储介质1200之间的数据交换。控制器1100可包括经由内部总线1170可操作地联接的处理器1110、ram1120、rom1130、ecc单元1140、主机接口1150和存储介质接口1160。

处理器1110可控制控制器1100的一般操作。根据来自主机装置1500的数据处理请求,处理器1110可将数据存储在存储介质1200中,并且从存储介质1200读取存储的数据。为有效地管理存储介质1200,处理器1110可控制ssd1000的内部操作,例如合并操作、损耗均衡操作等。

处理器1110可以基本上相同的方式执行图1所示的预留空间管理单元110和垃圾收集单元120的操作。也就是说,处理器1110可管理各个非易失性存储器装置nvm0至nvmn的预留空间比率。此外,处理器1110可基于预留空间比率来设置对非易失性存储器装置nvm0至nvmn的每一个的垃圾收集操作的终止条件,并基于终止条件执行垃圾收集操作。处理器1110可设置终止条件,使得当预留空间比率较高时,在产生较大数量的空闲存储块之后终止垃圾收集操作。

ram1120可存储由处理器1110使用的程序和程序数据。ram1120可在将从主机接口1150传输的数据传送至存储介质1200之前临时存储从主机接口1150传输的数据,并且可在将从存储介质1200传输的数据传送至主机装置1500之前临时存储从存储介质1200传输的数据。

rom1130可存储待由处理器1110读取的程序代码。程序代码可包括待由处理器1110处理、用于处理器1110控制控制器1100的内部单元的命令。

ecc单元1140可对待被存储在存储介质1200中的数据进行编码,并可对从存储介质1200读取的数据进行解码。ecc单元1140可根据ecc算法检测并校正数据中出现的错误。

主机接口1150可与主机装置1500交换数据处理请求、数据等。

存储介质接口1160可将控制信号和数据传输至存储介质1200。存储介质接口1160可传输来自存储介质1200的数据。存储介质接口1160可通过多个通道ch0至chn与存储介质1200联接。

存储介质1200可包括多个非易失性存储器装置nvm0至nvmn。多个非易失性存储器装置nvm0至nvmn中的每一个可根据控制器1100的控制来执行写入操作和读取操作。

图7是示出应用了根据实施例的数据存储装置10的数据处理系统2000的框图。

数据处理系统2000可包括计算机、膝上型计算机、上网本、智能电话、数字tv、数码相机、导航仪等。数据处理系统2000可包括主处理器2100、主存储器装置2200、数据存储装置2300和输入/输出装置2400。数据处理系统2000的内部单元可通过系统总线2500交换数据、控制信号等。

主处理器2100可控制数据处理系统2000的一般操作。例如,主处理器2100可以是诸如微处理器的中央处理单元。主处理器2100可执行主存储器装置2200上的操作系统、应用、装置驱动程序等的软件。

主存储器装置2200可存储待由主处理器2100使用的程序及程序数据。主存储器装置2200可临时存储待被传输至数据存储装置2300和输入/输出装置2400的数据。

数据存储装置2300可包括控制器2310和存储介质2320。数据存储装置2300可以基本上类似于图1所示的数据存储装置10的方式进行配置和操作。

输入/输出装置2400可包括键盘、扫描仪、触摸屏、屏幕监视器、打印机、鼠标等,其能够与用户交换数据,诸如从用户接收用于控制数据处理系统2000的命令或向用户提供处理结果。

根据实施例,数据处理系统2000可通过诸如局域网(lan)、广域网(wan)、无线网等的网络2600与至少一个服务器2700进行通信。数据处理系统2000可包括网络接口(未示出)以访问网络2600。

尽管上面已经描述了各个实施例,但是本领域技术人员将理解的是,所描述的实施例仅为示例。因此,本文所描述的数据存储装置及其操作方法不应限于所描述的实施例。对于本发明所属领域的技术人员将显而易见的是,在不脱离如权利要求书中所限定的本发明的精神和范围的情况下,可进行各种改变和修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1