CN108780387A - 虚拟化环境中的存储资源管理 - Google Patents
虚拟化环境中的存储资源管理 Download PDFInfo
- Publication number
- CN108780387A CN108780387A CN201780018452.4A CN201780018452A CN108780387A CN 108780387 A CN108780387 A CN 108780387A CN 201780018452 A CN201780018452 A CN 201780018452A CN 108780387 A CN108780387 A CN 108780387A
- Authority
- CN
- China
- Prior art keywords
- gpp
- client
- target
- current
- emmc
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
提供了虚拟化环境中的存储资源管理。就此而言,在接收到对访问存储设备中的目标通用分区(GPP)的请求时,分区切换电路系统被配置成确定目标GPP是否等于由现有请求列表访问的当前GPP。该分区切换电路系统在目标GPP等于当前GPP的情况下将该请求添加到现有请求列表中。否则,分区切换电路系统在切换到目标GPP以执行从客户端接收到的请求之前等待现有请求列表在当前GPP上被执行。通过在当前GPP上执行了现有命令列表之后切换到目标GPP,在虚拟化环境中的多个客户端之间共享多个GPP同时维持存储设备中的数据完整性和安全性是可能的。
Description
优先权申请
本申请要求于2016年3月21日提交的题为“STORAGE RESOURCE MANAGEMENT INVIRTUALIZED ENVIRONMENTS(虚拟化环境中的存储资源管理)”的美国专利申请S/N.15/075,945的优先权,该申请通过援引全部纳入于此。
背景
I.公开领域
本公开的技术一般涉及嵌入式多媒体卡(eMMC)存储设备。
II.背景技术
嵌入式多媒体卡(eMMC)是移动计算设备(诸如智能电话和平板计算机)中常用的非易失性存储设备。eMMC存储设备由电子器件工程联合委员会(JEDEC)标准化并且支持具有命令排队特征的多个命令以实现多线程编程范例。以此方式,eMMC存储设备与一次处理一个命令的常规基于闪存的存储器卡和嵌入式闪存解决方案相比可以提供改善的随机读/写存取性能。
移动计算设备越来越能够支持多个虚拟客户端(例如,主机或其他处理器子系统)在虚拟化环境中同时进行操作。在此类虚拟化环境中,eMMC存储设备可在逻辑上被组织成多个通用分区(GPP)。相应地,可以在eMMC存储设备中的多个GPP中为每个虚拟客户端指派(诸)GPP。就此而言,多个虚拟客户端可以各自与eMMC存储设备中的相应GPP交互,就像虚拟化客户端是与eMMC存储设备进行通信的唯一客户端一样。类似地,在eMMC存储设备实际上正在与多个虚拟客户端进行通信时,该eMMC存储设备可以像eMMC存储设备在任一给定时间仅与单个客户端进行通信一样地操作。当eMMC存储设备在多客户端虚拟化环境中被组织成多个GPP时,多个虚拟客户端与eMMC存储设备中的多个GPP之间的通信可能需要附加处理以确保数据完整性和安全性。
公开概述
详细描述中所公开的各方面包括虚拟化环境中的存储资源管理。就此而言,分区切换电路系统被提供在存储控制器中,以用于在存储设备中的多个通用分区(GPP)之间进行切换。当分区切换电路系统从客户端接收到对访问多个GPP之中的目标GPP的请求时,该分区切换电路系统被配置成首先确定该客户端是否被准许访问目标GPP。该分区切换电路系统被进一步配置成确定客户端所请求的目标GPP是否等于多个GPP之中由现有请求列表访问的当前GPP。该分区切换电路系统在目标GPP等于当前GPP的情况下将从客户端接收到的请求添加到现有请求列表中。否则,分区切换电路系统在切换到目标GPP以执行从客户端接收到的请求之前等待现有请求列表在当前GPP上被执行。通过在当前GPP上执行了现有命令列表之后切换到目标GPP,在虚拟化环境中的多个客户端之间共享多个GPP同时维持存储设备中的数据完整性和安全性是可能的。
就此而言,在一个方面,提供了一种用于控制存储设备的存储控制器。该存储控制器包括耦合到虚拟机管理器(VMM)的基寄存器接口(BRI)。该存储控制器还包括配置成分别耦合到一个或多个客户端的一个或多个客户端寄存器接口(CRI)。该存储控制器还包括通信地耦合到BRI和一个或多个CRI的分区切换电路系统。该分区切换电路系统被配置成经由一个或多个CRI之中的CRI来从一个或多个客户端之中的客户端接收对访问存储设备中的多个GPP之中的目标GPP的请求。该分区切换电路系统还被配置成确定客户端是否被准许访问目标GPP。当客户端被准许访问目标GPP时,该分区切换电路系统被进一步配置成确定客户端所请求的目标GPP是否等于配置成由现有请求列表访问的当前GPP。该分区切换电路系统还被配置成在目标GPP等于当前GPP时,将从客户端接收到的请求添加到现有请求列表。如果目标GPP与当前GPP不同,则该分区切换电路系统还被配置成:在当前GPP上执行了现有请求列表之后从当前GPP切换至目标GPP,以及在目标GPP上执行从客户端接收到的请求。
在另一方面,提供了一种用于控制存储设备的存储控制器。该存储控制器包括耦合到用于管理虚拟机的装置的BRI。该存储控制器还包括配置成分别耦合到一个或多个客户端的一个或多个CRI。该存储控制器还包括通信地耦合到BRI和一个或多个CRI的用于切换分区的装置。该用于切换分区的装置被配置成经由一个或多个CRI之中的CRI来从一个或多个客户端之中的客户端接收对访问存储设备中的多个GPP之中的目标GPP的请求。该用于切换分区的装置还被配置成确定客户端是否被准许访问目标GPP。当客户端被准许访问目标GPP时,该用于切换分区的装置被进一步配置成确定客户端所请求的目标GPP是否等于配置成由现有请求列表访问的当前GPP。该用于切换分区的装置还被配置成在目标GPP等于当前GPP时将从客户端接收到的请求添加到现有请求列表。如果目标GPP与当前GPP不同,则该用于切换分区的装置还被配置成:在当前GPP上执行了现有请求列表之后从当前GPP切换至目标GPP,以及在目标GPP上执行从客户端接收到的请求。
在另一方面,提供了一种用于在存储控制器中切换GPP的方法。该方法包括:从一个或多个客户端之中的客户端接收对访问存储设备中的多个GPP中的目标GPP的请求。该方法还包括:确定客户端是否被准许访问目标GPP。该方法还包括:当客户端被准许访问目标GPP时,确定客户端所请求的目标GPP是否等于配置成由现有请求列表访问的当前GPP。该方法还包括:在目标GPP等于当前GPP时将从客户端接收到的请求添加到现有请求列表。如果目标GPP与当前GPP不同,则该方法还包括:在当前GPP上执行了现有请求列表之后从当前GPP切换至目标GPP,以及在目标GPP上执行从客户端接收到的请求。
在另一方面,提供了一种虚拟化存储系统。该虚拟化存储系统包括存储设备,其包括多个GPP。该虚拟化存储系统还包括用于控制存储设备的存储控制器。该存储控制器包括耦合到虚拟机管理器(VMM)的基寄存器接口(BRI)。该存储控制器还包括配置成分别耦合到一个或多个客户端的一个或多个客户端寄存器接口(CRI)。该存储控制器还包括通信地耦合到BRI和一个或多个CRI的分区切换电路系统。该分区切换电路系统被配置成经由一个或多个CRI之中的CRI从一个或多个客户端之中的客户端接收对访问存储设备中的多个GPP之中的目标GPP的请求。该分区切换电路系统还被配置成确定客户端是否被准许访问目标GPP。当客户端被允许访问目标GPP时,该分区切换电路系统被进一步配置成确定客户端所请求的目标GPP是否等于配置成由现有请求列表访问的当前GPP。该分区切换电路系统还被配置成在目标GPP等于当前GPP时将从客户端接收到的请求添加到现有请求列表。如果目标GPP与当前GPP不同,则该分区切换电路系统还被配置成:在当前GPP上执行了现有请求列表之后从当前GPP切换至目标GPP,以及在目标GPP上执行从客户端接收到的请求。
附图简述
图1是配置成在一个或多个客户端之间共享存储设备中的存储介质的示例性虚拟化存储系统的示意图;
图2是提供可被配置成指示图1的存储设备中的多个通用分区(GPP)之中的当前GPP的GPP配置寄存器的示例性解说的示意图;
图3是配置成存储图1的一个或多个客户端的相应目标GPP的示例性任务描述符(TD)寄存器的示意图;
图4是可以在图1的存储设备被确定为嵌入式多媒体卡(eMMC)修订版5.1(eMMC5.1)存储设备时执行的示例性旧式分区切换过程的流程图;
图5是可以在图1的存储设备被确定为eMMC修订版5.2+(eMMC 5.2+)存储设备时执行的示例性经优化分区切换过程的流程图;以及
图6是可以包括图1中配置成在一个或多个客户端之间共享存储介质的虚拟化存储系统的基于处理器的示例性系统的框图。
详细描述
现在参照附图,描述了本公开的若干示例性方面。措辞“示例性”在本文中用于表示“用作示例、实例、或解说”。本文中描述为“示例性”的任何方面不必被解释为优于或胜过其他方面。
详细描述中所公开的诸方面包括虚拟化环境中的存储资源管理。就此而言,分区切换电路系统被提供在存储控制器中,以用于在存储设备中的多个通用分区(GPP)之间进行切换。当分区切换电路系统从客户端接收到对访问多个GPP之中的目标GPP的请求时,该分区切换电路系统被配置成首先确定该客户端是否被准许访问目标GPP。该分区切换电路系统被进一步配置成确定客户端所请求的目标GPP是否等于由现有请求列表访问的多个GPP之中的当前GPP。该分区切换电路系统在目标GPP等于当前GPP的情况下将从客户端接收到的请求添加到现有请求列表中。否则,分区切换电路系统在切换到目标GPP以执行从客户端接收到的请求之前等待现有请求列表在当前GPP上被执行。通过在当前GPP上执行了现有命令列表之后切换到目标GPP,在虚拟化环境中的多个客户端之间共享多个GPP同时维持存储设备中的数据完整性和安全性是可能的。
就此而言,图1是配置成在一个或多个客户端106(1)-106(N)之间共享存储设备104中的存储介质102的示例性虚拟化存储系统100的示意图。在非限定性示例中,存储设备104可以是嵌入式多媒体卡(eMMC)存储设备。存储介质102可以在逻辑上被组织成多个GPP108(1)-108(4)。就此而言,多个GPP 108(1)-108(4)中的每一者表示用于在一个或多个客户端106(1)-106(N)之间进行分配的最小存储介质单元。尽管图1中的存储介质102被示为仅包括四个GPP 108(1)-108(4),但是存储介质102包括多于或少于四个GPP 108(1)-108(4)是可能的。
继续参照图1,虚拟化存储系统100包括通信地耦合到存储设备104的存储控制器110。存储控制器100经由基寄存器接口(BRI)114来耦合到虚拟机管理器(VMM)112。在非限定性示例中,VMM 112可以是管理程序(Hypervisor),且被配置成提供用于管理虚拟机的装置。存储控制器110还包括用于分别耦合到一个或多个客户端106(1)-106(N)的一个或多个客户端寄存器接口(CRI)116(1)-116(N)。在非限定性示例中,BRI 114和一个或多个CRI116(1)-116(N)可以是相同的主机控制器接口(HCI),仅为了便于在本公开中进行引用和讨论而在本文中被不同地标记。
为了在虚拟化存储系统100中实现存储介质102的共享,VMM 112被配置成将多个GPP 108(1)-108(4)分配给一个或多个客户端106(1)-106(N)。为了便于解说,客户端106(1)、客户端106(N)、GPP 108(1)和GPP 108(2)在下文中作为非限定性示例来讨论。应领会,参照以上非限定性示例讨论的配置和操作原理适用于一个或多个客户端106(1)-106(N)中的所有客户端和多个GPP 108(1)-108(4)的所有GPP。
在非限定性示例中,VMM 122可以在客户端106(1)被初始化以执行计算任务(例如,运行应用)时将GPP 108(1)指派给客户端106(1)。同样,VMM 112还可以在客户端106(N)被初始化以用于另一计算任务时将GPP 108(2)指派给客户端106(N)。VMM 112可以将针对客户端106(1)和客户端106(N)的GPP分配作为任务描述符(TD)(未示出)存储在系统存储器(未示出)中。另外,VMM 112还可以经由BRI 114将客户端106(1)和客户端106(N)的GPP分配存储在分区访问控制表(PACT)118中。如稍后进一步讨论的,PACT 118可被用来验证客户端106(1)和106(N)分别访问GPP 108(1)和GPP 108(2)的准许。PACT 118可被提供在存储控制器110中的高速缓存120中。
在虚拟化存储系统100中,在给定时间,多个GPP 108(1)-108(4)中的仅一者可以由一个或多个客户端106(1)-106(N)中的任一者来访问。如此,存储控制器110可以将多个GPP 108(1)-108(4)中的一者配置为当前GPP 122。例如,存储控制器110可以将GPP 108(2)配置为当前GPP 122以仅允许客户端106(N)访问存储介质102。就此而言,在客户端106(1)经由请求124请求访问存储介质102时,存储控制器110可能已经具有来自等待访问当前GPP122的客户端106(N)的现有请求列表(未示出)。如果存储控制器110立即将由VMM 112分配给客户端106(1)的GPP 108(1)重新配置为当前GPP 122,则来自客户端106(N)的现有请求列表可能必须被先占,从而导致客户端106(N)上的非预期结果(例如,数据丢失或损坏)。因此,可能期望在虚拟化存储系统100中提供智能GPP切换机制,以确保一个或多个客户端106(1)-106(N)之间的数据完整性和安全性。
就此而言,分区切换电路系统126被提供在存储控制器110中以在虚拟化存储系统100中实现智能GPP切换。在非限定性示例中,分区切换电路系统126可被配置成提供用于切换分区的装置。分区切换电路系统126被通信地耦合到BRI 114和一个或多个CRI 116(1)-116(N)。分区切换电路系统126包括命令队列引擎(CQE)128和协议引擎130。在非限定性示例中,CQE 128和协议引擎130两者均可以是具有软件能力的硬件元件。CQE 128进一步包括GPP切换硬件132、GPP配置寄存器134和先入先出(FIFO)命令队列136。GPP配置寄存器134被配置成存储当前GPP 122,如以下在图2中进一步讨论的。
就此而言,图2是提供图1的GPP配置寄存器134的示例性解说的示意图。在非限定性示例中,GPP配置寄存器134能够存储标记为比特0(b0)到比特31(b31)的三十二个二进制比特。GPP配置寄存器134包括当前GPP指示符200和流选择指示符202。在一示例性方面,当前GPP指示符200占用b0到比特3(b3),且被配置成存储当前GPP 122。流选择指示符202被存储在GPP配置寄存器134的b31中。当被设为零(0)时,流选择指示符202指示存储设备104为eMMC修订版5.1(eMMC 5.1)存储设备,并且分区切换电路系统126利用旧式分区切换过程来在多个GPP 108(1)-108(4)之间切换。当被设为零(1)时,流选择指示符202指示存储设备104为eMMC修订版5.2+(eMMC 5.2+)存储设备,并且分区切换电路系统126利用经优化分区切换过程来在多个GPP 108(1)-108(4)之间切换。
返回参照图1,FIFO命令队列136包含要由存储控制器110顺序地执行的(诸)eMMC命令(例如,数据读/写命令、分区切换命令等)。就此而言,当分区切换电路系统126从客户端106(1)接收到请求124时,FIFO命令队列136可以包含要在当前GPP 122上执行的现有请求列表。为了确保FIFO命令队列136中的现有请求列表不被先占,分区切换电路系统126被配置成首先确定VMM 112已经将多个GPP 108(1)-108(4)中的哪一者指派给客户端106(1)。
根据以上讨论,VMM 112在客户端106(1)被初始化时将GPP 108(1)分配给客户端106(1)。就此而言,GPP 108(1)也是客户端106(1)在请求124中旨在访问的目标GPP 108(1)。此外,根据先前讨论,VMM 112可能已经将针对一个或多个客户端106(1)-106(N)的GPP分配作为TD存储在系统存储器中。如此,分区切换电路系统126可以从系统存储器检索TD,并且将检索到的(诸)TD存储在一个或多个TD寄存器138(1)-138(N)中。一个或多个TD寄存器138(1)-138(N)可被提供在存储控制器110中的高速缓存120中,并且对应于一个或多个客户端106(1)-106(N)。就此而言,在非限定性示例中,分区切换电路系统126可以从系统存储器检索针对客户端106(1)的GPP分配,并且将该GPP分配存储在TD寄存器138(1)中。为了进一步解说一个或多个TD寄存器138(1)-138(N)的格式,接着讨论图3。
就此而言,图3是可被配置成存储图1的一个或多个客户端106(1)-106(N)的相应目标GPP的示例性TD寄存器300的示意图。可以是图1的一个或多个TD寄存器138(1)-138(N)中的任一者的TD寄存器300能够存储标记为b0到b31的三十二个二进制比特。TD寄存器300包括目标GPP指示符302和流选择指示符304。在一示例性方面,目标GPP指示符302占用比特8(b8)到比特10(b10),且被配置成存储对应客户端的相应目标GPP。例如,在TD寄存器138(1)中,目标GPP指示符302指示VMM 122指派给客户端106(1)的目标GPP 108(1)。
流选择指示符304可被存储在TD寄存器300的比特11(b11)中。当被设为0时,流选择指示符304指示存储设备104为eMMC 5.1存储设备,并且分区切换电路系统126利用旧式分区切换过程来切换到由目标GPP指示符302指示的相应目标GPP。当被设为1时,流选择指示符304指示存储设备104为eMMC 5.2+存储设备,并且分区切换电路系统126利用经优化分区切换过程来切换到由目标GPP指示符302指示的相应目标GPP。
返回参照图1,在根据TD寄存器138(1)确定针对客户端106(1)的目标GPP 108(1)之后,分区切换电路系统126可被进一步配置成基于PACT 118来确定客户端106(1)是否确实被准许访问目标GPP 108(1)。分区切换电路系统126可被配置成在分区切换电路系统126确定客户端106(1)不被准许访问目标GPP 108(1)的情况下经由CRI 116(1)来向客户端106(1)返回访问控制违反通知140。另外,分区切换电路系统126能够基于TD寄存器138(1)中的流选择指示符304(未示出)来确定存储设备104是eMMC 5.1存储设备还是eMMC 5.2+存储设备。
如果存储设备104被确定为eMMC 5.1存储设备,则分区切换电路系统126随后采用旧式分区切换过程来从当前GPP 122切换到客户端106(1)所请求的目标GPP 108(1)。根据旧式分区切换过程,CQE 128首先将目标GPP 108(1)与当前GPP 122进行比较,以确定目标GPP 108(1)是否等于当前GPP 122。如果目标GPP 108(1)等于当前GPP 122,则CQE 128简单地将请求124添加到FIFO命令队列136的末尾。当目标GPP 108(1)与当前GPP 122不同时,则这是对于FIFO命令队列136包含等待在当前GPP 122上执行的现有请求列表的指示。就此而言,为了避免先占FIFO命令队列136中的现有请求列表,CQE 128被配置成在切换到目标GPP108(1)之前等待FIFO命令队列136中的现有请求列表被执行。稍后,CQE 128随后可以通过将请求124添加到FIFO命令队列136中来在目标GPP 108(1)上执行请求124。
在非限定性示例中,客户端106(1)所提供的请求124可以是用于从目标GPP 108(1)读取数据的eMMC CMD44命令或者用于将数据写入目标GPP 108(1)的eMMC CMD45命令。相应地,当CQE 128确定目标GPP 108(1)与当前GPP 122不同时,CQE 128首先将eMMC队列屏障(QBR)命令添加到FIFO命令队列136中以确保FIFO命令队列136中的现有请求列表不被先占。CQE 128随后可以将eMMC CMD6命令添加到FIFO命令队列136,以从当前GPP 122切换到目标GPP 108(1)。就此而言,eMMC CMD6是GPP切换命令。CQE 128可以直接向存储设备104或者经由GPP切换硬件132提供eMMC CMD6命令。eMMC CMD6命令使存储设备104中的扩展(EXT)卡专用数据(CSD)(EXT_CSD)寄存器142切换到目标GPP 108(1)。VMM 112可以捕获eMMCCMD6命令,并且将GPP配置寄存器134中图2的的当前GPP指示符200更新为目标GPP 108(1)。如此,当前GPP 122被更新为GPP 108(1)。稍后,CQE 128可以将eMMC CMD44和/或eMMCCMD45添加到FIFO命令队列136中以在目标GPP 108(1)上执行。
返回参照图1,如先前所讨论的,VMM 112在客户端106(1)被初始化时将目标GPP108(1)分配给客户端106(1)。在一些情形中,客户端106(1)可以是具有比一个或多个客户端106(1)-106(N)中的其余客户端更高的执行优先级的时间关键任务。如此,VMM 112可以迫使分区切换电路系统126立即切换到目标GPP 108(1)。就此而言,VMM 112可以经由BRI114将GPP切换命令144提供给分区切换电路系统126。分区切换电路系统126中的协议引擎130被配置成在接收到GPP切换命令144之际立即切换到目标GPP 108(1)。
图4是可以在存储设备104被确定为eMMC 5.1存储设备时由图1的分区切换电路系统126执行的示例性旧式分区切换过程400的流程图。参照图4,分区切换电路系统126从客户端106(1)接收对访问存储设备104中的多个GPP 108(1)-108(4)之中的目标GPP 108(1)的请求124(框402)。分区切换电路系统126中的CQE 128确定客户端106(1)是否被准许访问目标GPP 108(1)(框404)。当CQE 128确定客户端106(1)不被准许访问目标GPP 108(1)时,终止旧式分区切换过程400(框406)。当CQE 128确定客户端106(1)被准许访问目标GPP 108(1)时,CQE 128进一步确定客户端106(1)所请求的目标GPP 108(1)是否等于配置成由现有任务列表访问的当前GPP 122(框408)。如果目标GPP 108(1)与当前GPP 122不同,则CQE128在当前GPP 122上执行了现有任务列表之后从当前GPP 122切换到目标GPP 108(1)(框410)。稍后,CQE 128在目标GPP 108(1)上执行从客户端106(1)接收到的请求124(框412)。如果目标GPP 108(1)与当前GPP 122相同,则CQE 128将从客户端106(1)接收到的请求124添加到现有请求列表(框414)。
返回参照图1,如果存储设备104被确定为eMMC 5.2+存储设备,则分区切换电路系统126随后采用经优化分区切换过程来从当前GPP 122切换到客户端106(1)所请求的目标GPP 108(1)。就此而言,图5是可以在存储设备104被确定为eMMC 5.2+存储设备时由图1的分区切换电路系统126执行的示例性经优化分区切换过程500的流程图。参照图5,分区切换电路系统126从客户端106(1)接收对访问存储设备104中的多个GPP 108(1)-108(4)之中的目标GPP 108(1)的请求124(框502)。分区切换电路系统126中的CQE 128确定客户端106(1)是否被准许访问目标GPP 108(1)(框504)。当CQE 128确定客户端106(1)不被准许访问目标GPP 108(1)时,终止经优化分区切换过程500(框506)。当CQE 128确定客户端106(1)被准许访问目标GPP 108(1)时,CQE 128在目标GPP 108(1)上执行从客户端106(1)接收到的请求124(框508)。
根据本文中所公开的各方面的虚拟化环境中的存储资源管理可被提供在或被集成到任何基于处理器的设备(诸如图1的存储控制器110)中。不构成限定的示例包括:机顶盒、娱乐单元、导航设备、通信设备、固定位置数据单元、移动位置数据单元、移动电话、蜂窝电话、智能电话、平板设备、平板手机、计算机、便携式计算机、台式计算机、个人数字助理(PDA)、监视器、计算机监视器、电视机、调谐器、无线电、卫星无线电、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频碟(DVD)播放器、便携式数字视频播放器、以及汽车。
就此而言,图6解说了可以支持图1的存储控制器110的基于处理器的系统600的示例。在该示例中,基于处理器的系统600包括一个或多个中央处理单元(CPU)602,每个中央处理单元包括一个或多个处理器604。(诸)CPU 602可以具有耦合至(诸)处理器604以用于对临时存储的数据进行快速访问的高速缓存存储器606。(诸)CPU 602耦合到系统总线608。如众所周知的,(诸)CPU 602通过在系统总线608上交换地址、控制、以及数据信息来与其他设备通信。尽管未在图6中解说,但可提供多个系统总线608,其中每个系统总线608构成不同的织构。
其他主设备和从设备可被连接到系统总线608。如在图6中所解说的,作为示例,这些设备可以包括存储器系统610、一个或多个输入设备612、一个或多个输出设备614、一个或多个网络接口设备616、以及一个或多个显示器控制器618。(诸)输入设备612可以包括任何类型的输入设备,包括但不限于输入键、开关、语音处理器等。(诸)输出设备614可以包括任何类型的输出设备,包括但不限于音频、视频、其他视觉指示器等。(诸)网络接口设备616可以是配置成允许往来于网络620的数据交换的任何设备。网络620可以是任何类型的网络,包括但不限于有线或无线网络、私有或公共网络、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、蓝牙TM网络或因特网。(诸)网络接口设备616可以被配置成支持所期望的任何类型的通信协议。存储器系统610可以包括一个或多个存储器单元622(0-N)以及存储器控制器624。
(诸)CPU 602还可被配置成在系统总线618上访问(诸)显示器控制器608以控制发送给一个或多个显示器626的信息。(诸)显示器控制器618经由一个或多个视频处理器628向(诸)显示器626发送要显示的信息,该视频处理器628将要显示的信息处理成适用于(诸)显示器626的格式。(诸)显示器626可包括任何类型的显示器,包括但不限于阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、发光二极管(LED)显示器等。
本领域技术人员将进一步领会,结合本文中所公开的各方面描述的各种解说性逻辑块、模块、电路和算法可被实现为电子硬件、存储在存储器中或另一计算机可读介质中并由处理器或其他处理设备执行的指令、或这两者的组合。作为示例,本文中所描述的主设备和从设备可用在任何电路、硬件组件、集成电路(IC)、或IC芯片中。本文中所公开的存储器可以是任何类型和大小的存储器,且可配置成存储所需的任何类型的信息。为了清楚地解说这种可互换性,各种解说性组件、框、模块、电路和步骤在上文已经以其功能性的形式一般性地作了描述。此类功能性如何被实现取决于具体应用、设计选择、和/或加诸于整体系统上的设计约束。技术人员可针对每种特定应用以不同方式来实现所描述的功能性,但此类实现决策不应被解读为致使脱离本公开的范围。
结合本文中所公开的各方面描述的各种解说性逻辑块、模块、以及电路可用设计成执行本文中描述的功能的处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。处理器可以是微处理器,但在替换方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可以被实现为计算设备的组合(例如DSP与微处理器的组合、多个微处理器、与DSP核协作的一个或多个微处理器、或任何其他此类配置)。
本文中所公开的各方面可被实施在硬件和存储在硬件中的指令中,并且可驻留在例如随机存取存储器(RAM)、闪存、只读存储器(ROM)、电可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其它形式的计算机可读介质中。示例性存储介质被耦合到处理器,以使得处理器能从/向该存储介质读取/写入信息。替换地,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在远程站中。在替换方案中,处理器和存储介质可作为分立组件驻留在远程站、基站或服务器中。
还注意到,本文任何示例性方面中描述的操作步骤是为了提供示例和讨论而被描述的。所描述的操作可按除了所解说的顺序之外的众多不同顺序来执行。此外,在单个操作步骤中描述的操作实际上可在数个不同步骤中执行。另外,示例性方面中讨论的一个或多个操作步骤可被组合。应理解,如对本领域技术人员显而易见地,在流程图中解说的操作步骤可进行众多不同的修改。本领域技术人员还将理解,可使用各种不同技术和技艺中的任何一种来表示信息和信号。例如,贯穿上面说明始终可能被述及的数据、指令、命令、信息、信号、比特、码元和码片可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子、或其任何组合来表示。
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员而言将容易是显而易见的,并且本文中所定义的普适原理可被应用到其他变型而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖特征一致的最广义的范围。
Claims (25)
1.一种用于控制存储设备的存储控制器,包括:
基寄存器接口(BRI),其被耦合到虚拟机管理器(VMM);
一个或多个客户端寄存器接口(CRI),其被配置成分别耦合到一个或多个客户端;以及
分区切换电路系统,其被通信地耦合到所述BRI和所述一个或多个CRI,所述分区切换电路系统被配置成:
经由所述一个或多个CRI之中的CRI来从所述一个或多个客户端之中的客户端接收对访问所述存储设备中的多个通用分区(GPP)之中的目标GPP的请求;
确定所述客户端是否被准许访问所述目标GPP;以及
在所述客户端被准许访问所述目标GPP时:
确定所述客户端所请求的所述目标GPP是否等于配置成由现有请求列表访问的当前GPP;
在所述目标GPP等于所述当前GPP时,将从所述客户端接收到的所述请求添加到所述现有请求列表;以及
如果所述目标GPP与所述当前GPP不同,则:
在所述当前GPP上执行了所述现有请求列表之后从所述当前GPP切换至所述目标GPP;以及
在所述目标GPP上执行从所述客户端接收到的所述请求。
2.如权利要求1所述的存储控制器,其特征在于,所述分区切换电路系统被配置成在经由所述BRI从所述VMM接收到GPP切换命令之际立即从所述当前GPP切换到所述目标GPP。
3.如权利要求2所述的存储控制器,其特征在于,所述分区切换电路系统包括协议引擎,其被配置成在接收到所述GPP切换命令之际立即从所述当前GPP切换到所述目标GPP。
4.如权利要求1所述的存储控制器,其特征在于,进一步包括分区访问控制表(PACT),其中所述分区切换电路系统被配置成基于所述PACT来确定所述客户端是否被准许访问所述目标GPP。
5.如权利要求4所述的存储控制器,其特征在于,所述分区切换电路系统被进一步配置成在所述分区切换电路系统确定所述客户端不被准许访问所述目标GPP的情况下经由所述CRI来向所述客户端返回访问控制违反通知。
6.如权利要求1所述的存储控制器,其特征在于,所述存储设备包括嵌入式多媒体卡(eMMC)修订版5.1(eMMC 5.1)存储设备。
7.如权利要求6所述的存储控制器,其特征在于,从所述客户端接收到的所述请求包括eMMC CMD44命令或eMMC CMD45命令。
8.如权利要求7所述的存储控制器,其特征在于,所述分区切换电路系统包括命令队列引擎(CQE),其被配置成:
确定所述客户端所请求的所述目标GPP是否等于由所述存储控制器访问的所述多个GPP之中的所述当前GPP;
如果所述目标GPP等于所述当前GPP,则:
将所述eMMC CMD44命令或所述eMMC CMD45命令添加到先入先出(FIFO)命令队列中;以及
如果所述目标GPP与所述当前GPP不同,则:
将eMMC队列屏障(QBR)命令添加到所述FIFO命令队列中;
将eMMC CMD6命令添加到所述FIFO命令队列中;以及
将所述eMMC CMD44命令或所述eMMC CMD45命令添加到所述FIFO命令队列中。
9.如权利要求1所述的存储控制器,其特征在于,所述分区切换电路系统被配置成在所述客户端被准许访问所述目标GPP且确定所述存储设备是eMMC修订版5.2+(eMMC 5.2+)存储设备时在所述目标GPP上执行从所述客户端接收到的所述请求。
10.如权利要求1所述的存储控制器,其特征在于,所述VMM包括管理程序。
11.如权利要求1所述的存储控制器,其特征在于,所述存储控制器被提供在选自包括以下各项的组的设备中:机顶盒;娱乐单元;导航设备;通信设备;固定位置数据单元;移动位置数据单元;移动电话;蜂窝电话;智能电话;平板设备;平板手机;计算机;便携式计算机;台式计算机;个人数字助理(PDA);监视器;计算机监视器;电视机;调谐器;无线电;卫星无线电;音乐播放器;数字音乐播放器;便携式音乐播放器;数字视频播放器;视频播放器;数字视频碟(DVD)播放器;便携式数字视频播放器;以及汽车。
12.一种用于控制存储设备的存储控制器,包括:
基寄存器接口(BRI),其被耦合到用于管理虚拟机的装置;
一个或多个客户端寄存器接口(CRI),其被配置成分别耦合到一个或多个客户端;以及
用于切换分区的装置,其被通信地耦合到所述BRI和所述一个或多个CRI,所述用于切换分区的装置被配置成:
经由所述一个或多个CRI之中的CRI来从所述一个或多个客户端之中的客户端接收对访问所述存储设备中的多个通用分区(GPP)之中的目标GPP的请求;
确定所述客户端是否被准许访问所述目标GPP;以及
在所述客户端被准许访问所述目标GPP时:
确定所述客户端所请求的所述目标GPP是否等于配置成由现有请求列表访问的当前GPP;
在所述目标GPP等于所述当前GPP时,将从所述客户端接收到的所述请求添加到所述现有请求列表;以及
如果所述目标GPP与所述当前GPP不同,则:
在所述当前GPP上执行了所述现有请求列表之后从所述当前GPP切换至所述目标GPP;以及
在所述目标GPP上执行从所述客户端接收到的所述请求。
13.一种用于在存储控制器中切换通用分区(GPP)的方法,包括:
从一个或多个客户端之中的客户端接收对访问存储设备中的多个GPP之中的目标GPP的请求;
确定所述客户端是否被准许访问所述目标GPP;以及
在所述客户端被准许访问所述目标GPP时:
确定所述客户端所请求的所述目标GPP是否等于配置成由现有请求列表访问的当前GPP;
在所述目标GPP等于所述当前GPP时,将从所述客户端接收到的所述请求添加到所述现有请求列表;以及
如果所述目标GPP与所述当前GPP不同,则:
在所述当前GPP上执行了所述现有请求列表之后从所述当前GPP切换至所述目标GPP;以及
在所述目标GPP上执行从所述客户端接收到的所述请求。
14.如权利要求13所述的方法,其特征在于,进一步包括在从虚拟机管理器(VMM)接收到GPP切换命令之际立即从所述当前GPP切换到所述目标GPP。
15.如权利要求13所述的方法,其特征在于,进一步包括在所述客户端不被准许访问所述目标GPP的情况下向所述客户端返回访问控制违反通知。
16.一种虚拟化存储系统,包括:
存储设备,其包括多个通用分区(GPP);以及
用于控制所述存储设备的存储控制器,其包括:
基寄存器接口(BRI),其被耦合到虚拟机管理器(VMM);
一个或多个客户端寄存器接口(CRI),其被配置成分别耦合到一个或多个客户端;以及
分区切换电路系统,其被通信地耦合到所述BRI和所述一个或多个CRI,所述分区切换电路系统被配置成:
经由所述一个或多个CRI之中的CRI来从所述一个或多个客户端之中的客户端接收对访问所述存储设备中的所述多个GPP之中的目标GPP的请求;
确定所述客户端是否被准许访问所述目标GPP;以及
在所述客户端被准许访问所述目标GPP时:
确定所述客户端所请求的所述目标GPP是否等于配置成由现有请求列表访问的当前GPP;
在所述目标GPP等于所述当前GPP时,将从所述客户端接收到的所述请求添加到所述现有请求列表;以及
如果所述目标GPP与所述当前GPP不同,则:
在所述当前GPP上执行了所述现有请求列表之后从所述当前GPP切换至所述目标GPP;以及
在所述目标GPP上执行从所述客户端接收到的所述请求。
17.如权利要求16所述的虚拟化存储系统,其特征在于,所述分区切换电路系统被配置成在经由所述BRI从所述VMM接收到GPP切换命令之际立即从所述当前GPP切换到所述目标GPP。
18.如权利要求17所述的虚拟化存储系统,其特征在于,所述分区切换电路系统包括协议引擎,其被配置成在接收到所述GPP切换命令之际立即从所述当前GPP切换到所述目标GPP。
19.如权利要求16所述的虚拟化存储系统,其特征在于,进一步包括分区访问控制表(PACT),其中所述分区切换电路系统被配置成基于所述PACT来确定所述客户端是否被准许访问所述目标GPP。
20.如权利要求19所述的虚拟化存储系统,其特征在于,所述分区切换电路系统被进一步配置成在所述分区切换电路系统确定所述客户端不被准许访问所述目标GPP的情况下经由所述CRI来向所述客户端返回访问控制违反通知。
21.如权利要求16所述的虚拟化存储系统,其特征在于,所述存储设备包括嵌入式多媒体卡(eMMC)修订版5.1(eMMC 5.1)存储设备。
22.如权利要求21所述的虚拟化存储系统,其特征在于,从所述客户端接收到的所述请求包括eMMC CMD44命令或eMMC CMD45命令。
23.如权利要求22所述的虚拟化存储系统,其特征在于,所述分区切换电路系统包括命令队列引擎(CQE),其被配置成:
确定所述客户端所请求的所述目标GPP是否等于由所述存储控制器访问的所述多个GPP之中的所述当前GPP;
如果所述目标GPP等于所述当前GPP,则:
将所述eMMC CMD44命令或所述eMMC CMD45命令添加到先入先出(FIFO)命令队列中;以及
如果所述目标GPP与所述当前GPP不同,则:
将eMMC队列屏障(QBR)命令添加到所述FIFO命令队列中;
将eMMC CMD6命令添加到所述FIFO命令队列中;以及
将所述eMMC CMD44命令或所述eMMC CMD45命令添加到所述FIFO命令队列中。
24.如权利要求16所述的虚拟化存储系统,其特征在于,所述分区切换电路系统被配置成在所述客户端被准许访问所述目标GPP且确定所述存储设备是eMMC修订版5.2+(eMMC5.2+)存储设备时在所述目标GPP上执行从所述客户端接收到的所述请求。
25.如权利要求16所述的虚拟化存储系统,其特征在于,所述VMM包括管理程序。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/075,945 US9891945B2 (en) | 2016-03-21 | 2016-03-21 | Storage resource management in virtualized environments |
US15/075,945 | 2016-03-21 | ||
PCT/US2017/019357 WO2017165070A1 (en) | 2016-03-21 | 2017-02-24 | Storage resource management in virtualized environments |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108780387A true CN108780387A (zh) | 2018-11-09 |
CN108780387B CN108780387B (zh) | 2021-06-29 |
Family
ID=58264624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780018452.4A Active CN108780387B (zh) | 2016-03-21 | 2017-02-24 | 虚拟化环境中的存储资源管理 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9891945B2 (zh) |
EP (1) | EP3433714A1 (zh) |
CN (1) | CN108780387B (zh) |
WO (1) | WO2017165070A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448893A (zh) * | 2020-03-10 | 2021-09-28 | 联发科技股份有限公司 | 用于控制多个客户端访问单个存储装置的方法及装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10437495B1 (en) * | 2018-04-18 | 2019-10-08 | EMC IP Holding Company LLC | Storage system with binding of host non-volatile memory to one or more storage devices |
US10922078B2 (en) | 2019-06-18 | 2021-02-16 | EMC IP Holding Company LLC | Host processor configured with instruction set comprising resilient data move instructions |
US11086739B2 (en) | 2019-08-29 | 2021-08-10 | EMC IP Holding Company LLC | System comprising non-volatile memory device and one or more persistent memory devices in respective fault domains |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6609187B1 (en) * | 1999-07-06 | 2003-08-19 | Dell Products L.P. | Method and apparatus for supporting resizing of file system partitions |
CN101097526A (zh) * | 2006-06-29 | 2008-01-02 | 联想(北京)有限公司 | 一种虚拟机系统及硬件设备的访问控制方法 |
CN101163133A (zh) * | 2006-10-10 | 2008-04-16 | 中国科学院计算技术研究所 | 一种多机虚拟环境下实现资源共享的通信系统及通信方法 |
CN101162443A (zh) * | 2006-10-10 | 2008-04-16 | 株式会社瑞萨科技 | 数据处理器 |
CN102521015A (zh) * | 2011-12-08 | 2012-06-27 | 华中科技大学 | 嵌入式平台下的设备虚拟化方法 |
US8307151B1 (en) * | 2009-11-30 | 2012-11-06 | Micron Technology, Inc. | Multi-partitioning feature on e-MMC |
US20130166856A1 (en) * | 2001-10-02 | 2013-06-27 | Juniper Networks, Inc. | Systems and methods for preserving the order of data |
US20130262745A1 (en) * | 2012-03-30 | 2013-10-03 | Gary Lin | Memory System with Command Queue Reordering |
CN103383667A (zh) * | 2012-05-01 | 2013-11-06 | 瑞萨电子株式会社 | 存储器保护电路、处理单元和存储器保护方法 |
US20140064090A1 (en) * | 2012-08-29 | 2014-03-06 | International Business Machines Corporation | Cached routing table management |
CN103902348A (zh) * | 2012-12-25 | 2014-07-02 | 华为技术有限公司 | 一种虚拟化环境下用户数据的读写方法、系统及物理机 |
CN104641418A (zh) * | 2013-08-19 | 2015-05-20 | 株式会社东芝 | 存储系统 |
CN104731635A (zh) * | 2014-12-17 | 2015-06-24 | 华为技术有限公司 | 一种虚拟机访问控制方法,及虚拟机访问控制系统 |
US20150199137A1 (en) * | 2014-01-10 | 2015-07-16 | Myung Sub Shin | Embedded multimedia card and method of operating the same |
US20150347016A1 (en) * | 2014-06-03 | 2015-12-03 | Qualcomm Incorporated | Input/output virtualization (iov) host controller (hc) (iov-hc) of a flash-memory-based storage device |
CN105373416A (zh) * | 2014-08-19 | 2016-03-02 | 三星电子株式会社 | 存储器控制器、存储装置、服务器虚拟化系统及其方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7685335B2 (en) | 2005-02-25 | 2010-03-23 | International Business Machines Corporation | Virtualized fibre channel adapter for a multi-processor data processing system |
WO2012143944A2 (en) | 2011-04-18 | 2012-10-26 | Ineda Systems Pvt. Ltd | Multi-host nand flash controller |
US9454310B2 (en) | 2014-02-14 | 2016-09-27 | Micron Technology, Inc. | Command queuing |
-
2016
- 2016-03-21 US US15/075,945 patent/US9891945B2/en active Active
-
2017
- 2017-02-24 WO PCT/US2017/019357 patent/WO2017165070A1/en active Application Filing
- 2017-02-24 CN CN201780018452.4A patent/CN108780387B/zh active Active
- 2017-02-24 EP EP17709871.2A patent/EP3433714A1/en not_active Withdrawn
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6609187B1 (en) * | 1999-07-06 | 2003-08-19 | Dell Products L.P. | Method and apparatus for supporting resizing of file system partitions |
US20130166856A1 (en) * | 2001-10-02 | 2013-06-27 | Juniper Networks, Inc. | Systems and methods for preserving the order of data |
CN101097526A (zh) * | 2006-06-29 | 2008-01-02 | 联想(北京)有限公司 | 一种虚拟机系统及硬件设备的访问控制方法 |
CN101163133A (zh) * | 2006-10-10 | 2008-04-16 | 中国科学院计算技术研究所 | 一种多机虚拟环境下实现资源共享的通信系统及通信方法 |
CN101162443A (zh) * | 2006-10-10 | 2008-04-16 | 株式会社瑞萨科技 | 数据处理器 |
US8307151B1 (en) * | 2009-11-30 | 2012-11-06 | Micron Technology, Inc. | Multi-partitioning feature on e-MMC |
CN102521015A (zh) * | 2011-12-08 | 2012-06-27 | 华中科技大学 | 嵌入式平台下的设备虚拟化方法 |
US20130262745A1 (en) * | 2012-03-30 | 2013-10-03 | Gary Lin | Memory System with Command Queue Reordering |
CN103383667A (zh) * | 2012-05-01 | 2013-11-06 | 瑞萨电子株式会社 | 存储器保护电路、处理单元和存储器保护方法 |
US20140064090A1 (en) * | 2012-08-29 | 2014-03-06 | International Business Machines Corporation | Cached routing table management |
CN103902348A (zh) * | 2012-12-25 | 2014-07-02 | 华为技术有限公司 | 一种虚拟化环境下用户数据的读写方法、系统及物理机 |
CN104641418A (zh) * | 2013-08-19 | 2015-05-20 | 株式会社东芝 | 存储系统 |
US20150199137A1 (en) * | 2014-01-10 | 2015-07-16 | Myung Sub Shin | Embedded multimedia card and method of operating the same |
US20150347016A1 (en) * | 2014-06-03 | 2015-12-03 | Qualcomm Incorporated | Input/output virtualization (iov) host controller (hc) (iov-hc) of a flash-memory-based storage device |
CN105373416A (zh) * | 2014-08-19 | 2016-03-02 | 三星电子株式会社 | 存储器控制器、存储装置、服务器虚拟化系统及其方法 |
CN104731635A (zh) * | 2014-12-17 | 2015-06-24 | 华为技术有限公司 | 一种虚拟机访问控制方法,及虚拟机访问控制系统 |
Non-Patent Citations (4)
Title |
---|
EVANGELOS TASOULAS 等: ""Towards the InfiniBand SR-IOV vSwitch Architectur"", 《2015 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING》 * |
JEDEC: ""JESD84-B51 Embedded Multi-Media Card(eMMC) Electrical Standard 5.1"", 《HTTPS://WWW.JEDEC.ORG/SITES/DEFAULT/FILES/DOCS/JESD84-B51.PDF》 * |
任永杰 等: "《KVM虚拟化技术 实战与原理解析》", 31 October 2013, 机械工业出版社 * |
赵飞: ""网络设备虚拟化技术的研究"", 《电子科学技术》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448893A (zh) * | 2020-03-10 | 2021-09-28 | 联发科技股份有限公司 | 用于控制多个客户端访问单个存储装置的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US9891945B2 (en) | 2018-02-13 |
WO2017165070A1 (en) | 2017-09-28 |
CN108780387B (zh) | 2021-06-29 |
EP3433714A1 (en) | 2019-01-30 |
US20170269956A1 (en) | 2017-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108776576B (zh) | 用于聚合的网上NVMe装置的聚合存储方法 | |
CN108780387A (zh) | 虚拟化环境中的存储资源管理 | |
US20190050255A1 (en) | Devices, systems, and methods for lockless distributed object input/output | |
US10852990B2 (en) | Hybrid framework of NVMe-based storage system in cloud computing environment | |
US20230297289A1 (en) | Memory system and method of controlling nonvolatile memory | |
AU2021269201B2 (en) | Utilizing coherently attached interfaces in a network stack framework | |
EP2724244A2 (en) | Native cloud computing via network segmentation | |
US9514072B1 (en) | Management of allocation for alias devices | |
CN103827842A (zh) | 向控制器存储器空间写入消息 | |
CN114168271B (zh) | 一种任务调度方法、电子设备及存储介质 | |
JP2017519294A (ja) | フラッシュメモリベースストレージデバイスのマルチホスト電力コントローラ(mhpc) | |
US10042659B1 (en) | Caching virtual contexts for sharing of physical instances of a hardware resource | |
JP6653710B2 (ja) | 計算機および計算機の制御方法 | |
US7844784B2 (en) | Lock manager rotation in a multiprocessor storage area network | |
CN107209643B (zh) | 虚拟化环境中的存储资源管理 | |
WO2017171575A1 (en) | Virtual machine storage management queue | |
CN113986137A (zh) | 存储装置和存储系统 | |
JP2012146280A (ja) | 記憶操作のためのキュー及び作業負荷による選択インタフェースの方法及び装置 | |
US20200348874A1 (en) | Memory-fabric-based data-mover-enabled memory tiering system | |
US10042682B2 (en) | Copy message from application buffer to send buffer within kernel | |
US20230396561A1 (en) | CONTEXT-AWARE NVMe PROCESSING IN VIRTUALIZED ENVIRONMENTS | |
US10904090B2 (en) | Virtual machine placement based on network communication patterns with other virtual machines | |
US20170286018A1 (en) | Storage system and storage control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |