CN106484587A - 一种命名空间管理方法、装置及计算机系统 - Google Patents
一种命名空间管理方法、装置及计算机系统 Download PDFInfo
- Publication number
- CN106484587A CN106484587A CN201510532848.3A CN201510532848A CN106484587A CN 106484587 A CN106484587 A CN 106484587A CN 201510532848 A CN201510532848 A CN 201510532848A CN 106484587 A CN106484587 A CN 106484587A
- Authority
- CN
- China
- Prior art keywords
- namespace
- event
- driver
- controller
- solid state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明的实施例提供一种命名空间管理方法、装置及计算机系统,涉及计算机领域,能够对命名空间进行动态管理。具体方案为:控制器对命名空间事件进行监控;当所述控制器监控到所述命名空间事件被触发时,根据所述命名空间事件生成事件描述信息,所述事件描述信息用于指示由所述命名空间事件所引起的固态硬盘的命名空间变化情况;所述控制器将所述事件描述信息发送至驱动器,以便于所述驱动器根据所述事件描述信息更新所述计算机系统可访问的命名空间。本发明用于控制器和驱动器的制造。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种命名空间(英文全称:NameSpace)管理方法、装置及计算机系统。
背景技术
固态硬盘(英文全称:Solid State Drives,英文简称:SSD)相对于传统的磁介质硬盘,在性能、可靠性等方面均占有很大优势。非易失性存储器(英文全称:Non-Volatile Memory,英文简称:NVMe)以其良好的开源生态圈得到主流厂商支持,逐渐成为固态硬盘的标准接口,得到广泛应用。
随着使用环境的逐渐复杂,NVMe的命名空间由最初的一个变为多个。在计算机系统加载驱动对NVMe进行初始化时,驱动从NVMe的寄存器读取NVMe的命名空间的最大支持个数,循环对每个命名空间发起识别(英文全称:Identify)命令,将识别成功的命名空间的接口添加至计算机系统,初始化结束之后,计算机系统以初始化过程中识别成功的命名空间作为可访问的命名空间,并通过访问这些识别成功的命名空间接口对NVMe进行数据读写操作。
然而,现有技术中对命名空间的管理方法,在实际可访问的命名空间发生变化时,计算机系统也始终以初始化过程中识别成功的命名空间作为可访问的命名空间,不能正常访问发生变化的命名空间。
例如,在初始化过程中识别失败的命名空间,当这些命名空间在某一时刻变为正常状态时,由于在计算机系统中这些命名空间仍旧是未识别的状态,导致这些命名空间不能被访问,造成资源浪费。另外,对于计算机系统在初始化过程中识别成功,但在后期变得实际不可访问的命名空间,如果计算机系统访问这些命名空间则会导致失败,影响了计算机系统的可靠性。
发明内容
本发明的实施例提供一种命名空间管理方法、装置及计算机系统,能够根据固态硬盘命名空间的实际变化对命名空间进行动态管理,有效利用可用的命名空间资源,提高计算机系统的工作效率和可靠性。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,一种命名空间管理方法,应用于固态硬盘内的控制器,所述固态硬盘安装于计算机系统内,所述计算机系统还包括驱动器,所述驱动器用于驱动所述固态硬盘;所述方法包括:
所述控制器对命名空间事件进行监控,所述命名空间事件在所述固态硬盘的命名空间发生变化时被触发;
当所述控制器监控到所述命名空间事件被触发时,根据所述命名空间事件生成事件描述信息,所述事件描述信息用于指示由所述命名空间事件所引起的固态硬盘的命名空间变化情况;
所述控制器将所述事件描述信息发送至所述驱动器,以便于所述驱动器根据所述事件描述信息更新所述计算机系统可访问的命名空间。
结合第一方面,在第一种可能的实现方式中,所述事件描述信息包括命名空间标识和事件类型;
其中,所述命名空间标识用于标识发生变化的命名空间。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述事件描述信息还包括命名空间容量,所述命名空间容量用于指示命名空间变化后的容量大小。
结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述命名空间事件的事件类型,包括以下至少一种:
增加新命名空间;
删除已有命名空间;
对已有命名空间进行扩容;
对已有命名空间进行缩容。
结合第一方面,在第四种可能的实现方式中,所述控制器将所述事件描述信息发送至所述驱动器之前,所述方法还包括:
根据所述驱动器的读写操作参数,生成命名空间的配置模板,并将所述配置模板应用于发生变化的命名空间;
其中,所述配置模板包括用于对命名空间进行优化配置的参数。
结合第一方面至第一方面的第四种可能的实现方式中的任一种,在第五种可能的实现方式中,所述控制器对命名空间事件进行监控之前,所述方法还包括:
接收所述驱动器发送的监控命令,所述监控命令用于指示所述控制器对所述命名空间事件进行监控。
结合第一方面至第一方面的第四种可能的实现方式中的任一种,在第六种可能的实现方式中,所述控制器向所述驱动器上报所述事件描述信息之后,所述方法还包括:
接收所述驱动器发送的反馈信息,所述反馈信息用于指示所述驱动器对所述计算机系统可访问的命名空间进行更新的操作结果;
根据所述反馈信息对所述固态硬盘上发生变化的命名空间进行处理。
第二方面,一种命名空间管理方法,应用于驱动器,所述驱动器安装于计算机系统内,所述计算机系统还包括固态硬盘,所述驱动器用于驱动所述固态硬盘,所述固态硬盘包括控制器;所述方法包括:
所述驱动器接收所述控制器发送的事件描述信息,所述事件描述信息用于指示由命名空间事件所引起的固态硬盘的命名空间变化情况,所述命名空间事件在所述固态硬盘的命名空间发生变化时被触发;
根据所述事件描述信息更新所述计算机系统可访问的命名空间。
结合第二方面,在第一种可能的实现方式中,所述驱动器接收所述控制器发送的事件描述信息之前,所述方法还包括:
所述控制器对所述命名空间事件进行监控;
当所述控制器监控到所述命名空间事件被触发时,根据所述命名空间事件生成所述事件描述信息;
所述控制器将所述事件描述信息向所述驱动器发送。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述控制器对所述命名空间事件进行监控之前,所述方法还包括:
向所述控制器发送监控命令,所述监控命令用于指示所述控制器对所述命名空间事件进行监控。
结合第二方面,在第三种可能的实现方式中,所述事件描述信息包括命名空间标识和事件类型;
其中,所述命名空间标识用于标识发生变化的命名空间。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述事件描述信息还包括命名空间容量,所述命名空间容量用于指示命名空间变化后的容量大小。
结合第二方面的第三种可能的实现方式,在第五种可能的实现方式中,所述命名空间事件的事件类型,包括以下至少一种:
增加新命名空间;
删除已有命名空间;
对已有命名空间进行扩容;
对已有命名空间进行缩容。
结合第二方面至第二方面的第五种可能的实现方式中的任一种,在第六种可能的实现方式中,所述根据所述事件描述信息更新所述计算机系统可访问的命名空间之后,所述方法还包括:
向所述控制器发送反馈信息,所述反馈信息用于指示所述驱动器对所述计算机系统可访问的命名空间进行更新的操作结果;以便于所述控制器根据所述反馈信息对所述固态硬盘上发生变化的命名空间进行处理。
第三方面,一种固态硬盘内的控制器,所述固态硬盘安装于计算机系统内,所述计算机系统还包括驱动器,所述驱动器用于驱动所述固态硬盘;所述控制器包括:
事件监控单元,用于对命名空间事件进行监控,所述命名空间事件在所述固态硬盘的命名空间发生变化时被触发;
事件描述单元,用于当所述监控单元监控到所述命名空间事件被触发时,根据命名空间事件生成事件描述信息,所述事件描述信息用于指示由所述命名空间事件所引起的固态硬盘的命名空间变化情况;
发送单元,用于将所述事件描述信息发送至所述驱动器,以便于所述驱动器根据所述事件描述信息更新所述计算机系统可访问的命名空间。
结合第三方面,在第一种可能的实现方式中,所述事件描述信息包括命名空间标识和事件类型;
其中,所述命名空间标识用于标识发生变化的命名空间。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述事件描述信息还包括命名空间容量,所述命名空间容量用于指示命名空间变化后的容量大小。
结合第三方面的第一种可能的实现方式,在第三种可能的实现方式中,所述命名空间事件的事件类型,包括以下至少一种:
增加新命名空间;
删除已有命名空间;
对已有命名空间进行扩容;
对已有命名空间进行缩容。
结合第三方面,在第四种可能的实现方式中,所述控制器还包括:
配置单元,用于根据所述驱动器的读写操作参数,生成命名空间的配置模板,并将所述配置模板应用于发生变化的命名空间;
其中,所述配置模板包括用于对命名空间进行优化配置的参数。
结合第三方面至第三方面的第四种可能的实现方式中的任一种,在第五种可能的实现方式中,所述控制器还包括:
接收单元,用于接收所述驱动器发送的监控命令,所述监控命令用于指示所述控制器对所述命名空间事件进行监控。
结合第三方面至第三方面的第四种可能的实现方式中的任一种,在第六种可能的实现方式中,所述接收单元,还用于接收所述驱动器发送的反馈信息,所述反馈信息用于指示所述驱动器对所述计算机系统可访问的命名空间进行更新的操作结果;
所述控制器还包括命名空间管理单元,用于根据所述反馈信息对所述固态硬盘上发生变化的命名空间进行处理。
第四方面,一种驱动器,所述驱动器安装于计算机系统内,所述计算机系统还包括固态硬盘,所述驱动器用于驱动所述固态硬盘,所述固态硬盘包括控制器;所述驱动器包括:
接收单元,用于接收所述控制器发送的事件描述信息,所述事件描述信息用于指示由所述命名空间事件所引起的固态硬盘的命名空间变化情况,所述命名空间事件在所述固态硬盘的命名空间发生变化时被触发;
命名空间管理单元,用于根据所述接收单元接收到的所述事件描述信息更新所述计算机系统可访问的命名空间。
结合第四方面,在第一种可能的实现方式中,所述驱动器还包括:
监控请求单元,用于向所述控制器发送监控命令,所述监控命令用于指示所述控制器对所述命名空间事件进行监控。
结合第四方面,在第二种可能的实现方式中,所述事件描述信息包括命名空间标识和事件类型;
其中,所述命名空间标识用于标识发生变化的命名空间。
结合第四方面的第二种可能的实现方式,在第三种可能的实现方式中,所述事件描述信息还包括命名空间容量,所述命名空间容量用于指示命名空间变化后的容量大小。
结合第四方面的第二种可能的实现方式,在第四种可能的实现方式中,所述命名空间事件的事件类型,包括以下至少一种:
增加新命名空间;
删除已有命名空间;
对已有命名空间进行扩容;
对已有命名空间进行缩容。
结合第四方面至第四方面的第四种可能的实现方式中的任一种,在第五种可能的实现方式中,所述驱动器还包括:
反馈单元,用于向所述控制器发送反馈信息,所述反馈信息用于指示所述驱动器对所述计算机系统可访问的命名空间进行更新的操作结果;以便于所述控制器根据所述反馈信息对所述固态硬盘上发生变化的命名空间进行处理。
第五方面,一种固态硬盘,所述固态硬盘包括控制器,所述控制器为第三方面至第三方面的第六中可能的实现方式中的任一种实现方式所提供的控制器。
第六方面,一种计算机系统,所述计算机系统包括驱动器以及固态硬盘;
所述驱动器为第四方面至第四方面的第五种可能的实现方式中的任一种实现方式所提供的驱动器;
所述固态硬盘为第五方面所提供的固态硬盘。
本发明的实施例所提供的命名空间管理方法、装置及计算机系统,用于在计算机系统内对固态硬盘的命名空间进行动态管理。其中,计算机系统包括固态硬盘以及驱动器,驱动器用于驱动固态硬盘,固态硬盘包括控制器,驱动器通过固态硬盘的控制器对固态硬盘的存储介质进行读写操作。控制器通过对命名空间事件进行监控,当控制器监控到命名空间事件被触发时,根据命名空间事件生成事件描述信息,控制器将事件描述信息发送至驱动器,以便于驱动器根据事件描述信息更新计算机系统可访问的命名空间。控制器通过事件描述信息向驱动器上报命名空间的变化情况,驱动器根据事件描述信息对计算机系统可访问的命名空间进行更新,因此计算机系统能够根据固态硬盘的命名空间的实际变化情况,对固态硬盘进行读写操作,从而更有效地利用实际可访问的固态硬盘的命名空间资源,提高了计算机系统的工作效率和可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的实施例一所提供的一种命名空间管理方法流程示意图;
图2为本发明的实施例二所提供的一种命名空间管理方法流程示意图;
图3为本发明的实施例三所提供的一种命名空间管理方法流程示意图;
图4为本发明的实施例四所提供的一种控制器结构示意图;
图5为本发明的实施例四所提供的一种驱动器结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的实施例所提供的命名空间管理方法,用于在计算机系统内对固态硬盘的命名空间进行动态管理。计算机系统包括固态硬盘以及驱动器,驱动器用于驱动固态硬盘,固态硬盘包括控制器,驱动器通过固态硬盘的控制器对固态硬盘的存储介质进行读写操作。其中驱动器和控制器均可以通过硬件、固件、软件的方式来实现,或者通过三者的结合来实现。另外,固态硬盘的接口可以有多种具体的形式,本发明的实施例以NVMe为例进行说明,当然,这并不代表本发明的实施例所提供的命名空间的管理方法仅适用于接口为NVMe的应用场景中。
实施例一
本发明的实施例一提供一种命名空间管理方法,应用于固态硬盘的控制器,固态硬盘安装于计算机系统内,计算机系统包括驱动器,驱动器用于驱动固态硬盘。参照图1所示,本发明的实施例一所提供的命名空间管理方法具体包括以下步骤:
101、控制器对命名空间事件进行监控。
其中,命名空间事件在固态硬盘的命名空间发生变化时被触发。
固态硬盘可以包括多个命名空间,固态硬盘的命名空间发生变化,包括在已有的命名空间基础上增加新命名空间,或者删除已有的命名空间中的一个或者多个。例如,在一种具体的应用场景中,在NVMe后端插入新的NVMe存储介质,则固态硬盘增加新的命名空间,当插入的NVMe存储介质删除时,对应命名空间被删除。
进一步地,固态硬盘的命名空间发生变化还包括对已有命名空间进行扩容,以及对已有命名空间进行缩容的情况。
控制器对命名空间事件进行监控,即对固态硬盘的命名空间发生变化时所触发的各种事件进行监控。当监控到命名空间事件发生时,通过对命名空间进行动态管理,以使得计算机系统及时确定哪些命名空间可以访问,哪些命名空间已经删除,哪些命名空间的空间发生了变化,从而有效利用命名空间资源。
102、当控制器监控到命名空间事件被触发时,根据命名空间事件生成事件描述信息。
其中,事件描述信息用于指示由命名空间事件所引起的固态硬盘的命名空间变化情况,即命名空间事件发生之后的固态硬盘的命名空间,相对于命名空间事件发生之前的固态硬盘的命名空间,发生了哪些变化。例如,在NVMe后端插入新的NVMe存储介质的情况下,事件描述信息具体可以包括新增加命名空间的标识ID(英文全称:Identification)。可以理解的是,事件描述信息可以只对命名空间事件发生前后命名空间不同的部分进行说明,而对于相同的部分则无需说明。
103、控制器将事件描述信息发送至驱动器,以便于驱动器根据事件描述信息更新计算机系统可访问的命名空间。
在初始化完成后,计算机系统可访问的命名空间为初始化过程中识别成功的命名空间。在计算机系统运行过程中,命名空间事件发生之后,固态硬盘的命名空间发生变化,计算机系统可访问的命名空间为发生变化之后的固态硬盘的命名空间。命名空间事件发生之后计算机系统可访问的命名空间,与命名空间事件发生之前计算机系统可访问的命名空间可以部分重合。
如果有多个命名空间事件发生,则针对每个命名空间事件分别执行步骤101-步骤103,以动态更新计算机系统可访问的命名空间,包括增加新的命名空间,删除已有命名空间或者改变已有命名空间的容量。通过更新,计算机系统以命名空间事件发生后固态硬盘的命名空间,作为可访问的命名空间。
例如,在初始化过程完成后,驱动器识别成功的一个命名空间被删除,则该命名空间实际上变成不可访问的命名空间。控制器向驱动器发送事件描述信息,上报命名空间的变化情况,驱动器接收到事件描述信息之后,根据事件描述信息删除计算机系统与该命名空间之间的接口,则计算机系统不再访问该命名空间。
现有技术对命名空间的管理方法,在初始化过程中由驱动器对命名空间进行识别,计算机系统由于不能实时获知固态硬盘的命名空间所发生的变化,可能造成资源浪费、读写失败等问题。
本发明的实施例所提供的命名空间管理方法,控制器通过对命名空间事件进行监控,当控制器监控到命名空间事件被触发时,根据命名空间事件生成事件描述信息,控制器将事件描述信息发送至驱动器,以便于驱动器根据事件描述信息更新计算机系统可访问的命名空间。控制器通过事件描述信息向驱动器上报命名空间的变化情况,驱动器根据事件描述信息对计算机系统可访问的命名空间进行更新,因此计算机系统能够根据固态硬盘的命名空间的实际变化情况,对固态硬盘进行读写操作,从而更有效地利用实际可访问的固态硬盘的命名空间资源,提高了计算机系统的工作效率和可靠性。
实施例二
结合实施例一,本发明的实施例二提供一种命名空间管理方法,应用于驱动器,驱动器安装于计算机系统内,计算机系统包括固态硬盘,驱动器用于驱动固态硬盘。参照图2所示,本发明的实施例二所提供的命名空间管理方法具体包括以下步骤:
201、驱动器接收固态硬盘的控制器发送的事件描述信息。
其中,事件描述信息用于指示由命名空间事件所引起的固态硬盘的命名空间变化情况,命名空间事件在固态硬盘的命名空间发生变化时被触发。
202、根据事件描述信息更新计算机系统可访问的命名空间。
在初始化完成后,计算机系统可访问的命名空间为初始化过程中识别成功的命名空间。在初始化之后,命名空间事件发生则表示固态硬盘的命名空间发生变化,此时计算机系统可访问的命名空间为发生变化之后的固态硬盘的命名空间。命名空间事件发生之后计算机系统可访问的命名空间,与命名空间事件发生之前计算机系统可访问的命名空间可以部分重合。
更新计算机系统可访问的命名空间,包括增加新的命名空间,删除已有命名空间或者改变已有命名空间的容量。通过更新,计算机系统以命名空间事件发生后固态硬盘的命名空间,作为可访问的命名空间。
本发明的实施例所提供的命名空间管理方法,驱动器通过接收固态硬盘的控制器发送的事件描述信息,根据事件描述信息更新计算机系统可访问的命名空间,因此计算机系统能够根据固态硬盘的命名空间的实际变化情况,对固态硬盘进行读写操作,从而更有效地利用实际可访问的固态硬盘的命名空间资源,提高了计算机系统的工作效率和可靠性。
实施例三
基于实施例一和实施例二,本发明的实施例三提供一种命名空间管理方法,应用于计算机系统。计算机系统包括固态硬盘以及驱动器,驱动器用于驱动固态硬盘,通过固态硬盘的控制器对固态硬盘的存储介质进行读写操作。其中驱动器和控制器均可以通过硬件、固件、软件的方式来实现,或者通过三者的结合来实现。
结合图3所示,本发明的实施例三所提供的命名空间管理方法,具体包括以下步骤:
301、驱动器对固态硬盘的命名空间进行初始化。
初始化过程中,驱动器从固态硬盘的寄存器读取固态硬盘的命名空间的最大支持个数,循环对每个命名空间发起识别(英文全称:Identify)命令,将识别成功的命名空间的接口添加至计算机系统。
在初始化完成后,计算机系统可访问的命名空间为初始化过程中识别成功的命名空间。
302、控制器对命名空间事件进行监控。
其中,命名空间事件在固态硬盘的命名空间发生变化时被触发
可选的,控制器可以在初始化完成后直接开始对命名空间事件进行监控。
或者,在一种具体的应用场景中,驱动器向控制器发送监控命令,指示控制器对命名空间事件进行监控。控制器在接收到监控命令之后开始对命名空间事件进行监控。具体的,监控命令可以为异步命令,即驱动器在向控制器发送监控命令之后,无需等待控制器对该命令的响应即可继续执行其它操作。这样,只在命名空间事件发生时,控制器才响应监控命令,如果没有命名空间事件发生,控制器无需响应监控命令,而驱动器正常工作。
以NVMe为例,NVMe提供管理队列(英文全称:Admin SubmissionQueue)和输入输出队列(英文全称:Input Output Submission Queue)。其中,输入输出队列主要用于进行业务数据交互,如计算机系统中的应用程序从NVMe存储介质读出数据,或将数据写入。管理队列用于进行管理NVMe的命令和请求交互。本实施例中驱动器和控制器之间的交互可以通过管理队列进行,包括控制器通过管理队列向控制器发送监控命令,以及命名空间事件发生之后,控制器通过管理队列向驱动器发送事件描述信息。
在初始化之后,命名空间事件发生则表示固态硬盘的命名空间发生变化,此时计算机系统可访问的命名空间为发生变化之后的固态硬盘的命名空间。
303、当控制器监控到命名空间事件被触发时,控制器对命名空间事件进行处理。
控制器对命名空间事件进行处理是指控制器在固态硬盘的命名空间发生变化后,管理固态硬盘的命名空间所进行的操作,包括控制器根据驱动器的读写操作参数,生成命名空间的配置模板,并将配置模板应用于发生变化的命名空间。
具体的,驱动器的读写操作参数包括读写操作类型以及有效载荷(英文全称:Work Load)等。计算机系统通过驱动器对固态硬盘进行读写操作,读写操作通常包括四种类型:随机读操作、随机写操作、顺序读操作和顺序写操作。不同类型的读写操作对应的有效载荷可以不同。例如,在一种应用场景中,顺序写操作的有效载荷为512字节。在另一种应用场景中顺序写操作的有效载荷为4K字节。
控制器根据驱动器的读写操作参数,生成命名空间的配置模板,配置模板包括各种用于对命名空间进行优化配置的参数,例如不同类型读写操作的有效载荷的取值。
当控制器监控到命名空间事件被触发时,将配置模板应用于变化后的命名空间。以增加新命名空间或者对已有命名空间进行扩容的情况为例,当命名空间事件发生时,控制器将配置模板应用于新增加或者扩容后的命名空间。
304、控制器根据命名空间事件生成事件描述信息。
其中,事件描述信息用于指示由命名空间事件所引起的固态硬盘的命名空间变化情况。
可选的,事件描述信息包括命名空间标识和事件类型。
其中,命名空间标识用于标识发生变化的命名空间,具体可以是命名空间的标识ID。
事件类型用于指示命名空间事件的事件类型,命名空间事件的事件类型,可以包括以下至少一种:增加新命名空间、删除已有命名空间、对已有命名空间进行扩容以及对已有命名空间进行缩容。
例如,当新增加命名空间时,命名空间标识为新增加命名空间的标识ID,事件类型指明事件类型为增加新命名空间。当删除已有命名空间时,命名空间标识为删除的命名空间的标识ID,事件类型指明事件类型为删除已有命名空间。
进一步地,事件描述信息还可以包括命名空间容量。其中,命名空间容量用于指示命名空间变化后的容量大小。
例如,当对已有命名空间进行扩容或者缩容时,事件描述信息包括发生变化的命名空间的标识ID、事件类型指明为进行扩容或者缩容,命名空间容量指明扩容或者缩容后的容量大小。
305、控制器将事件描述信息发送至驱动器。
306、驱动器根据事件描述信息更新计算机系统可访问的命名空间。
通过更新,计算机系统以命名空间事件发生后固态硬盘的命名空间,作为可访问的命名空间。
307、驱动器向控制器发送反馈信息。
其中,反馈信息用于指示驱动器对计算机系统可访问的命名空间进行更新的操作结果。例如,命名空间事件的事件类型为增加新命名空间时,反馈信息可以用于指示,增加新命名空间是否成功。
可选的,在驱动器向控制器发送监控命令的应用场景中,控制器可以将反馈信息和新的监控命令一起发送给驱动器,指示驱动器继续对命名空间事件进行监控。
308、控制器根据反馈信息对固态硬盘上发生变化的命名空间进行处理。
结合步骤307,如果反馈信息指示进行更新的操作失败,则控制器可以在间隔一定时间之后重新向驱动器发送事件描述信息,请求驱动器增加命名空间,或者控制器也可以弃用该命名空间。
当控制器监控到新的命名空间事件发生时,则重新执行步骤303-步骤308,以动态更新计算机系统可访问的命名空间。现有技术对命名空间的管理方法,在初始化过程中由驱动器对命名空间进行识别,计算机系统由于不能实时获知固态硬盘的命名空间所发生的变化,可能造成资源浪费、读写失败等问题。
本发明的实施例所提供的命名空间管理方法,控制器在初始化之后对命名空间事件进行监控,当控制器监控到命名空间事件被触发时,根据命名空间事件生成事件描述信息,并将事件描述信息发送至驱动器,驱动器根据事件描述信息更新计算机系统可访问的命名空间,因此计算机系统能够根据固态硬盘的命名空间的实际变化情况,对固态硬盘进行读写操作,从而更有效地利用实际可访问的固态硬盘的命名空间资源,提高了计算机系统的工作效率和可靠性。
实施例四
基于图1及图3对应的实施例,本发明的实施例四提供一种固态硬盘内的控制器,用于完成图1及图3对应的实施例中控制器的功能。固态硬盘安装于计算机系统内,计算机系统还包括驱动器,驱动器用于驱动固态硬盘。参照图4所示,控制器40包括:
事件监控单元401,用于对命名空间事件进行监控,命名空间事件在固态硬盘的命名空间发生变化时被触发。
事件描述单元402,用于当监控单元监控到命名空间事件被触发时,根据命名空间事件生成事件描述信息,事件描述信息用于指示由命名空间事件所引起的固态硬盘的命名空间变化情况。
发送单元403,用于将事件描述信息发送至驱动器,以便于驱动器根据事件描述信息更新计算机系统可访问的命名空间。
可选的,事件描述信息包括命名空间标识和事件类型。
其中,命名空间标识用于标识发生变化的命名空间。
可选的,事件描述信息还包括命名空间容量,命名空间容量用于指示命名空间变化后的容量大小。
可选的,命名空间事件的事件类型,包括以下至少一种:
增加新命名空间。
删除已有命名空间。
对已有命名空间进行扩容。
对已有命名空间进行缩容。
可选的,控制器40还包括配置单元404,用于根据驱动器的读写操作参数,生成命名空间的配置模板,并将配置模板应用于发生变化的命名空间。
其中,配置模板包括用于对命名空间进行优化配置的参数。
可选的,控制器40还包括接收单元405,用于接收驱动器发送的监控命令,监控命令用于指示控制器40对命名空间事件进行监控。
可选的,接收单元405,还用于接收驱动器发送的反馈信息,反馈信息用于指示驱动器对计算机系统可访问的命名空间进行更新的操作结果。
控制器40还包括命名空间管理单元406,用于根据反馈信息对固态硬盘上发生变化的命名空间进行处理。
本发明的实施例所提供的控制器,通过对命名空间事件进行监控,当控制器监控到命名空间事件被触发时,根据命名空间事件生成事件描述信息,控制器将事件描述信息发送至驱动器,以便于驱动器根据事件描述信息更新计算机系统可访问的命名空间。控制器通过事件描述信息向驱动器上报命名空间的变化情况,驱动器根据事件描述信息对计算机系统可访问的命名空间进行更新,因此计算机系统能够根据固态硬盘的命名空间的实际变化情况,对固态硬盘进行读写操作,从而更有效地利用实际可访问的固态硬盘的命名空间资源,提高了计算机系统的工作效率和可靠性。
实施例五
基于图2及图3对应的实施例,本发明的实施例五提供一种驱动器,用于完成图2及图3对应的实施例中驱动器的功能。驱动器安装于计算机系统内,计算机系统还包括固态硬盘,驱动器用于驱动固态硬盘,固态硬盘包括控制器。参照图5所示,驱动器50包括:
接收单元501,用于接收控制器发送的事件描述信息,事件描述信息用于指示由命名空间事件所引起的固态硬盘的命名空间变化情况,命名空间事件在固态硬盘的命名空间发生变化时被触发。
命名空间管理单元502,用于根据接收单元501接收到的事件描述信息更新计算机系统可访问的命名空间。
可选的,驱动器50还包括监控请求单元503,用于向控制器发送监控命令,监控命令用于指示控制器对命名空间事件进行监控。
可选的,事件描述信息包括命名空间标识和事件类型。
其中,命名空间标识用于标识发生变化的命名空间。
可选的,事件描述信息还包括命名空间容量,命名空间容量用于指示命名空间变化后的容量大小。
可选的,命名空间事件的事件类型,包括以下至少一种:
增加新命名空间。
删除已有命名空间。
对已有命名空间进行扩容。
对已有命名空间进行缩容。
可选的,驱动器50还包括反馈单元504,用于向控制器发送反馈信息,反馈信息用于指示驱动器50对计算机系统可访问的命名空间进行更新的操作结果。以便于控制器根据反馈信息对固态硬盘上发生变化的命名空间进行处理。
本发明的实施例所提供的驱动器,通过接收固态硬盘的控制器发送的事件描述信息,根据事件描述信息更新计算机系统可访问的命名空间,因此计算机系统能够根据固态硬盘的命名空间的实际变化情况,对固态硬盘进行读写操作,从而更有效地利用实际可访问的固态硬盘的命名空间资源,提高了计算机系统的工作效率和可靠性。
基于上述图4及图5所对应的实施例,本发明的实施例还提供一种固态硬盘,以及一种计算机系统。
固态硬盘包括控制器,控制器为图4所对应的实施例中所描述的控制器。
计算机系统包括固态硬盘以及驱动器。其中,固态硬盘包括控制器,控制器为图4所对应的实施例中所描述的控制器。驱动器为图5所对应的实施例中所描述的驱动器。
本发明的实施例所提供的固态硬盘以及计算机系统,用于在计算机系统内对固态硬盘的命名空间进行动态管理。其中,计算机系统包括固态硬盘以及驱动器,驱动器用于驱动固态硬盘,固态硬盘包括控制器,驱动器通过固态硬盘的控制器对固态硬盘的存储介质进行读写操作。控制器在初始化之后对命名空间事件进行监控,当控制器监控到命名空间事件被触发时,根据命名空间事件生成事件描述信息,并将事件描述信息发送至驱动器,驱动器根据事件描述信息更新计算机系统可访问的命名空间,因此计算机系统能够根据固态硬盘的命名空间的实际变化情况,对固态硬盘进行读写操作,从而更有效地利用实际可访问的固态硬盘的命名空间资源,提高了计算机系统的工作效率和可靠性。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (29)
1.一种命名空间管理方法,应用于固态硬盘内的控制器,所述固态硬盘安装于计算机系统内,所述计算机系统还包括驱动器,所述驱动器用于驱动所述固态硬盘;其特征在于,所述方法包括:
所述控制器对命名空间事件进行监控,所述命名空间事件在所述固态硬盘的命名空间发生变化时被触发;
当所述控制器监控到所述命名空间事件被触发时,根据所述命名空间事件生成事件描述信息,所述事件描述信息用于指示由所述命名空间事件所引起的固态硬盘的命名空间变化情况;
所述控制器将所述事件描述信息发送至所述驱动器,以便于所述驱动器根据所述事件描述信息更新所述计算机系统可访问的命名空间。
2.根据权利要求1所述的方法,其特征在于,
所述事件描述信息包括命名空间标识和事件类型;
其中,所述命名空间标识用于标识发生变化的命名空间。
3.根据权利要求2所述的方法,其特征在于,
所述事件描述信息还包括命名空间容量,所述命名空间容量用于指示命名空间变化后的容量大小。
4.根据权利要求2所述的方法,其特征在于,
所述命名空间事件的事件类型,包括以下至少一种:
增加新命名空间;
删除已有命名空间;
对已有命名空间进行扩容;
对已有命名空间进行缩容。
5.根据权利要求1所述的方法,其特征在于,所述控制器将所述事件描述信息发送至所述驱动器之前,所述方法还包括:
根据所述驱动器的读写操作参数,生成命名空间的配置模板,并将所述配置模板应用于发生变化的命名空间;
其中,所述配置模板包括用于对命名空间进行优化配置的参数。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述控制器对命名空间事件进行监控之前,所述方法还包括:
接收所述驱动器发送的监控命令,所述监控命令用于指示所述控制器对所述命名空间事件进行监控。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述控制器向所述驱动器上报所述事件描述信息之后,所述方法还包括:
接收所述驱动器发送的反馈信息,所述反馈信息用于指示所述驱动器对所述计算机系统可访问的命名空间进行更新的操作结果;
根据所述反馈信息对所述固态硬盘上发生变化的命名空间进行处理。
8.一种命名空间管理方法,应用于驱动器,所述驱动器安装于计算机系统内,所述计算机系统还包括固态硬盘,所述驱动器用于驱动所述固态硬盘,所述固态硬盘包括控制器;其特征在于,所述方法包括:
所述驱动器接收所述控制器发送的事件描述信息,所述事件描述信息用于指示由命名空间事件所引起的固态硬盘的命名空间变化情况,所述命名空间事件在所述固态硬盘的命名空间发生变化时被触发;
根据所述事件描述信息更新所述计算机系统可访问的命名空间。
9.根据权利要求8所述的方法,其特征在于,所述驱动器接收所述控制器发送的事件描述信息之前,所述方法还包括:
所述控制器对所述命名空间事件进行监控;
当所述控制器监控到所述命名空间事件被触发时,根据所述命名空间事件生成所述事件描述信息;
所述控制器将所述事件描述信息向所述驱动器发送。
10.根据权利要求9所述的方法,其特征在于,所述控制器对所述命名空间事件进行监控之前,所述方法还包括:
向所述控制器发送监控命令,所述监控命令用于指示所述控制器对所述命名空间事件进行监控。
11.根据权利要求8所述的方法,其特征在于,
所述事件描述信息包括命名空间标识和事件类型;
其中,所述命名空间标识用于标识发生变化的命名空间。
12.根据权利要求11所述的方法,其特征在于,
所述事件描述信息还包括命名空间容量,所述命名空间容量用于指示命名空间变化后的容量大小。
13.根据权利要求11所述的方法,其特征在于,
所述命名空间事件的事件类型,包括以下至少一种:
增加新命名空间;
删除已有命名空间;
对已有命名空间进行扩容;
对已有命名空间进行缩容。
14.根据权利要求8-13任一项所述的方法,其特征在于,所述根据所述事件描述信息更新所述计算机系统可访问的命名空间之后,所述方法还包括:
向所述控制器发送反馈信息,所述反馈信息用于指示所述驱动器对所述计算机系统可访问的命名空间进行更新的操作结果;以便于所述控制器根据所述反馈信息对所述固态硬盘上发生变化的命名空间进行处理。
15.一种固态硬盘内的控制器,所述固态硬盘安装于计算机系统内,所述计算机系统还包括驱动器,所述驱动器用于驱动所述固态硬盘;其特征在于,所述控制器包括:
事件监控单元,用于对命名空间事件进行监控,所述命名空间事件在所述固态硬盘的命名空间发生变化时被触发;
事件描述单元,用于当所述监控单元监控到所述命名空间事件被触发时,根据命名空间事件生成事件描述信息,所述事件描述信息用于指示由所述命名空间事件所引起的固态硬盘的命名空间变化情况;
发送单元,用于将所述事件描述信息发送至所述驱动器,以便于所述驱动器根据所述事件描述信息更新所述计算机系统可访问的命名空间。
16.根据权利要求15所述的控制器,其特征在于,
所述事件描述信息包括命名空间标识和事件类型;
其中,所述命名空间标识用于标识发生变化的命名空间。
17.根据权利要求16所述的控制器,其特征在于,
所述事件描述信息还包括命名空间容量,所述命名空间容量用于指示命名空间变化后的容量大小。
18.根据权利要求16所述的控制器,其特征在于,
所述命名空间事件的事件类型,包括以下至少一种:
增加新命名空间;
删除已有命名空间;
对已有命名空间进行扩容;
对已有命名空间进行缩容。
19.根据权利要求15所述的控制器,其特征在于,所述控制器还包括:
配置单元,用于根据所述驱动器的读写操作参数,生成命名空间的配置模板,并将所述配置模板应用于发生变化的命名空间;
其中,所述配置模板包括用于对命名空间进行优化配置的参数。
20.根据权利要求15-19任一项所述的控制器,其特征在于,所述控制器还包括:
接收单元,用于接收所述驱动器发送的监控命令,所述监控命令用于指示所述控制器对所述命名空间事件进行监控。
21.根据权利要求15-19任一项所述的控制器,其特征在于,
所述接收单元,还用于接收所述驱动器发送的反馈信息,所述反馈信息用于指示所述驱动器对所述计算机系统可访问的命名空间进行更新的操作结果;
所述控制器还包括命名空间管理单元,用于根据所述反馈信息对所述固态硬盘上发生变化的命名空间进行处理。
22.一种驱动器,所述驱动器安装于计算机系统内,所述计算机系统还包括固态硬盘,所述驱动器用于驱动所述固态硬盘,所述固态硬盘包括控制器;其特征在于,所述驱动器包括:
接收单元,用于接收所述控制器发送的事件描述信息,所述事件描述信息用于指示由所述命名空间事件所引起的固态硬盘的命名空间变化情况,所述命名空间事件在所述固态硬盘的命名空间发生变化时被触发;
命名空间管理单元,用于根据所述接收单元接收到的所述事件描述信息更新所述计算机系统可访问的命名空间。
23.根据权利要求22所述的驱动器,其特征在于,所述驱动器还包括:
监控请求单元,用于向所述控制器发送监控命令,所述监控命令用于指示所述控制器对所述命名空间事件进行监控。
24.根据权利要求22所述的驱动器,其特征在于,
所述事件描述信息包括命名空间标识和事件类型;
其中,所述命名空间标识用于标识发生变化的命名空间。
25.根据权利要求24所述的驱动器,其特征在于,
所述事件描述信息还包括命名空间容量,所述命名空间容量用于指示命名空间变化后的容量大小。
26.根据权利要求24所述的驱动器,其特征在于,
所述命名空间事件的事件类型,包括以下至少一种:
增加新命名空间;
删除已有命名空间;
对已有命名空间进行扩容;
对已有命名空间进行缩容。
27.根据权利要求22-26任一项所述的驱动器,其特征在于,所述驱动器还包括:
反馈单元,用于向所述控制器发送反馈信息,所述反馈信息用于指示所述驱动器对所述计算机系统可访问的命名空间进行更新的操作结果;以便于所述控制器根据所述反馈信息对所述固态硬盘上发生变化的命名空间进行处理。
28.一种固态硬盘,其特征在于,
所述固态硬盘包括控制器,所述控制器为权利要求15-21任一项所述的控制器。
29.一种计算机系统,其特征在于,
所述计算机系统包括驱动器以及固态硬盘;
所述驱动器为权利要求22-27任一项所述的驱动器;
所述固态硬盘为权利要求28所述的固态硬盘。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510532848.3A CN106484587B (zh) | 2015-08-26 | 2015-08-26 | 一种命名空间管理方法、装置及计算机系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510532848.3A CN106484587B (zh) | 2015-08-26 | 2015-08-26 | 一种命名空间管理方法、装置及计算机系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106484587A true CN106484587A (zh) | 2017-03-08 |
CN106484587B CN106484587B (zh) | 2019-07-19 |
Family
ID=58234180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510532848.3A Active CN106484587B (zh) | 2015-08-26 | 2015-08-26 | 一种命名空间管理方法、装置及计算机系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106484587B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108133A (zh) * | 2018-01-03 | 2018-06-01 | 郑州云海信息技术有限公司 | 一种改变nvme SSD硬盘用户可使用容量的方法及设备 |
TWI678618B (zh) * | 2018-06-22 | 2019-12-01 | 慧榮科技股份有限公司 | 快閃記憶裝置的命名空間操作方法及裝置 |
CN111600827A (zh) * | 2019-02-20 | 2020-08-28 | 成都鼎桥通信技术有限公司 | 通信方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080243936A1 (en) * | 2007-03-30 | 2008-10-02 | Microsoft Corporation | Tracking file system namespace changes during transactions |
CN102110041A (zh) * | 2011-03-15 | 2011-06-29 | 浪潮(北京)电子信息产业有限公司 | 实现分布式文件系统存储空间监控的系统及方法 |
CN103608798A (zh) * | 2011-06-04 | 2014-02-26 | 微软公司 | 集群文件服务 |
-
2015
- 2015-08-26 CN CN201510532848.3A patent/CN106484587B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080243936A1 (en) * | 2007-03-30 | 2008-10-02 | Microsoft Corporation | Tracking file system namespace changes during transactions |
CN102110041A (zh) * | 2011-03-15 | 2011-06-29 | 浪潮(北京)电子信息产业有限公司 | 实现分布式文件系统存储空间监控的系统及方法 |
CN103608798A (zh) * | 2011-06-04 | 2014-02-26 | 微软公司 | 集群文件服务 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108133A (zh) * | 2018-01-03 | 2018-06-01 | 郑州云海信息技术有限公司 | 一种改变nvme SSD硬盘用户可使用容量的方法及设备 |
TWI678618B (zh) * | 2018-06-22 | 2019-12-01 | 慧榮科技股份有限公司 | 快閃記憶裝置的命名空間操作方法及裝置 |
TWI708144B (zh) * | 2018-06-22 | 2020-10-21 | 慧榮科技股份有限公司 | 快閃記憶體的命名空間操作裝置及電腦程式產品 |
US11307992B2 (en) | 2018-06-22 | 2022-04-19 | Silicon Motion, Inc. | Method and apparatus for performing operations to namespaces of a flash memory device |
CN111600827A (zh) * | 2019-02-20 | 2020-08-28 | 成都鼎桥通信技术有限公司 | 通信方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106484587B (zh) | 2019-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102334093B (zh) | 存储控制装置以及虚拟卷的控制方法 | |
US7343465B2 (en) | Storage system | |
CN101149667B (zh) | 磁盘阵列系统 | |
JP6138275B2 (ja) | データ・ストレージ方法およびストレージ・デバイス | |
US8839030B2 (en) | Methods and structure for resuming background tasks in a clustered storage environment | |
JP3777132B2 (ja) | 記憶装置の設定方法、システム及び製品 | |
JP4818395B2 (ja) | ストレージ装置及びデータコピー方法 | |
US8448167B2 (en) | Storage system, and remote copy control method therefor | |
US20110066823A1 (en) | Computer system performing capacity virtualization based on thin provisioning technology in both storage system and server computer | |
EP4139803B1 (en) | Methods for handling input-output operations in zoned storage systems and devices thereof | |
JP2010086424A (ja) | ストレージ装置の管理装置 | |
JP4906917B2 (ja) | 異なるサイズのアドレス空間をアドレス指定するために使用される異なるアドレス指定形式と互換性のあるアドレス形式を提供すること | |
US8769147B2 (en) | Method, apparatus and system to dynamically manage logical path resources | |
US7984260B2 (en) | Storage system provided with a plurality of controller modules | |
JP2010282608A (ja) | 動的チャンク割り当て機能を有するデータストレージシステムに於けるデータボリューム生成を制御するための方法及び装置 | |
US11137918B1 (en) | Administration of control information in a storage system | |
US20070294476A1 (en) | Method For Representing Foreign RAID Configurations | |
CN106484587A (zh) | 一种命名空间管理方法、装置及计算机系统 | |
JP2008084094A (ja) | 記憶システム及びその管理方法並びに記憶制御装置 | |
US7330946B2 (en) | Data processing system | |
US20150269098A1 (en) | Information processing apparatus, information processing method, storage, storage control method, and storage medium | |
US20140029467A1 (en) | Zoning record update | |
JP2014137783A (ja) | Raidコントローラおよびそのコマンド処理方法 | |
CN105022586A (zh) | 一种数据处理方法、装置和系统 | |
CN117827548B (zh) | 一种数据备份方法、cxl控制器、cxl模组和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |