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

文档序号:15931698发布日期:2018-11-14 01:44阅读:157来源:国知局

本申请要求于2017年4月28日提交的申请号为10-2017-0055433的韩国申请的优先权,其全部内容通过引用并入本文。

各个实施例总体涉及一种采用非易失性存储器装置作为存储介质的数据存储装置。

背景技术

近来,计算机环境范例已经转变到普适计算,使得能够在任何时间和任何地点使用计算机系统。因此,诸如移动电话、数码相机和笔记本计算机的便携式电子装置的使用已经迅速增加。通常,这种便携式电子装置使用采用存储器装置的数据存储装置。数据存储装置用于存储待在便携式电子装置中使用的数据。

采用存储器装置的数据存储装置的优点在于,因为不具有机械驱动部件,所以稳定性和耐久性优异、信息存取速度高且功耗小。具有这种优点的数据存储装置包括通用串行总线(usb)存储器装置、具有各种接口的存储卡、通用闪存(ufs)装置和固态驱动器(ssd)。



技术实现要素:

各个实施例涉及一种能够提高服务质量并稳定地存储地址映射信息的数据存储装置及其操作方法。

在实施例中,一种用于数据存储装置的操作方法可包括:提供包括多个页面的非易失性存储器装置;根据依照处理主机装置的请求所允许的服务质量时间和未处理的工作负载来设置的段大小,将对从主机装置提供的逻辑地址和非易失性存储器装置的物理地址进行映射的地址映射分段成多个地址映射段;以及在处理未处理的工作负载之后,刷新非易失性存储器装置中的地址映射段中的至少一个。

在实施例中,一种数据存储装置可包括:非易失性存储器装置,包括包含在管芯的平面中的多个页面;随机存取存储器,适于存储将非易失性存储器装置的物理地址和从主机装置提供的逻辑地址进行映射的地址映射;以及控制单元,适于通过参考加载在随机存取存储器上的地址映射来控制非易失性存储器装置,并且处理主机装置的请求,其中控制单元根据依照处理主机装置的请求所允许的服务质量时间和未处理的工作负载来设置的段大小,将地址映射分段成多个地址映射段。

根据实施例,可提高数据存储装置的服务质量,并且可稳定地存储地址映射信息。

附图说明

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

图2是描述图1所示的非易失性存储器装置的存储器单元区域和编程单元的简图。

图3是描述在图1所示的数据存储装置中驱动的软件的简图。

图4是解释根据本发明的实施例的表示地址映射被分段的单位的地址映射段大小的简图。

图5是描述根据本发明的实施例的根据工作负载可改变的地址映射段大小的简图。

图6是解释根据本发明的实施例的用于设置地址映射段大小的方法的简图。

图7是示出根据本发明的实施例的包括固态驱动器的数据处理系统的简图。

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

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

图10是示出根据本发明的实施例的包括数据存储装置的网络系统的简图。

具体实施方式

在阅读了以下结合附图的示例性实施例之后,本发明的优点、特征和实现方法将变得更加显而易见。然而,本发明可以不同的形式实施,并不应被解释为限于本文所阐述的实施例。相反,提供这些实施例以详细地描述本发明至本发明所属领域的技术人员能够容易实施本发明的技术概念的程度。

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

如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和全部组合。将理解的是,当元件被称为“在……上”、“连接到”或“联接到”另一元件时,其可直接在其它元件上、连接到或联接到其它元件,或者可存在中间元件。如本文所使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。将进一步理解,当在本说明书中使用时,术语“包括”和/或“包括有”指定存在至少一个所述特征、步骤、操作和/或元件,但不排除存在或添加一个或多个其他特征、步骤、操作和/或其元件。

在下文中,将通过实施例的各个示例参考附图来描述数据存储装置及其操作方法。

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

数据存储装置100可存储待由诸如移动电话、mp3播放器、膝上型计算机、台式计算机、游戏机、tv、车载信息娱乐系统等主机装置(未示出)访问的数据。数据存储装置100也可被称为存储器系统。

数据存储装置100可根据作为接口连接数据存储装置100与主机装置的传输协议的主机接口而被制造成各种类型的存储装置中的任何一种。例如,数据存储装置100可被配置成诸如以下的各种存储装置中的任何一种:固态驱动器(ssd),mmc、emmc、rs-mmc和微型-mmc形式的多媒体卡,sd、小型-sd和微型-sd形式的安全数字卡,通用串行总线(usb)存储装置,通用闪存(ufs)装置,个人计算机存储卡国际协会(pcmcia)卡型存储装置,外围组件互连(pci)卡型存储装置,高速pci(pci-e)卡型存储装置,标准闪存(cf)卡,智能媒体卡,记忆棒等。

数据存储装置100可被制造成各种封装类型中的任何一种。例如,数据存储装置100可被制造成诸如以下的各种封装类型中的任何一种:堆叠封装(pop)、系统级封装(sip)、片上系统(soc)、多芯片封装(mcp)、板上芯片(cob)、晶圆级制造封装(wfp)以及晶圆级堆叠封装(wsp)。

数据存储装置100可包括控制器200和非易失性存储器装置300。控制器200可包括主机接口单元210、控制单元220、随机存取存储器230和存储器控制单元240。

主机接口单元210可接口连接主机装置和数据存储装置100。例如,主机接口单元210可通过使用主机接口,即诸如以下标准传输协议中的任意一种与主机装置进行通信:通用串行总线(usb)、通用闪存(ufs)、多媒体卡(mmc)、并行高级技术附件(pata)、串行高级技术附件(sata)、小型计算机系统接口(scsi)、串列scsi(sas)、外围组件互连(pci)和高速pci(pci-e)协议。

控制单元220可通过微控制单元(mcu)或中央处理单元(cpu)来配置。控制单元220可处理从主机装置传输的请求。为了处理请求,控制单元220可驱动加载在随机存取存储器230上的代码类型的指令或算法,即软件,并且可控制内部功能块或非易失性存储器装置300。

随机存取存储器230可由诸如动态随机存取存储器(dram)或静态随机存取存储器(sram)的随机存取存储器来配置。随机存取存储器230可存储待由控制单元220驱动的软件。进一步地,随机存取存储器230可存储驱动软件所需的数据。换言之,随机存取存储器230可作为控制单元220的工作存储器进行操作。

随机存取存储器230可临时存储待从主机装置传输到非易失性存储器装置300的数据或待从非易失性存储器装置300传输到主机装置的数据。换言之,随机存取存储器230可作为数据缓冲存储器或数据高速缓冲存储器进行操作。

存储器控制单元240可根据控制单元220的控制来控制非易失性存储器装置300。存储器控制单元240也可被称为存储器接口单元。存储器控制单元240可将控制信号提供给非易失性存储器装置300。控制信号可包括用于控制非易失性存储器装置300的命令、地址、控制信号等。存储器控制单元240可将数据提供给非易失性存储器装置300,或者可被提供来自非易失性存储器装置300的数据。

非易失性存储器装置300可通过包括至少一个能够传输命令、地址、控制信号和数据的信号线的信道ch与控制器200联接。非易失性存储器装置300可用作数据存储装置100的存储介质。

非易失性存储器装置300可被配置成诸如以下的各种类型的非易失性存储器装置中的任何一种:nand闪速存储器装置、nor闪速存储器装置、使用铁电电容器的铁电随机存取存储器(fram)、使用隧穿磁阻(tmr)层的磁性随机存取存储器(mram)、使用硫族化物合金的相变随机存取存储器(pcram)以及使用过渡金属氧化物的电阻式随机存取存储器(reram)。

图2是描述图1所示的非易失性存储器装置300的存储器单元区域和编程单元的简图。作为示例,示出了由两个管芯d1和d2配置的非易失性存储器装置300,每个管芯包含两个平面pl1和pl2,每个平面包含两个存储块b1和b2。存储块b1和b2中的每一个将被例示为包括被设置在两条字线wl1和wl2与两条位线bl1和bl2彼此相交的区域处的四个存储器单元。非易失性存储器装置300中的管芯的数量、平面的数量、每个平面的存储块的数量以及每个存储块的存储器单元的数量可以不同地改变。

从操作视角或者物理或结构视角来看,非易失性存储器装置300的存储器单元可由分层存储器单元集或存储器单元组来配置。例如,联接到同一字线并且将被同时读取、编程或写入的存储器单元可被配置成页面。此外,将被同时擦除的存储器单元可被配置成存储块。进一步地,将由不同的写入驱动器和读出放大器(未示出)并行控制的存储器单元可被配置成不同的平面。

为了增加数据处理量,可将可并行操作的页面配置成超级页面sp。例如,被包括在第一管芯d1的第一平面pl1中的第一页面pg1、被包括在第一管芯d1的第二平面pl2中的第二页面pg2、被包括在第二管芯d2的第一平面pl1中的第三页面pg3以及被包括在第二管芯d2的第二平面pl2中的第四页面pg4可被配置成一个超级页面sp。因此,当多个页面被配置成一个超级页面sp时,超级页面sp可被定义为被同时读取或编程的存储器单元组。

图3是描述在图1所示的数据存储装置100中驱动的软件的简图。

当非易失性存储器装置300被配置成闪速存储器装置时,控制单元220可驱动被称为闪存转换层ftl的软件,以控制闪速存储器装置300的固有操作,并将装置兼容性提供给主机装置。通过对这种闪存转换层ftl的驱动,数据存储装置100可被主机装置识别,并被用作诸如硬盘的通用数据存储装置。

加载在随机存取存储器230上的闪存转换层ftl可由用于执行模块驱动所需的各种功能和元数据的模块配置。例如,参照图3,闪存转换层ftl可包括地址映射map、损耗均衡模块wlm、坏块管理模块bbm和垃圾收集模块gcm。闪存转换层ftl的配置不限于上述模块,并且可进一步包括诸如以下的模块:用于并行操作闪速存储器装置300的交错模块、用于为意外断电做准备的突然断电管理模块等。

损耗均衡模块wlm可管理闪速存储器装置300的存储块的损耗水平。闪速存储器装置300的存储器单元可能由于擦除操作和编程操作而老化。老化的存储器单元,即磨损的存储器单元可能会导致失效,例如物理缺陷。损耗均衡模块wlm可管理待被均衡的各个存储块的编程-擦除计数,以防止某个存储块比其他存储块磨损地更快。

坏块管理模块bbm可管理闪速存储器装置300的存储块之中的已经发生失效的存储块。如上所述,在磨损的存储器单元中可能发生例如物理缺陷的失效。存储在失效的存储器单元中的数据可能无法被正常地读取,或者数据可能无法被正常地存储在失效的存储器单元中。坏块管理模块bbm可以以失效的存储器单元将不被使用的方式管理包括失效的存储器单元的存储块。

闪速存储器装置300由于其结构特性而不支持数据覆写。如果数据被存储在写入数据的存储器单元中,则可能无法保证存储的数据的可靠性。因此,为了将数据重写在已经存储了数据的存储器单元中,应该先进行擦除操作。闪速存储器装置300的擦除操作需要很长的时间。为此,控制单元220将数据存储在已经恢复到擦除状态的另一存储器单元中,而不是在擦除存储了数据的存储器单元之后,将数据存储在擦除的存储器单元中。通过控制单元220的这种操作,在闪速存储器装置300中混合了有效数据和无效数据。根据需要,控制单元220可执行将有效数据收集到一个位置并擦除无效数据的一系列操作,即垃圾收集操作。垃圾收集操作可被称为合并操作。

当主机装置访问数据存储装置100时,例如,当主机装置向数据存储装置100请求读取操作或写入操作时,主机装置可将逻辑地址提供给数据存储装置100。闪存转换层ftl可将逻辑地址转换为闪速存储器装置300的物理地址,并且通过参考物理地址来执行所请求的操作。为了进行这种地址转换操作,地址映射信息,即地址映射map可被包括在闪存转换层ftl中。

图4是描述根据本发明的实施例的表示地址映射被分段的单位的地址映射段大小的简图。图5是描述根据本发明的实施例的根据工作负载可改变的地址映射段大小的简图。

地址映射map可在数据存储装置100的运行期间被频繁地参考和更新。为了防止更新的地址映射信息丢失,地址映射map可经常被刷新或备份在闪速存储器装置300中。

如果地址映射map被一次全部刷新,则主机装置的请求可能长时间得不到处理。换言之,如果花费很长时间来刷新地址映射map,则可能不能满足处理主机装置的请求所允许的时间。处理主机装置的请求所允许的时间指确保该请求的服务质量(qos)的时间,并且在下文中将被称为服务质量时间tqos。服务质量时间tqos可以是根据主机装置和数据存储装置100之间的传输协议规定的时间。

因此,地址映射map可通过被分段来刷新,使得请求可在服务质量时间tqos内被处理。如图4所示,地址映射map可根据段大小sgsz被分段成多个地址映射段msg1至msgn,并且可以以地址映射段msg1至msgn的每一个为单位进行刷新。在处理了未处理的工作负载upwkl之后,可刷新地址映射段msg1至msgn中的至少一个。

可在数据存储装置100运行期间改变作为地址映射map的段单位的段大小sgsz。例如,如图5所示,可根据未处理的工作负载upwkl来改变段大小sgsz。因此,待刷新的地址映射段msg的段大小sgsz可随着未处理的工作负载upwkl的量的增加而减小,并且可随着未处理的工作负载upwkl的量的减小而增加。

图6是描述根据本发明的实施例的控制单元220设置地址映射段大小的操作的简图。

控制单元220可通过从能够在服务质量时间tqos内处理的数据量dt_qos减去用于处理未处理的工作负载的数据量dt_upwkl而获得的大小来设置段大小sgsz。换言之,控制单元220可设置段大小sgsz,使得可在处理主机装置的请求之后剩下的时间内刷新至少一个地址映射段msg。

数据量dt_upwkl可包括用于处理主机装置的请求的数据量。例如,可根据从主机装置请求写入的数据量来计算数据量dt_upwkl。当诸如垃圾收集的后台操作应该在处理主机装置的请求之前进行时,数据量dt_upwkl可另外包括用于处理后台操作的数据量。

数据量dt_qos可被计算为在服务质量时间tqos内能够对页面进行编程的最大计数与图2的超级页面sp的大小的乘积。服务质量时间tqos的最大计数可通过将服务质量时间tqos除以对一个页面进行编程所需的时间tprog来计算。超级页面sp的大小可被计算为配置成一个超级页面的一个页面pg的大小、每个管芯的平面pl的数量和管芯d的数量的乘积。

尽管上面已经描述了各个实施例,但是本领域技术人员将理解,所描述的实施例仅为示例。因此,本文所描述的数据存储装置及其操作方法不应基于所描述的实施例而受到限制。

图7是示出根据本发明的实施例的包括固态驱动器(ssd)1200的数据处理系统1000的简图。

参照图7,数据处理系统1000可包括主机装置1100和ssd1200。

ssd1200可包括控制器1210、缓冲存储器装置1220、非易失性存储器装置1231至223n、电源1240、信号连接器1250和电源连接器1260。

控制器1210可控制ssd1200的一般操作。控制器1210可包括主机接口单元1211、控制单元1212、随机存取存储器1213、错误校正码(ecc)单元1214和存储器接口单元1215。

主机接口单元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)。

控制单元1212可分析和处理从主机装置1100输入的信号sgl。控制单元1212可根据用于驱动sdd1200的固件或软件来控制内部功能块的操作。随机存取存储器1213可用作驱动这种固件或软件的工作存储器。

ecc单元1214可生成待传输到非易失性存储器装置1231至123n的数据的奇偶校验数据。生成的奇偶校验数据可与数据一起被存储在非易失性存储器装置1231至123n中。ecc单元1214可基于奇偶校验数据来检测从非易失性存储器装置1231至123n读取的数据的错误。如果检测到的错误在可校正的范围内,则ecc单元1214可校正检测到的错误。

存储器接口单元1215可根据控制单元1212的控制将诸如命令和地址的控制信号提供给非易失性存储器装置1231至123n。此外,存储器接口单元1215可根据控制单元1212的控制与非易失性存储器装置1231至123n交换数据。例如,存储器接口单元1215可将存储在缓冲存储器装置1220中的数据提供给非易失性存储器装置1231至123n,或者将从非易失性存储器装置1231至123n读取的数据提供给缓冲存储器装置1220。

缓冲存储器装置1220可临时存储待存储在非易失性存储器装置1231至123n中的数据。此外,缓冲存储器装置1220可临时存储从非易失性存储器装置1231至123n读取的数据。被临时存储在缓冲存储器装置1220中的数据可根据控制器1210的控制被传输到主机装置1100或非易失性存储器装置1231至123n。

