数据储存装置的非挥发式存储器的命名空间规划的制作方法

文档序号:17475672发布日期:2019-04-20 06:06阅读:145来源:国知局
本发明有关于数据储存装置,特别有关于非挥发式存储器的命名空间(namespace)配置。
背景技术
::非挥发式存储器有多种形式─例如,快闪存储器(flashmemory)、磁阻式随机存取存储器(magnetoresistiveram)、铁电随机存取存储器(ferroelectricram)、电阻式随机存取存储器(resistiveram)、自旋转移力矩随机存取存储器(spintransfertorque-ram,stt-ram)…等,用于长时间数据保存。非挥发式存储器是先进行命名空间(namespace)规划再使用。主机下达的指令会指示系操作哪个命名空间;例如,对某命名空间的写入(write)、读取(read)、数据抹除(erase)操作。如何适当规划命名空间为本
技术领域
:一项重要课题。技术实现要素:本发明提出非挥发式存储器的一种命名空间(namespace)规划─特别将非挥发式存储器的操作效能纳入考量。根据本发明一种实施方式所实现的数据储存装置包括一非挥发式存储器以及一控制器。该控制器以多个通道存取该非挥发式存储器。在该非挥发式存储器上规划命名空间时,该控制器令不同命名空间规划到的通道不重复。一种实施方式中,原先就存在于该非挥发式存储器的命名空间系经解依附后交由该控制器重新规划,并由该控制器将其中数据搬移至新规划的空间。一种实施方式中,该控制器令这些通道都有配对命名空间。这些通道的总数为x,上述命名空间的总数为y,且各命名空间是以z个通道操作,z为x除以y。各命名空间对应等量通道。一种实施方式中,该控制器令各命名空间的尺寸需求由所对应的通道均分负责。该控制器可设定各通道负责哪些逻辑地址范围,以应付所对应的命名空间的尺寸需求。一种实施方式中,该非挥发式存储器为快闪存储器,由一主机下达逻辑区块地址透过该控制器而控制。该控制器设定各通道负责哪些逻辑区块地址范围,以应付所对应的命名空间的尺寸需求。该控制器可以各通道闲置的区块进行垃圾回收以及抹写平均。同一命名空间所对应的通道可负责等量的逻辑区块地址范围,以应付该命名空间的尺寸需求。下文特举实施例,并配合附图,详细说明本
发明内容。附图说明图1根据本发明一种实施方式图解一数据储存装置100,控制器102处理来自主机104的存取指令并采用四通道ch#0…ch#3进行快闪存储器存取;图2为流程图,根据本发明一种实施方式图解主机104如何下达命名空间规划要求;以及图3a以及图3b为本发明一种实施方式建立命名空间方法的流程图,本发明建立命名空间的方法可用以对应主机104在步骤s202所发出的命名空间建立或命名空间管理指令。符号说明100~数据储存装置;102~控制器;104~主机;b000…b31n~区块;ch#0、ch#1、ch#2以及ch#3~通道;chip#0、chip#1~晶片;lun#0、lun#1、lun2以及lun#3~逻辑单元编号;s202…s206、s302…s320~步骤。具体实施方式以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本
发明内容。实际发明范围应依照权利标书来界定。非挥发式存储器可以是快闪存储器(flashmemory)、磁阻式随机存取存储器(magnetoresistiveram)、铁电随机存取存储器(ferroelectricram)、电阻式存储器(resistiveram,rram)、自旋转移力矩随机存取存储器(spintransfertorque-ram,stt-ram)…等,提供长时间数据保存之储存媒体,可用于实现数据储存装置、或应用于数据中心。以下特别以快闪存储器为例进行讨论。现今数据储存装置常以快闪存储器为储存媒体,用来实现记忆卡(memorycard)、通用串行总线闪存装置(usbflashdevice)、固态硬碟(ssd)…等产品。有一种应用是采多芯片封装(multi-chippackaging)、将快闪存储器与其控制器包装在一起─称为嵌入式快闪存储器模组(如emmc)。以快闪存储器为储存媒体的数据储存装置可应用于多种电子装置上。所述电子装置包括智慧型手机、穿戴装置、平板电脑、虚拟实境设备、行车电脑…等。电子装置的运算模块可视为一主机(host),操作电子装置所使用的数据储存装置,透过数据储存装置中的控制器存取数据储存装置中的快闪存储器。快闪存储器实现的数据储存装置也可用于建构数据中心(datacenter)。例如,伺服器可操作固态硬碟(ssd)阵列形成数据中心。伺服器即可视为一主机(host),操作所连结之固态硬碟,以存取其中快闪存储器。在使用快闪存储器前,主机会要求装置端的控制器对快闪存储器进行命名空间(namespace)规划。规划好命名空间后,主机即可指名命名空间来操作快闪存储器。例如,主机可要求对某命名空间进行写入(write)、读取(read)、数据抹除(erase)操作。又主机端是以逻辑地址(例如,逻辑区块地址lba或全域主机页编号ghp…等)区别数据,逻辑地址以及命名空间存在对应关系。主机要求写入、读取、数据抹除某逻辑地址的数据时,即可转换为是指名作用在对应的命名空间上。本发明在命名空间规划上考量了快闪存储器操作效能─特别是将快闪存储器多通道存取的优势以及操作要点考量于命名空间规划中。快闪存储器的储存空间可采多通道方式存取(multi-channelaccessing)。各通道涉及单一或多个平面(planes)的存取,其中,多个平面可由单一或多个晶片致能(chipenable)指令所控制。每一平面包括多个区块(blocks)。各区块包括多页面(pages)。各页面包括多区段(sectors)。区块是定义为抹除最小单位。一区块完整空间被抹除后方可释出再利用。一区块提供的页面系根据物理地址由低至高配置使用。区段可为最小储存单位。一种实施方式中,一区段较佳对应一逻辑区块地址(lba)所标注的4kb数据。一页面具有八区段,对应32kb数据之储存。一区块有1024页,对应32mb数据的储存。一平面具有2k区块,对应64gb数据的储存(以16m个lba区别)。如此大尺寸储存空间还注重存取速度。多通道存取为一种解决方案。图1根据本发明一种实施方式图解一数据储存装置100,控制器102处理来自主机104的存取指令并采用四通道ch#0…ch#3进行快闪存储器存取。图示以两个快闪存储器晶片chip#0以及chip#1提供储存空间,存储器晶片chip#0包含逻辑单元编号#0~#1(lun#0与lun#1),存储器晶片chip#1包含逻辑单元编号#2~#3(lun#2与lun#3)。逻辑单元编号#0~#1(lun#0与lun#1)分别对应通道ch#0以及ch#1,逻辑单元编号#2~#3(lun#2与lun#3)分别对应通道ch#2以及ch#3。逻辑单元编号#0(lun#0)支援两平面的存取:一平面包括区块b000、b001…b00n,另一平面包括区块b010、b011…b01n。逻辑单元编号#1(lun#1)支援两平面的存取:一平面包括区块b100、b101…b10n,另一平面包括区块b110、b111…b11n。逻辑单元编号#2(lun#2)支援两平面的存取:一平面包括区块b200、b201…b20n,另一平面包括区块b210、b211…b21n。逻辑单元编号#3(lun#3)支援两平面的存取:一平面包括区块b300、b301…b30n,另一平面包括区块b310、b311…b31n。控制器102可通过四通道ch#0…ch#3存取八平面内容。不同通道ch#0…ch#3可并行传递数据。共用同通道的两平面则可采用轮替(interleaving)方式进行数据存取。相较于多通道操作,集中于特定通道的多笔操作将明显拖累数据储存装置100的操作效能。考量多通道存取的优势以及操作要点,回应主机104输出的命名空间建立指令时,控制器102将实现高频宽且低噪的命名空间规划。所谓高频宽是善用多通道存取优势。所谓低噪则是避免多笔操作集中特定通道上。以下详述之。图2为流程图,根据本发明一种实施方式图解主机104如何下达命名空间规划要求。步骤s202,主机104发出一命名空间建立(namespacecreation)指令或命名空间管理(namespacemanagement)指令以建立命名空间,其中,指令更指示命名空间参数─例如,命名空间长度或容量(namespacesize或capacity),其中,命名空间长度或容量较佳以逻辑区块的数量来表示,指示所欲建立的命名空间对应多大范围的逻辑区块地址(lba),可反映出命名空间长度或容量需求。例如,一逻辑区块地址(lba)对应至一个可储存4kb数据的逻辑区块,则所配置的命名空间的长度或容量可由反映命名空间长度或容量的lba数值与单位数据量4kb相乘获得。根据步骤s202,控制器102规划快闪存储器空间以建立命名空间;此处即进行所述高频宽且低噪的命名空间规划。步骤s204(可选择的),主机104发出一命名空间格式化(namespaceformat)指令以改变或调整命名空间参数,例如:将逻辑区块的大小由4kb调整为16kb。步骤s206,主机104发出一命名空间依附(namespaceattachment)指令,使命名空间依附至数据储存装置100而成为可存取空间。图3a以及图3b为本发明一种实施方式建立命名空间方法的流程图,本发明建立命名空间的方法可用以对应主机104在步骤s202所发出的命名空间建立或命名空间管理指令。主机104于步骤s202发出的命名空间建立或命名空间管理指令可伫列于一提交伫列(submissionqueue),控制器102自提交伫列提取(fetch)伫列中的指令并执行本发明建立命名空间的方法,再储存完成元件(completionelement)至完成伫列(completionqueue),通知主机104命名空间建立或命名空间管理指令是否已执行成功。如果执行成功,则主机104接续进行步骤s204。参阅图3a步骤s302,在提取伫列中的指令后,控制器102检查是否有已依附的命名空间。若无,则执行步骤s304;若有,则执行图3b步骤s312。在步骤s304中,控制器102将所有通道分配给命名空间。假设目前并无已建立的命名空间,此时,欲建立的命名空间为命名空间#0,则控制器102将4个通道,即通道ch#0~#3,都分配给命名空间#0,其中,命名空间#0的编号可由控制器102分配或由主机104所指定。步骤s306中,控制器102判断命名空间能否建立在分配的通道中。快闪存储器的数据储存空间例如是512gb,或是128m个逻辑区块,控制器102以通道ch#0~#3存取快闪存储器的数据储存空间,则每一通道ch的数据储存空间(通道储存空间)例如是128gb,或是32m个逻辑区块,通道ch#0~#3共计有512gb,或是128m个逻辑区块的通道储存空间。控制器102判断命名空间建立指令或命名空间管理指令中命名空间长度或容量的值是否小于128m个逻辑区块。如果是,例如:命名空间#0的命名空间建立指令或命名空间管理指令的命名空间长度或容量的值为16m个逻辑区块,则通道ch#0~#3有足够的通道储存空间以建立命名空间#0,则在步骤s308中,控制器102依据命名空间建立指令或命名空间管理指令的命名空间参数建立命名空间#0后,回传表示执行成功的完成元件至完成伫列。如果命名空间#0的编号是由控制器102进行分配,则于完成元件中填入命名空间#0的编号0x00。一种实施方式中,通道ch#0~#3各自负责命名空间#0的4m个逻辑区块的数据储存;各命名空间的尺寸需求可由所对应的通道均分负责。如果否,则表示快闪存储器无足够的数据储存空间以建立命名空间,执行步骤s310。在步骤s310中,控制器102回传表示执行失败的完成元件至完成伫列。另外,由于步骤s202执行失败,主机104可调整命名空间参数后重新执行步骤s202,或者,进入错误检测程序以判断步骤s202执行失败的原因。若步骤s302判断有依附的命名空间于快闪存储器中,例如,于建立命名空间#1时,命名空间#0已经建立并依附完成,则随着连结号码a,流程进行第3b图所示步骤s312,控制器102解依附(detachment)所有命名空间,例如,解依附命名空间#0,此时,命名空间#0~#1皆处于未依附状态。在步骤s314,控制器102分配一个以上通道至每一命名空间,其中,控制器102较佳平均分配所有通道至所有命名空间,亦可分配单一通道各自对应一命名空间。以上述为例,则控制器102较佳将通道ch#0~#3平均分配给命名空间#0~#1,则每一命名空间分配二个通道,例如,分配通道ch#0~#1给命名空间#0,分配通道ch#2~#3给命名空间#1。或是,控制器102分配单一通道各自对应一命名空间,例如,分配通道ch#0给命名空间#0,分配通道ch#1给命名空间#1。在步骤s316中,控制器102判断命名空间能否建立在分配的通道中,若可以则执行步骤s318,若不行则执行步骤s314。假设命名空间#0的命名空间建立指令或命名空间管理指令的命名空间长度或容量的值为64gb或16m个逻辑区块,命名空间#1的命名空间建立指令或命名空间管理指令的命名空间长度或容量的值为160gb或40m个逻辑区块。当控制器102分配通道ch#0~#1给命名空间#0,分配通道ch#2~#3给命名空间#1时,命名空间#0~#1可被建立成功,则执行步骤s318。当控制器102仅分配通道ch#0给命名空间#0,仅分配通道ch#1给命名空间#1时,命名空间#0可被建立成功,但命名空间#1无法被建立,因此重新执行步骤s314。当步骤s314再度被执行时,控制器102重新分配通道至每一命名空间,例如:分配通道ch#0给命名空间#0,分配通道ch#1~#2给命名空间#1,或是分配通道ch#0给命名空间#0,分配通道ch#1~#3给命名空间#1。依据此分配结果,则在步骤s316,命名空间#0~#1可建立在被分配的通道,接着执行步骤s318。在步骤s318中,控制器102将命名空间的数据搬移至分配的通道中。接着,流程结束,写入显示执行成功的完成元件至完成伫列。以上述为例,命名空间#0原本被分配通道ch#0~#3,现在被分配通道ch#0~#1,则控制器102将命名空间#0在通道ch#2~#3的数据搬移至通道#0~#1中。如果命名空间#0仅分配有通道ch#0,则控制器102将命名空间#0在通道ch#1~#3的数据搬移至通道#0中。另外,当通道ch#1~#3的数据搬移至通道#0之后,控制器102对逻辑-物理映射表(logical-physicalmappingtable)进行更新。在步骤s320中,控制器102重新依附被解依附的命名空间。以上述为例,命名空间#0在步骤s312被解依附,则重新依附命名空间#0至数据储存装置100。在其他实施方式中,图3a步骤s302的既有命名空间检查以及图3b步骤s312的既有命名空间解依附可改由主机104端发出指令进行。此段落特别以通道数量为四为例,讨论步骤s202执行时可能会遇到的状况。一开始数据储存装置100并未包含任何命名空间,因此,第一次执行步骤s202时,在命名空间参数皆正常的情况下,控制器102可顺利地建立命名空间#0,并将通道ch#0~#3分部分配给命名空间#0。第二次执行步骤s202时,由于数据储存装置100已包含命名空间#0,因此,执行步骤s312,控制器102解依附命名空间#0,接着执行步骤s314,将通道ch#0~#3均分配给命名空间#0~#1后,经步骤s316仍判定不满足命名空间#1的命名空间参数需求。相应之,重新执行步骤s314,控制器102仅分配通道ch#0给命名空间#0,但剩余的通道#1~#3皆分配给命名空间#1,在此配置条件下,命名空间#0~#1的命名空间参数皆被满足,即控制器102可成功地建立命名空间#0~#1。最后,控制器102将命名空间#0原本遍布通道ch#0~#3的数据于步骤s318搬移到通道ch#0的通道储存空间中。整理之,根据以上流程,控制器102在回应主机104提出的命名空间建立指令时,配置各命名空间的对应通道。控制器102考量了多通道的均匀使用,使规划出的命名空间利用了所有通道(高频宽),但避免不同命名空间共用同一通道(低噪)。一种实施方式中,命名空间#0储存操作系统的软件,而命名空间#1储存使用者数据。若在操作系统中要求使用者数据,本发明规划将成功避开集中存取特定通道。操作系统以及使用者数据存取皆高速运行且不互相干扰。在另一种实施方式中,命名空间#0储存机密数据,而命名空间#1储存非机密数据,因此,主机104可以依据使用者的权限而有效地进行数据的管理。此外,控制器102亦可仅分配单一通道ch至单一命名空间,当单一通道ch的通道储存空间不足以建立单一命名空间时,控制器102才分配多通道ch至单一命名空间。在此设定下,并非每一通道ch都会被分配,而未分配的通道ch将分配给下一个命名空间。在上述中控制器102乃依据命名空间参数中命名空间长度或容量(以逻辑区块为单位)判断是否能在分配的通道ch中建立命名空间。除此之外,控制器102亦可依据命名空间参数中全部非挥发性存储器容量(totalnvmcapacity)(以位元为单位)判断是否能在分配的通道ch中建立命名空间,由于原理类似,在下述中仅对两者的重大差异处进行说明。在步骤s306中,控制器102判断命名空间能否建立在分配的通道中。快闪存储器的数据储存空间例如是512gb,控制器102以通道ch#0~#3存取快闪存储器的数据储存空间,则每一通道ch的通道储存空间例如是128gb。控制器102判断命名空间建立指令或命名空间管理指令中全部非挥发性存储器容量的值是否小于512gb,如果是,例如:命名空间#0的命名空间建立指令或命名空间管理指令中全部非挥发性存储器容量的值为64gb,则快闪存储器有足够的数据储存空间以建立命名空间#0,则在步骤s308中,控制器102依据命名空间建立指令或命名空间管理指令的命名空间参数建立命名空间#0后,回传表示执行成功的完成元件至完成伫列。在步骤s316中,控制器102判断命名空间能否建立在分配的通道中。假设命名空间#0的命名空间建立指令或命名空间管理指令中全部非挥发性存储器容量的值为64gb(16m个逻辑区块),命名空间#1的命名空间建立指令或命名空间管理指令中全部非挥发性存储器容量的值为160gb(40m个逻辑区块)。当控制器102分配通道ch#0~#1给命名空间#0,分配通道ch#2~#3给命名空间#1时,命名空间#0~#1可被建立成功。当控制器102仅分配通道ch#0给命名空间#0,仅分配通道ch#1给命名空间#1时,命名空间#0可被建立成功,但命名空间#1无法被建立,因此重新执行步骤s314,控制器102分配通道ch#1~#2给命名空间#1,则命名空间#1亦可被建立成功。一种实施方式中,控制器102令各命名空间之尺寸需求系由所对应的通道均分负责。控制器102可设定各通道是负责哪些逻辑地址范围,以应付所对应的命名空间的尺寸需求。快闪存储器可由主机104下达逻辑区块地址(lba)透过该控制器102而控制。该控制器102可设定各通道负责哪些逻辑区块地址范围(lbarange),以应付所对应的命名空间的尺寸需求。该控制器102可以各通道闲置的区块进行垃圾回收以及抹写平均。同一命名空间所对应的通道可以负责等量的逻辑区块地址范围(lbarange),以应付该命名空间的尺寸需求。凡采用本发明所提出的命名空间规划技术者,即有可能涉及本发明所欲保护的范围。基于以上技术内容,本发明还涉及非挥发式存储器操作方法。虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何熟悉本
技术领域
:者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当由权利要求书界定为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1