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

文档序号:11590244阅读:300来源:国知局

相关申请的交叉引用

本申请要求于2016年2月1日向韩国知识产权局提交的申请号为10-2016-0012343的韩国申请的优先权,其通过引用以其整体并入本文。

各个实施例总体涉及一种半导体装置,且更特别地,涉及一种数据存储装置及其操作方法。



背景技术:

数据存储装置可以响应于来自外部装置的写入请求存储由外部装置提供的数据,并且响应于来自外部装置的读取请求将存储的数据提供至外部装置。外部装置可以是能够处理数据的电子装置,且可包括例如计算机、数码相机或移动电话。数据存储装置可被构造为外部装置的组成部分,或者可以分离的形式制造,其之后可以被联接至外部装置。

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

数据存储装置可以包括用于存储数据的非易失性存储器装置。甚至在电源未被连接至非易失性存储器装置时,该装置仍可以保留所存储的数据。非易失性存储器装置可以包括诸如nand闪存或nor闪存的闪速存储器装置、feram(铁电随机存取存储器)、pcram(相变随机存取存储器)、mram(磁性随机存取存储器)或reram(电阻随机存取存储器)。



技术实现要素:

各个实施例涉及能够缩短映射表恢复时间的数据存储装置及其操作方法。

在一个实施例中,数据存储装置可以包括:非易失性存储器装置,其包括存储块,由于数据存储装置至少发生一次突然断电(spo)而使对存储块的写入操作中断并且没有完成,其中存储块包括在中断前产生的包含一个或多个有效页面的至少一个第一有效页面组和由中断引起的具有一个或多个无效页面的至少一个无效页面组;以及控制器,其适于在数据存储装置在spo后被通电之后将第一有效页面组的至少一个物理地址-逻辑地址(p2l)列表写入到无效页面组中,并在完成对存储块的写入操作后基于p2l列表恢复存储块的地址映射表。

在一个实施例中,提供了一种操作包括非易失性存储器装置的数据存储装置的方法,该非易失性存储器装置包括存储块,由于数据存储装置至少发生一次突然断电(spo)而使对存储块的写入操作中断并且没有完成,其中存储块包括在中断前产生的包含一个或多个有效页面的至少一个第一有效页面组和由中断引起的具有一个或多个无效页面的至少一个无效页面组;该方法包括:在数据存储装置在spo后被通电之后将第一有效页面组的至少一个物理地址-逻辑地址(p2l)列表写入到无效页面组中,以及在完成对存储块的写入操作后基于p2l列表恢复存储块的地址映射表。

根据实施例,当突然断电(spo)发生在对开放块的写入操作期间时,可以检测由于spo发生导致的存储异常数据的无效页面,并且可以将spo发生之前存储正常数据的有效页面的p2l列表存储在检测到的无效页面中。

因此,当生成完成写入操作的封闭块的p2l列表时,可参考存储在无效页面中的有效页面的p2l列表。因此,没有必要额外扫描封闭块中的有效页面,因此可以缩短用于封闭块的p2l表恢复时间。

附图说明

图1是示出根据本发明的一个实施例的数据存储装置的框图。

图2是示出包括在图1的非易失性存储器装置中的存储块的一个实例的简图。

图3a是示出包括无效页面的开放块的一个实例的简图。

图3b是示出在图3a的开放块的无效页面中生成虚拟页面的一个实例的简图。

图3c是示出完成写入操作的封闭块的一个实例的简图。

图4是生成多个连续的虚拟页面的一个实例的简图。

图5是示出包括多个无效页面的开放块的一个实例的简图。

图6是示出生成多个不连续的虚拟页面的一个实例的简图。

图7是根据本发明的一个实施例在用于操作数据存储装置的方法中虚拟页面生成方法的流程图。

图8是根据本发明的一个实施例在用于操作数据存储装置的方法中映射表管理方法的流程图。

图9是示出根据本发明的一个实施例的固态驱动器(ssd)的框图。

图10是示出根据本发明的一个实施例的包括数据存储装置的数据处理系统的框图。

具体实施方式

下文中,将参照附图描述包括数据存储装置及其操作方法的本发明的各个实施例。

然而,应注意本发明可体现为多种不同的形式,而不应解释为限于本文示出的实施例。相反,提供这些实施例作为实例,使得本发明将是全面且完整的,并将本发明的各个方面和特征充分传达给本领域技术人员。

还应理解,虽然术语“第一”、“第二”、“第三”等在本文中可用于描述各个元件,但是这些元件并不受这些术语的限制。这些术语用于将一个元件与另一个元件区分开来。因此,在不背离本发明的精神和范围的情况下,下文描述的第一元件也可以称为第二或第三元件。

还应理解,当一个元件被称为“连接至”或“联接至”与另一个元件时,它可以直接在另一个元件上、直接连接至或联接至另一元件,或者可以存在一个或多个中间元件。此外,还应理解,当一个元件被称为位于两个元件之间时,其可以是两个元件之间仅有的元件,或者还可以存在一个或多个中间元件。

本文所用的术语仅用于描述特定实施例的目的,并不意在限制本发明。如本文所用,单数还意在包括复数形式,除非上下文中另有明确说明。

还应理解,当说明书中使用术语“包含”、“包含有”、“包括”和“包括有”时,指的是存在阐明的元件但不排除一个或多个其它元件的存在或添加。

而且,当在本文中使用时,术语“和/或”包括一个或多个关联的列举项的任何和所有组合。

除非另外限定,否则本文所用的包括技术和科学术语的所有术语具有与本发明构思所属领域的技术人员通常理解的含义相同的含义。还应理解,诸如常用字典中定义的那些术语的术语应解释为具有与它们在相关领域的上下文中的含义一致的含义,且不应以理想的或者过于正式的含义进行解释,除非本文另外明确限定。

在以下描述中,阐述许多具体细节以提供对本发明的全面理解。可以在没有一些或所有这些具体细节的情况下实施本发明。在其它情况下,并未详细描述公知的处理结构和/或过程,以不使本发明不必要的模糊。

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

现参照图1,根据本发明的一个实施例,提供了数据存储装置10的实例。

根据图1的实施例,数据存储装置10可以包括至少一个非易失性存储器装置100、随机存取存储器200和用于控制至少一个非易失性存储器装置100和随机存取存储器200的控制器300。

非易失性存储器装置100可以作为数据存储装置10的存储介质操作。非易失性存储器装置100可被配置为例如nand快速存储器装置。然而,本发明可不限于仅nand快速存储器装置。例如,根据构建存储器单元区域(未示出)的存储器单元,非易失性存储器装置100可被配置为诸如以下的其它各种类型的非易失性存储器装置的任一种:例如,nor快速存储器装置、使用铁电电容器的铁电随机存取存储器(fram)、使用隧穿磁阻(tmr)层的磁性随机存取存储器(mram)、使用硫族化物合金的相变随机存取存储器(pram)和使用过渡金属氧化物的电阻式随机存取存储器(reram)。

非易失性存储器装置100可以包括多个存储块blk1至blkn,其中n是等于或大于2的整数。

图2是包括在图1的非易失性存储器装置100中的多个存储块blk1至blkn之中的存储块blk1的实例的简图。

参照图2,存储块blk1可以包括分别对应于多个字线wl1至wlm的多个页面p1至pm。虽然图2示出一个页面对应单个字线,但应注意在该实施例中,对应于单个字线的页面的数量并不以此方式限制。例如,对应于单个字线的页面的数量可以变化,例如根据联接至单个字线的每个存储器单元中可以存储多少位数据而变化。例如,对应于单个字线的页面的数量可以根据联接至单个字线的存储器单元是slc(单层单元)、mlc(多层单元)还是tlc(三层单元)而变化。

页面可以是非易失性存储器装置100执行写入操作和/读取操作的单位。非易失性存储器装置100可以通过驱动对应的字线而访问每个页面,并且对访问的页面执行写入操作和/或读取操作。例如,参照图2,非易失性存储器装置100可以通过驱动联接至第一页面p1的第一字线wl1而访问第一页面p1,并且对访问的第一页面p1执行写入操作和/或读取操作。如图2所示,非易失性存储器装置100可以在由箭头指示的方向上顺序地对存储块的页面执行写入操作,即从第一页面p1开始,接着是第二页面、第三页面……,并以最后页面pm结束。

随机存取存储器200可以存储将由控制器300驱动的固件或软件。而且,随机存取存储器200可以存储驱动固件或软件所需的数据,例如元数据。也就是说,随机存取存储器200可以作为控制器300的工作存储器操作。

随机存取存储器200可以暂时地存储将从主机装置(未示出)传输到非易失性存储器装置100或从非易失性存储器装置100传输到主机装置的数据。随机存取存储器200可以作为数据缓冲存储器或数据高速缓冲存储器操作。

控制器300可以执行数据存储装置10的一般操作。例如,控制器300可以响应于从主机装置传输的写入请求,控制非易失性存储器装置100的写入操作以将数据存储在非易失性存储器装置100中。而且,作为实例,控制器300可以响应于从主机装置传输的读取请求,控制非易失性存储器装置100的读取操作,以读取存储在非易失性存储器装置100中的数据并将读取数据输出至主机装置。例如,控制器300可以生成用于从主机装置传输的写入请求和/读取请求的写入命令和/或读取命令,并且可以将生成的写入命令和/或读取命令提供至非易失性存储器装置100。然后,非易失性存储器装置100可以执行与从控制器300提供的写入命令和/或读取命令相应的写入操作和/或读取操作。

包括在非易失性存储器装置100中的多个存储块blk1至blkn可以分为:完成写入操作的存储块、正在执行写入操作的存储块和未开始写入操作的存储块。而且,已经完成对所有页面的写入操作的存储块将被成为封闭存储块(或封闭块),而未完成对所有页面的写入操作的存储块将被成为开放存储块(或开放块)。

一般而言,控制器300可以生成非易失性存储器装置100的存储块blk1至blkn之中的封闭块的物理地址至逻辑地址(p2l)列表,并将生成的p2l列表存储在随机存取存储器200的地址映射表中。而且,控制器300不生成已经开始对开放页面的写入操作的开放块的p2l列表,直至写入操作完成。

控制器300可以通过从最后页面至第一页面顺序地扫描封闭块以及将存储在每个页面中的逻辑块地址(lba)和每个页面的物理地址匹配,来生成封闭块的p2l列表。

突然断电(spo)是意外的供电中断,其可以发生在对存储块blk1的写入操作中间,因此对存储块blk1的写入操作可能由于spo而没有完成。spo可导致存储块blk1的一个或多个页面存储异常数据。由于spo而存储异常数据的页面在下文可被称为无效页面。

当数据存储装置10在spo后恢复为通电状态时,控制器300可以通过顺序地扫描开放块来检测开放块的无效页面,可以生成有效页面的p2l列表,并且可以将生成的有效页面的p2l列表写入由于spo导致的无效页面中。

图3a示出包括一个无效页面p7的开放块oblk的实例,图3b示出在无效页面p7中生成虚拟页面的实例,图3c示出完成写入操作的封闭块cblk的实例。

例如,参照图3a,当spo发生在对开放块oblk的第七页面p7的写入操作的中间且然后数据存储装置10变为通电状态时,控制器300可以从第m个页面至第一页面p1顺序地扫描开放块oblk。作为扫描的结果,控制器300可以检测开放快oblk中的空白页面、存储异常数据的无效页面和存储正常数据的有效页面。开放块oblk的第七页面p7可以被检测为无效页面。

控制器300可以通过分别存储在第一页面p1至第六页面p6中的lba生成有效页面(即第一页面p1至第六页面p6)的p2l列表,并且可以将生成的p2l列表写入无效页面(即第七页面p7)中。存储有效页面的p2l列表的无效页面将被称为虚拟页面d。存储有效页面的p2l列表的虚拟页面d不再是无效页面。生成虚拟页面d的实例示于图3b中。在一个实施例中,控制器300可以将用于调试的信息例如固件(fw)寄存器值、计数器值、指示器值和指示对应页面是虚拟页面的识别信息以及有效页面的p2l列表存储在虚拟页面d中。

参照图3c,在生成虚拟页面d后,控制器300可以从第八页面p8至第m页面pm顺序地继续对开放块oblk的写入操作,其中第八页面p8至第m页面pm是虚拟页面d之后的页面)。当完成对最后页面或第m页面pm的写入操作时,开放块oblk变为封闭块cblk,且控制器300可以通过从第m页面pm至虚拟页面d顺序地执行扫描封闭块cblk来生成封闭块cblk的p2l列表。也就是说,由于有效页面(即第一页面p1至第六页面p6)的p2l列表被存储在虚拟页面d中,因此没有必要扫描第一页面p1至第六页面p6。因此,可以缩短生成封闭块cblk的p2l列表所需的时间。在扫描封闭块cblk的p2l列表期间,虚拟页面d可以通过存储在其中的识别信息来识别。

在一个实施例中,在扫描虚拟页面d后,控制器300可以确定存储在虚拟页面d中的有效页面的p2l列表是否正常。如果存储在虚拟页面d中的有效页面的p2l列表正常,则控制器300可以通过使用存储在虚拟页面d中的有效页面的p2l列表生成封闭块cblk的p2l列表。如果存储在虚拟页面d中的有效页面的p2l列表异常,则控制器300可以不使用存储在虚拟页面d中的有效页面的p2l列表,并且可以通过从第六页面p6至第一页面p1顺序地扫描再次生成有效页面(即第一页面p1至第六页面p6)的p2l列表。

在一个实施例中,控制器300可以为开放块oblk中的单个无效页面生成多个虚拟页面。例如,参照图3a和图4,控制器300可以将有效页面(即第一页面p1至第六页面p6)的p2l列表写入无效的第七页面p7中以作为第一虚拟页面d1并将有效页面(即第一页面p1至第六页面p6)的p2l列表写入第八页面p8中以作为第二虚拟页面d2,其中第八页面p8是与无效的第七页面p7连续的空白页面。换言之,有效页面的相同p2l列表可被写入第一虚拟页面d1和第二虚拟页面d2两者中。

在一个实施例中,控制器300可以将指示存储相同p2l列表的虚拟页面的总数量的信息写入多个虚拟页面的每个(例如,第一虚拟页面d1和第二虚拟页面d2中的每个)中。因此,在多个虚拟页面之一异常的情况下,控制器300可以使用存储在多个虚拟页面的另一个中的有效页面的p2l列表。虽然图4示出其中生成两个虚拟页面d1和d2的实例,但应注意该实施例不限于这个实例。在不同的实例中,可以生成至少三个虚拟页面。

如上所述,spo可以导致存储块blk1的一个或多个页面存储异常数据,这意味着由于spo可能在开放块oblk中存在多个无效页面。

根据图5的实例,假设第七页面p7和第八页面p8均是无效页面。在这种情况下,控制器300可以将有效页面(即第一页面p1至第六页面p6)的p2l列表写入无效的第七页面p7和无效的第八页面p8中以分别作为第一虚拟页面d1和第二虚拟页面d2。有效页面的相同p2l列表可被写入第一虚拟页面d1和第二虚拟页面d2两者中。

同时,数次spo可以发生在对单个开放块oblk的写入操作的中间。图6作为一个实例,示出其中在写入操作期间发生2次spo并生成2个虚拟页面的封闭块。

例如,参照图6,由于在对开放块oblk的第四页面p4的写入操作的中间的第一次突然断电spo1,控制器300可以生成作为无效的第四页面p4之前的第一组有效页面的第一页面p1至第三页面p3的p2l列表,并将生成的第一组有效页面的p2l列表写入第四页面p4中,这将是第一虚拟页面d1。

此后,控制器300可以从第五页面p5开始继续对开放块oblk的写入操作。由于当数据存储装置10恢复为通电状态时在对开放块oblk的第(m-2)页面pm-2的写入操作的中间的第二次突然断电spo2,控制器300可以生成作为无效的第(m-2)页面pm-2之前的第二组有效页面的第五页面p5至第(m-3)页面pm-3(未示出)的p2l列表,并将生成的第二组有效页面的p2l列表写入无效的第(m-2)页面pm-2中,这将是第二虚拟页面d2。控制器300可以将第一虚拟页面d1的位置信息写入第二虚拟页面d2中。此处,位置信息可以是数据头(header)信息。

此后,控制器300可以从第(m-1)页面pm-1至第m页面pm继续对开放块oblk的写入操作。当完成对最后页面或第m页面pm的写入操作时,对应的开放块oblk变为封闭块cblk。然后,控制器300可以通过扫描第m页面pm至第(m-1)页面pm-1、第二虚拟页面d2和第一虚拟页面d1而生成封闭块cblk的p2l列表。即,由于第二组有效页面(即第五页面p5至第(m-3)页面pm-3)的p2l列表和第一虚拟页面d1的数据头信息存储在第二虚拟页面d2中且第一组有效页面(即第一页面p1至第三页面p3)的p2l列表存储在第一虚拟页面d1中,控制器300不需要扫描第一组有效页面和第二组有效页面。

图7是根据本发明的实施例的在用于操作数据存储装置的方法中的虚拟页面生成方法的流程图。

参照图1至图7,根据一个实施例的虚拟页面生成方法包括下列步骤。在步骤s710中,数据存储装置10从由于spo导致的断电状态接通电源。在步骤s720中,控制器300可以扫描开放块oblk的所有页面。例如,控制器300可以从第m页面pm至第一页面p1顺序地扫描开放块oblk。

在步骤s730中,控制器300可以通过扫描步骤s720检测开放块oblk中的无效页面。而且,控制器300可以确定开放块oblk中的有效页面和空白页面。在步骤s740中,控制器300可以生成开放块oblk中的有效页面(即按写入操作的顺序位于无效页面之前的有效页面)的p2l列表(s740)。

在步骤s750中,控制器300可以通过将有效页面的p2l列表存储在无效页面中而生成虚拟页面d(s750)。存储有效页面的p2l列表的虚拟页面d不再是无效页面。

参照图4至图6描述了用于生成虚拟页面d的各个实施例。

生成虚拟页面d之后,控制器300可以从与虚拟页面d连续的第一空白页面开始继续对开放块oblk的写入操作。开放块oblk可以在完成对其中所有页面的写入操作时变为封闭块cblk。

图8是根据本发明的一个实施例的在用于操作数据存储装置的方法中的映射表管理方法的流程图。

参照图1至图6和图8,根据本实施例的映射表管理方法如下。

在步骤s810中,在数据存储装置10在spo后被通电之后,控制器300可以检测封闭块cblk。

在步骤s820中,控制器300可以开始扫描封闭块的每个页面。

对于每个扫描的页面,在步骤s830中,控制器300可以通过存储在扫描的页面中的识别信息确定扫描的页面是否为虚拟页面。在当前扫描的页面不是虚拟页面的情况下,作为步骤s830的确定结果,在步骤s840中,控制器300可连续地扫描下一页面。下一页面可以是按写入操作的顺序位于当前扫描的页面之前的页面。步骤s830和s840可以迭代地执行直至当前扫描的当前页面是虚拟页面。

在扫描的当前页面是虚拟页面的情况下,在步骤s850中,控制器300可以读取存储在当前虚拟页面中的有效页面的p2l列表。此处,p2l列表可以是按写入操作的顺序位于当前虚拟页面之前的有效页面的p2l列表。在步骤s860中,控制器300可以确定按写入操作的顺序位于当前虚拟页面之前的在先虚拟页面是否存在。如上参照图6例示,其中在对单个开放块oblk的写入操作的中间发生数次spo,控制器300可以将在先虚拟页面(即第一虚拟页面d1)的位置信息作为数据头信息写入当前虚拟页面(即第二虚拟页面d2)中。因此,控制器300可以根据存储在当前虚拟页面中的数据头信息识别在先虚拟页面的存在和位置。

当作为步骤s860的确定结果在先虚拟页面存在时,控制器300可以从当前虚拟页面跳到在先虚拟页面,在步骤s870中扫描在先虚拟页面,并对在先虚拟页面重复步骤s850。换言之,不扫描当前虚拟页面和在先虚拟页面之间的有效页面。可以对包括在封闭块中的全部虚拟页面迭代地执行上述步骤s850至s870。

当作为步骤s860的确定结果在先虚拟页面不存在时,控制器300可以通过使用存储在全部虚拟页面中的有效页面的p2l列表而生成整个封闭块的p2l列表,并且可以通过使用生成的封闭块的p2l列表恢复随机存取存储器200的地址映射表。

现在参照图9,根据本发明的一个实施例,提供了固态驱动器(ssd)1000。

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

ssd控制器1100可以控制主机装置1500和存储介质1200之间的数据交换。ssd控制器1100可以包括处理器1110、ram1120、rom1130、ecc单元1140、主机接口单元1150和存储接口单元1160。

ssd控制器1100可以与图1的控制器300大体上类似的方式操作。

处理器1110可以控制ssd控制器1100的一般操作。例如,处理器1110可以根据来自主机装置1500的请求将数据写入存储介质1200中并从存储介质1200读取存储的数据。为了有效地管理存储介质1200,处理器1110可以控制ssd1000的一个或多个内部操作,诸如,例如合并操作、平均读写操作等。

ram1120可以存储将被处理器1110使用的程序和程序数据。ram1120可以在将从主机接口单元1150传输的数据转移至存储介质1200之前暂时地存储该数据。ram1120可以在将从存储介质1200传输的数据转移至主机装置1500之前暂时地存储该数据。

rom1130可以存储将被处理器1110读取的程序代码。程序代码可以包括将被处理器1110处理以用于处理器1110控制ssd控制器1100的内部单元的指令。

ecc单元1140可以编码将被存储在存储介质1200中的数据,并且可以解码从存储介质1200读取的数据。ecc单元1140可以根据ecc算法检测和纠正数据中出现的错误。

主机接口单元1150可以与主机装置1500交换请求、数据等。

存储接口单元1160可以将控制信号和数据传输到存储介质1200。存储接口单元1160可以传输来自存储介质1200的数据。存储接口单元1160可以通过多个通道ch0至chn(n是等于或大于2的整数)与存储介质1200电联接。

存储介质1200可以包括多个非易失性存储器装置nvm0至nvmn。多个非易失性存储器装置nvm0至nvmn的每个可以根据ssd控制器1100的控制而执行写入操作和读取操作。多个非易失性存储器装置nvm0至nvmn的每个可以与图1的非易失性存储器装置100大体上类似的方式配置和操作。

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

参照图10,根据一个实施例的数据处理系统2000可以是或包括计算机、笔记本电脑、上网本、智能电话、数字tv、数码相机、导航器等。根据图10示出的实施例,数据处理系统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