非易失性存储器装置1231至123n可用作ssd1200的存储介质。非易失性存储器装置1231至123n可分别通过多个信道ch1至chn联接到控制器1210。一个或多个非易失性存储器装置可联接到一个信道。联接到每一个信道的非易失性存储器装置可联接到相同的信号总线和数据总线。

电源1240可将通过电源连接器1260输入的电力pwr提供到ssd1200的内部。电源1240可包括辅助电源1241。当发生突然断电时,辅助电源1241可供电以允许ssd1200被正常地终止。辅助电源1241可包括大容量电容器。

根据主机装置1100和ssd1200之间的接口方案,信号连接器1250可通过各种类型的连接器进行配置。

根据主机装置1100的供电方案,电源连接器1260可通过各种类型的连接器进行配置。

图8是示出根据本发明的实施例的包括数据存储装置2200的数据处理系统2000的简图。

参照图8,数据处理系统2000可包括主机装置2100和数据存储装置2200。

主机装置2100可以诸如印刷电路板(pcb)的板的形式来配置。虽然未示出,但是主机装置2100可包括用于执行主机装置的功能的内部功能块。

主机装置2100可包括诸如插座、插槽或连接器的连接端子2110。数据存储装置2200可被安装到连接端子2110。

数据存储装置2200可以诸如印刷电路板的板的形式来配置。数据存储装置2200可被称为存储器模块或存储卡。数据存储装置2200可包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231和2232、电源管理集成电路(pmic)2240和连接端子2250。

控制器2210可控制数据存储装置2200的一般操作。控制器2210可以与图7所示的控制器1210相同的方式进行配置。

缓冲存储器装置2220可临时存储待被存储在非易失性存储器装置2231和2232中的数据。此外,缓冲存储器装置2220可临时存储从非易失性存储器装置2231和2232读取的数据。被临时存储在缓冲存储器装置2220中的数据可根据控制器2210的控制被传输到主机装置2100或非易失性存储器装置2231和2232。

非易失性存储器装置2231和2232可用作数据存储装置2200的存储介质。

pmic2240可将通过连接端子2250输入的电力提供到数据存储装置2200的内部。pmic2240可根据控制器2210的控制来管理数据存储装置2200的电力。

连接端子2250可联接到主机装置2100的连接端子2110。通过连接端子2250,可在主机装置2100和数据存储装置2200之间传输诸如命令、地址、数据等的信号和电力。根据主机装置2100和数据存储装置2200之间的接口方案,连接端子2250可被配置成各种类型。连接端子2250可被设置在数据存储装置2200的任意一侧上。

图9是示出根据本发明的实施例的包括数据存储装置3200的数据处理系统3000的简图。

参照图9,数据处理系统3000可包括主机装置3100和数据存储装置3200。

主机装置3100可以诸如印刷电路板(pcb)的板的形式来配置。虽然未示出,但是主机装置3100可包括用于执行主机装置的功能的内部功能块。

数据存储装置3200可以表面安装型封装的形式来配置。数据存储装置3200可通过焊球3250而安装到主机装置3100。数据存储装置3200可包括控制器3210、缓冲存储器装置3220和非易失性存储器装置3230。

控制器3210可控制数据存储装置3200的一般操作。控制器3210可以与图7所示的控制器1210相同的方式进行配置。

缓冲存储器装置3220可临时存储待被存储在非易失性存储器装置3230中的数据。此外,缓冲存储器装置3220可临时存储从非易失性存储器装置3230读取的数据。被临时存储在缓冲存储器装置3220中的数据可根据控制器3210的控制被传输到主机装置3100或非易失性存储器装置3230。

非易失性存储器装置3230可用作数据存储装置3200的存储介质。

图10是示出根据本发明的实施例的包括数据存储装置4200的网络系统4000的简图。

参照图10,网络系统4000可包括通过网络4500联接的服务器系统4300和多个客户端系统4410至4430。

服务器系统4300可以响应于来自多个客户端系统4410至4430的请求来服务数据。例如,服务器系统4300可存储从多个客户端系统4410至4430提供的数据。又例如,服务器系统4300可将数据提供给多个客户端系统4410至4430。

服务器系统4300可包括主机装置4100和数据存储装置4200。数据存储装置4200可被配置成图1中所示的数据存储装置100、图7中所示的数据存储装置1200、图8中所示的数据存储装置2200或图9中所示的数据存储装置3200。

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

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