数据储存装置以及非挥发式存储器控制方法与流程

文档序号:25732707发布日期:2021-07-06 18:41阅读:65来源:国知局
数据储存装置以及非挥发式存储器控制方法与流程

本发明是有关于数据储存空间的规划。



背景技术:

非挥发式存储器有多种形式─例如,快闪存储器(flashmemory)、磁阻式随机存取存储器(magnetoresistiveram)、铁电随机存取存储器(ferroelectricram)、电阻式随机存取存储器(resistiveram)、自旋转移力矩随机存取存储器(spintransfertorque-ram,stt-ram)…等,用于长时间数据保存,可做为储存媒体实现一数据储存装置。

随着非挥发式存储器的储存能力提升,同一数据储存装置可能由多种用途共用。然而,不同用途对数据的存取可能彼此干扰。



技术实现要素:

本案公开非挥发式存储器的一种空间规划技术。

根据本案一种实施方式实现的一数据储存装置包括一非挥发式存储器以及控制该非挥发式存储器的一控制器。该控制器以一第一单位配置该非挥发式存储器组成一第一层级的一第一群组空间,且以一第二单位配置该非挥发式忆体组成一第二层级的一第二群组空间。上述第一单位大于等于上述第二单位。上述第一单位的存取的独立性高于上述第二单位。

一种实施方式中,该控制器更以上述第一单位配置该非挥发式存储器组成该第一层级的一第三群组空间,不重叠该第一群组空间。该控制器在该第一群组空间建立该第二群组空间。该控制器更不重叠该第二群组空间,以上述第二单位在该第一群组空间内建立一第四群组空间。

一种实施方式中,该控制器允许对应该第一群组空间的一第一应用程序存取该第二群组空间以及该第四群组空间,但不允许该第一应用程序存取该第三群组空间。该控制器更可能不允许对应该第二群组空间的一第二应用程序存取该第四群组空间。

一种实施方式中,该控制器更在该第二群组空间内,以上述第二单位配置得一第三层级的一第五群组空间以及一第六群组空间。该第五群组空间以及该第六群组空间不重叠。该控制器可允许该第二应用程序存取该第五群组空间以及该第六群组空间。

一种实施方式中,该非挥发式存储器为一快闪存储器。该控制器经多个通道、根据多个芯片致能信号存取该快闪存储器,以逻辑单元编号区分各通道上不同芯片致能信号所控制的空间。各逻辑单元编号所控制的空间包括多个区块。上述第一单位为单一个上述逻辑单元编号所管理的空间。上述第二单位为单一个上述区块。

一种实施方式中,存取该第一群组空间的通道不同于存取该第三群组空间的通道。该第一群组空间的各个逻辑单元编号所管理的空间可局部配置为该第二群组空间,且可局部配置为该第四群组空间。

一种实施方式中,控制该第一群组空间的芯片致能信号不同于控制该第三群组空间的芯片致能信号。该第一群组空间的各个逻辑单元编号所管理的空间可局部配置为该第二群组空间,且可局部配置为该第四群组空间。

以上存储器控制器对非挥发式存储器的操作也可以由其他结构实现。本案更可以前述概念实现非挥发式存储器的控制方法。

附图说明

为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明,其中:

图1图解一种储存空间规划方式,其中划分群组空间(set),引入输入输出确定性(i/odetermination);

图2根据本案一种实施方式图解层级式群组空间的架构图,由高层级群组空间分割出低层级群组空间;

图3图解该数据储存装置100的一种实施方式,包括一快闪存储器302以及一控制器304;

图4a图解以逻辑单元编号为单位(lun-based)的一种群组空间配置,其中跨通道(ch)且跨芯片致能信号(ce)地配置群组空间;

图4b图解以逻辑单元编号为单位(lun-based)的另一种群组空间配置,其中单纯跨芯片致能信号(ce)地配置群组空间;

图4c图解以逻辑单元编号为单位(lun-based)的另一种群组空间配置,其中单纯跨通道(ch)地配置群组空间;

图5a、图5b以及图5c图解以区块为单位(block-based)的多种群组空间配置;

图6是以5a图的群组空间s(0,0)为母群组空间,以区块为单位(block-based)划分出子群组空间s(0,0,0)以及s(0,0,1);

图7为流程图,图解根据本案一种实施方式所实现的群组空间配置方法;

图8为流程图,图解步骤s704的一种实施方式,完成多个第一层级群组空间的配置;

图9为流程图,图解步骤s710的一种实施方式,在特定的第一层级群组空间上,完成多个第二层级群组空间的配置。

图中元件标号说明:

100~数据储存装置;

302~快闪存储器;

304~控制器;

306~主机;

lun(0,0)…lun(5,3)~以逻辑单元编号(lun)区别的空间;

ns_a1…ns_a3、ns_b1、ns_b2、ns_c1~命名空间;

nvm_set_a、nvm_set_b、nvm_set_c~群组空间;

s0…s5、s(0,0)、s(0,1)、s(0,0,0)、s(0,0,1)~群组空间;

s702…s712、s802…s814、s902…s908~步骤。

具体实施方式

以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照权利要求书界定。

非挥发式存储器可以是快闪存储器(flashmemory)、磁阻式随机存取存储器(magnetoresistiveram)、铁电随机存取存储器(ferroelectricram)、电阻式存储器(resistiveram,rram)、自旋转移力矩随机存取存储器(spintransfertorque-ram,stt-ram)…等,提供长时间数据保存的储存媒体。以下特别以快闪存储器为例进行讨论。

现今数据储存装置常以快闪存储器为储存媒体,实现存储卡(memorycard)、通用序列总线闪存装置(usbflashdevice)、固态硬盘(ssd)…等产品。有一种应用是采多芯片封装、将快闪存储器与其控制器包装在一起─称为嵌入式快闪存储器模块(如emmc)。

以快闪存储器为储存媒体的数据储存装置可应用于多种电子装置中。所述电子装置包括智能手机、穿戴装置、平板电脑、虚拟实境设备…等。电子装置的运算模块可视为主机(host),操作所使用的数据储存装置,以存取其中快闪存储器。

以快闪存储器为储存媒体的数据储存装置也可用于建构数据中心。例如,服务器可操作固态硬盘(ssd)阵列形成数据中心。服务器即可视为主机,操作所连结的固态硬盘,以存取其中快闪存储器。

随着储存能力提升,快闪存储器可能由多种用途共用。例如,多个使用者可能共用同一快闪存储器。例如,同一快闪存储器可能由多种应用程序共用。如此共用需求可能彼此干扰。例如,一个应用程序不停将数据写入该快闪存储器,这个写入的过程就会对另外一个以读为主的应用程序造成巨大的影响。快闪存储器的储存空间规划需考量到不同用途彼此间的干扰问题。

快闪存储器的空间规划需基于输入/输出隔离(i/oisolation)精神。以云端或是虚拟实境技术为例,若共用一个数据储存装置,不同服务所配置到的快闪存储器空间较佳具备输入输出隔离的设计,方能确保服务品质(qualityofservice,简称qos),或满足服务级别协议(servicelevelagreement,简称sla)。

图1图解一种储存空间规划方式,其中划分群组空间(set),引入输入输出确定性(i/odetermination)。

图1所示数据储存装置100是以高速非挥发式存储器(non-volatilememoryexpress,简称nvme)介面规范与主机通信,其中快闪存储器划分为三个群组空间(sets)nvm_set_a、nvm_set_b以及nvm_set_c。群组空间nvm_set_a包括三个命名空间(namespaces)ns_a1、ns_a2以及ns_a3。群组空间nvm_set_b包括两个命名空间ns_b1以及ns_b2。群组空间nvm_set_c包括一个命名空间ns_c1。不同命名空间可独立进行格式化及加密。各群组空间可拥有一到多个命名空间。群组空间nvm_set_a、nvm_set_b以及nvm_set_c彼此为输入输出隔离,可隔离或降低主机端不同的操作系统(operatingsystem)、档案系统(filesystem)、以及/或应用程序(applications)…等对快闪存储器的存取所造成的存取干扰。举例说明的,相对于使用群组空间nvm_set_a的一第一操作系统,一第二操作系统可以配对使用群组空间nvm_set_b,使得第一操作系统以及第二操作系统彼此独立。

特别是,群组空间之间的隔离需求可能有高有低。本案特别提出层级式(tiered)群组空间,以区别高、低输入输出隔离需求。例如,根据本案技术,群组空间nvm_set_a以及nvm_set_b之间可以普通隔离,而此二群组空间又可更与群组空间nvm_set_c高度隔离。

图2根据本案一种实施方式图解层级式群组空间的架构图,由高层级群组空间分割出低层级群组空间。高层级群组空间对应高输入输出隔离度。低层级群组空间对应低输入输出隔离度。

一种实施方式是在规划出较高层级的层级#1群组空间1~n1后,以之为母群组空间(motherset)划分出子群组空间(subsets)。例如,层级#1群组空间1可划分出层级#2群组空间(1,1)…(1,n2),层级#1群组空间n1可划分出层级#2群组空间(n1,1)…(n1,n3)。甚至,层级#2群组空间也可更划分出更低层级的群组空间。例如,层级#2群组空间(1,1)可划分出层级#3群组空间(1,1,1)…(1,1,n4)。树状图可继续分支,建构更低层级的群组空间。

另一种实施方式可称为混合群组空间(hybridset),可将位于相同或不同母群组空间的子群组空间予以合并(combine),例如,层级#2群组空间(n1,1)可合并至层级#2群组空间(1,1),层级#2群组空间(n1,n3)可合并至层级#2群组空间(1,n2),或是层级#2群组空间(n1,1)可合并至层级#3群组空间(1,1,1),层级#2群组空间(n1,n3)可合并至层级#2群组空间(1,1,n4),如此一来,群组空间的建立可具有更多的弹性。

一种实施方式中,层级式群组空间如此架构,更相应其他软、硬件的层级化。一种实施方式中,多个子群组空间将共用划分给其母群组空间的软、硬件资源。

一种实施方式中,母群组空间操作层级的应用程序得存取其子群组空间。例如,层级#1群组空间1对应的应用程序可存取层级#2群组空间(1,1)…(1,n2),但不得存取其他分支,如,层级#1群组空间n1(包括层级#2群组空间(n1,1)…群组(n1,n3))。例如,层级#2群组空间(1,1)对应的应用程序可存取层级#3群组空间(1,1,1)…(1,,1,n4),但不得存取其他分支,如,层级#2群组空间(1,n2)。

相较于其他母群组空间所划分出的子群组空间,同样母群组空间划分出的子群组空间的输入输出隔离度较低。例如,相较于与层级#2群组空间(n1,1)…(n1,n3)的输入输出隔离度,层级#2群组空间(1,1)…(1,n2)彼此间的输入输出隔离度较低。

本案为高层级群组空间以及低层级群组空间提供不同的储存空间配置原则。例如,层级高的群组空间是以一第一单位划分,层级低的群组空间是以一第二单位划分。第二单位不大于第一单位。第一单位的存取独立性高于第二单位。第一单位以及第二单位的选择,是基于非挥发式存储器的储存特性。

图3图解该数据储存装置100的一种实施方式,包括一快闪存储器302以及一控制器304。一主机306通过该控制器304以多通道(multiplechannels)读写该快闪存储器302。各通道上的储存空间更可以多个芯片致能(ce)信号驱动,可以逻辑单元编号(lun)区别。附图六个通道上、由四个芯片致能信号控制的空间可由24个逻辑单元编号区分,标示为lun(ch,ce)。各逻辑单元编号(lun)所管理的空间包括多个区块(blocks),各区块包括多个页(pages),各页包括多个区段(sectors)。区块乃快闪存储器302储存空间的抹除单位。控制器304无法对小于区块的空间作个别抹除。本案一种实施方式中,控制器304是以逻辑单元编号为单位(lun-based)对该快闪存储器302进行第一层级群组空间配置,并以区块为单位(block-based)更对该快闪存储器302进行第二层级群组空间配置。第一层级群组配置的输入输出隔离度(i/oisolation)高于第二层级群组配置。相较于区块,逻辑单元编号所管理的空间的存取更是独立,较不易彼此干扰。第一层级群组空间的输入输出隔离度高于第二层级群组空间。一种实施方式更可以区块为单位(block-based)实现更低层级(输入输出隔离度更低)的群组空间配置。

图4a图解以逻辑单元编号为单位(lun-based)的一种群组空间配置,其中跨通道(ch)且跨芯片致能信号(ce)地配置群组空间。在附图六通道且各通道对应四个芯片致能信号的状态下,四个群组空间s0…s3各跨三个通道、以及两个芯片致能信号。

图4b图解以逻辑单元编号为单位(lun-based)的另一种群组空间配置,其中单纯跨芯片致能信号(ce)地配置群组空间。在附图六通道且各通道对应四个芯片致能信号的状态下,六个群组空间s0…s5各自含括一个通道的储存空间,彼此不以相同通道存取。

图4c图解以逻辑单元编号为单位(lun-based)的另一种群组空间配置,其中单纯跨通道(ch)地配置群组空间。在附图六通道且各通道对应四个芯片致能信号的状态下,跨通道的四个群组空间s0…s3各自对应单一个芯片致能信号编号,彼此不以相同芯片致能信号控制。

以逻辑单元编号为单位(lun-based)的群组空间配置并不限定如前述跨通道或/以及跨芯片致能信号。任何使同一逻辑单元编号所管理的储存空间配置属同一群组空间的技术,都可理解为本案以逻辑单元编号为单位(lun-based)的群组空间配置。

以逻辑单元编号为单位(lun-based)的群组空间配置有多项优点。不同群组空间的驱动具有相当独立性,可视为完全隔离(completelyseparatedinphysicalspace),能确实满足服务级别协议(sla)。以逻辑单元编号为单位(lun-based)的群组空间配置也能有效降低存取冲突(mediacollision)。

一种实施方式中,以逻辑单元编号为单位(lun-based)的群组空间配置也方便实行独立硬盘冗余阵列(raid)。备份内容将储存于特定逻辑单元编号(lun)的储存空间。

以逻辑单元编号为单位(lun-based)配置出的群组空间,可做为母群组空间,更划分为以区块为单位(block-based)的子群组空间。

图5a图解以区块为单位(block-based)的一种群组空间配置。图4a以逻辑单元编号为单位(lun-based)配置出的群组空间s0将更以区块为单位(block-based)划分为两个群组空间,分别为斜线标示的群组空间s(0,0)以及无斜线标示的群组空间s(0,1),如图5a所示。两个群组空间s(0,0)以及s(0,1)都跨逻辑单元编号配置。附图是将各逻辑单元编号中,前段编号(编号0到编号n-1)的区块配置为群组空间s(0,0),并将各逻辑单元编号中,后段编号(编号n到编号2n-1)的区块配置为群组空间s(0,1)。

类似地,图4b以及图4c以逻辑单元编号为单位(lun-based)配置出的群组空间也可以区块为单位(block-based)再划分。图5b以及图5c为相应实施例。以逻辑单元编号为单位(lun-based)配置出的群组空间s0将更以区块为单位(block-based)划分为两个群组空间,分别为斜线标示的群组空间s(0,0)以及无斜线标示的群组空间s(0,1)。两个群组空间s(0,0)以及s(0,1)都跨逻辑单元编号配置。附图是将各逻辑单元编号中,前段编号(编号0到编号n-1)的区块配置为群组空间s(0,0),并将各逻辑单元编号中,后段编号(编号n到编号2n-1)的区块配置为群组空间s(0,1)。

以区块为单位(block-based)的群组空间配置并不限定如前述跨逻辑单元编号。任何使同一区块属同一群组空间的技术,都可理解为本案以区块为单位(block-based)的群组空间配置。

以区块为单位(block-based)的群组空间配置有多项优点,如,不受限于逻辑单元编号的总数,且以区块为单位(block-based)可配置更高总数的群组空间。相较于以逻辑单元编号为单位,以区块为单位的群组空间配置更有弹性。

以区块为单位(block-based)的群组空间配置可重复执行,形成更低层级的群组空间。图6是以5a图的群组空间s(0,0)为母群组空间,以区块为单位(block-based)划分出子群组空间s(0,0,0)以及s(0,0,1)。附图是将各逻辑单元编号中,前段编号(编号0到编号m-1)的区块配置为群组空间s(0,0,0),并将随后的编号m到编号n-1的区块配置为群组空间s(0,0,1)。

本案对数据储存空间所做的多层级群组空间配置确保各群组空间不会共用区块。群组空间的输入输出隔离度极佳。不同群组空间的存取干扰不大,落实隔离数据。

一种实施方式中,以逻辑单元编号为单位(lun-based)的群组空间配置可应付使用者之间的输入输出隔离(i/oisolationamongtenants)。至于以区块为单位(block-based)的群组空间配置则可应付使用者自身需求的输入输出隔离(i/oisolationwithintenants)。

一种实施方式中,不同虚拟机器(virtualmachines)使用到的储存空间是以逻辑单元编号为单位(lun-based)配置获得。

一种实施方式中,单一虚拟机器所配置到的群组空间可更以区块为单位(block-based),分割成较小的多个群组空间,供不同应用程序使用。

图7为流程图,图解根据本案一种实施方式所实现的群组空间配置方法。

步骤s702:控制器304接收主机306发下的一第一层级群组空间配置指令,其中标明欲建立的第一层级群组空间数量、以及/或尺寸…等。

步骤s704:控制器304根据该第一层级群组空间配置指令,以逻辑单元编号为单元(lun-based),在该快闪存储器302上建立所要求的第一层级群组空间。

步骤s706:控制器304将该第一层级群组空间配置指令的执行状况回报该主机306。

步骤s708:控制器304接收主机306发下的一第二层级群组空间配置指令,其中指定特定的第一层级群组空间为母群组空间,并标明子群组空间(第二层级群组空间)数量、以及/或尺寸。

步骤s710:控制器304根据该第二层级群组空间配置指令,以区块为单元(block-based),在该特定的第一层级群组空间分割出第二层级群组空间。

步骤s712:控制器304将该第二层级群组空间配置指令的执行状况回报该主机306,并判断其他第一层级群组空间是否也需要更划分。若否,流程结束。若是,流程重复步骤s708。

图8为流程图,图解步骤s704的一种实施方式,完成多个第一层级群组空间的配置。

步骤s802:控制器304根据该第一层级群组空间配置指令所指示的其一第一层级群组空间尺寸,计算逻辑单元编号(lun)量。

步骤s804:控制器304确认配置形态。第一、第二、第三形态分别对应步骤s806、s808、以及s810。

步骤s806:参考图4a,控制器304以跨多个通道(ch)以及跨多个芯片致能信号(ce)的方式,建立一第一层级群组空间,满足该逻辑单元编号量。

步骤s808:参考图4b,控制器304在同一通道上以跨多个芯片致能信号(ce)的方式,建立一第一层级群组空间,满足该逻辑单元编号量。

步骤s810:参考图4c,控制器304对同样的芯片致能信号编号,跨通道(ch)建立一第一层级群组空间,满足该逻辑单元编号量。

步骤s812:控制器304将一第一层级群组空间数量递减。

步骤s814:控制器304判断该第一层级群组空间数量是否为零。若是,第一层级群组空间配置指令所要求的多个第一层级群组空间都配置完成。本流程结束。若否,流程重复步骤s802。

图9为流程图,图解步骤s710的一种实施方式,在特定的第一层级群组空间上,完成多个第二层级群组空间的配置。

步骤s902:控制器304根据该第二层级群组空间配置指令所指示的其一第二层级群组空间尺寸,计算区块(block)量。

步骤s904:参考图5a、图5b以及图5c,控制器304在该特定的第一层级群组空间上,以跨逻辑单元编号(lun)空间的方式,建立一第二层级群组空间,满足该区块量。

步骤s906:控制器304将一第二层级群组空间数量递减。

步骤s908:控制器304判断该第二层级群组空间数量是否为零。若是,第二层级群组空间配置指令所要求的多个第二层级群组空间都配置完成。本流程结束。若否,流程重复步骤s902。

以上控制器304对快闪存储器302的操作设计也可以由其他结构实现。

凡是根据前述概念非挥发式存储器的储存空间层级化的技术,都属于本案欲保护范围。本案更可以前述概念实现非挥发式存储器的控制方法。

虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。

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