CN103946815B - 用于区域访问控制的方法、存储设备和装置 - Google Patents
用于区域访问控制的方法、存储设备和装置 Download PDFInfo
- Publication number
- CN103946815B CN103946815B CN201180075151.8A CN201180075151A CN103946815B CN 103946815 B CN103946815 B CN 103946815B CN 201180075151 A CN201180075151 A CN 201180075151A CN 103946815 B CN103946815 B CN 103946815B
- Authority
- CN
- China
- Prior art keywords
- write
- osd
- access
- application
- information
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- 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
- G06F3/0622—Securing storage systems in relation to access
-
- 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
- G06F21/6281—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 at program execution time, where the protection is within the operating 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0667—Virtualisation aspects at data level, e.g. file, record or object virtualisation
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
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)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Abstract
用于提供对计算机平台的存储设备的访问的技术和机制。在实施例中,在平台上执行的代理可被注册以用于访问存储设备,由平台的主机操作系统对该代理分配存储器空间。代理的注册可促使分配的存储器空间中的位点映射到存储设备中的位点。在另一个实施例中,代理可写入分配的存储器空间中的位点来请求访问存储设备,其中该请求独立于对描述所请求的访问的主机OS的任何系统调用。
Description
技术领域
本文论述的实施例大体上涉及用于访问计算机平台的存储设备的技术。更特定地,某些实施例涉及访问平台的存储设备,其独立于为了请求这样的访问的对平台的主机操作系统的调用。
背景技术
在常规计算机平台中,访问控制机制通过平台上的主机操作系统(OS)的本地文件管理来实施。在典型的示例中,主机OS可从平台的代理接收为了访问平台的某存储介质的请求。响应于这样的请求,主机OS将指向它的文件管理系统来确定例如访问许可是否指示请求的访问是被允许(或被拒绝)。如果访问许可被识别为允许所请求的访问,主机OS将实现驱动器过程来代表请求应用以访问存储设备。
随着各种计算机技术(例如,系统管理、虚拟化、云联网,等)的不断发展,计算机平台的主机OS和该平台上(或与该平台通信)的一个或多个代理之间的关系日益变化和/或复杂。例如,因为要求计算机平台支持日益复杂的安全管理操作、基本输入/输出系统(BIOS)预备、云计算、虚拟化和/或类似物,这样的平台在越来越时间敏感的性能约束下面临越来越多的性能开销。对于对平台存储设备的某些类型的访问,经由主机OS实施访问控制机制的需要至今已经被视为这样性能开销的固有部分。
发明内容
根据第一实施例,本发明提供了一种在计算机平台的基于对象的存储设备OSD处的方法,所述方法包括:
检测对所述OSD的第一位置的写入,所述写入由执行对耦合于所述OSD的存储器的存储器空间中的第二位置的写入的计算机平台的应用所引起,所述存储器空间被分配给所述应用,对所述第二位置的写入请求第一信息交换;以及
执行与所述存储器空间的第一信息交换,其中所述第一信息交换独立于所述应用向所述计算机平台的主机操作系统发送描述所述第一信息交换的任何系统调用。
根据第二实施例,本发明提供了一种用于计算机平台中的操作的基于对象的存储设备,所述基于对象的存储设备包括:
第一位置,用于接收由执行对耦合于所述基于对象的存储设备的存储器的存储器空间中的第二位置的写入的计算机平台的应用所引起的写入,所述存储器空间被分配给所述应用,对所述第二位置的写入请求第一信息交换;以及
访问引擎,用于检测对第一位置的写入,所述访问引擎进一步执行与所述存储器空间的第一信息交换,其中所述第一信息交换独立于所述应用向所述计算机平台的主机操作系统发送描述所述第一信息交换的任何系统调用。
根据第三实施例,本发明提供了一种由代理利用计算机平台的处理单元来执行的方法,所述方法包括:
执行对分配给所述代理的存储器空间中的第一位置的写入,对所述第一位置的写入请求所述计算机平台的存储器设备的存储器空间与耦合于所述存储器设备的计算机平台的基于对象的存储设备OSD之间的第一信息交换,其中对所述第一位置的写入引起对所述OSD的第二位置的写入;以及
基于对所述第二位置的写入,执行与所述OSD的第一信息交换,其中所述第一信息交换独立于所述代理向所述计算机平台的主机操作系统发送描述所述第一信息交换的任何系统调用。
根据第四实施例,本发明提供了一种用于区域访问控制的装置,包括:
执行对分配给所述代理的存储器空间中的第一位置的写入的部件,对所述第一位置的写入请求所述存储器空间与所述计算机平台的基于对象的存储设备OSD之间的第一信息交换,其中对所述第一位置的写入引起对所述OSD的第二位置的写入;以及
基于对所述第二位置的写入,执行与所述OSD的第一信息交换的部件,其中所述第一信息交换独立于所述代理向所述计算机平台的主机操作系统发送描述所述第一信息交换的任何系统调用。
附图说明
本发明的各种实施例在附图的图中通过示例而非限制的方式图示,并且其中:
图1是图示根据实施例用于访问存储设备的计算机系统的选择要素的框图。
图2是图示根据实施例用于访问存储设备的计算机平台的选择要素的框图。
图3是图示根据实施例用于提供对存储设备的访问的通信交换的选择要素的序列图。
图4是图示根据实施例用于访问存储设备的计算机平台的选择要素的框图。
图5是图示根据实施例用于提供对存储设备的访问的方法的选择要素的流程图。
图6是图示根据实施例用于访问存储设备的方法的选择要素的流程图。
图7是图示根据实施例的固态盘设备的选择要素的框图。
具体实施方式
本文论述的实施例为计算机平台的代理访问平台中的存储设备提供各种访问控制机制。例如,某些实施例包括应用或其他代理执行访问(其独立于对主机操作系统的本地文件管理系统的系统调用)的技术。这样的访问控制技术可例如用于访问平台的面向对象的存储设备(OSD)类型。OSD的存储介质可例如在平台中表示为一个或多个区域(对象),其例如可使用相应的区域标识符来被识别和被访问。为了避免掩盖各种实施例的特征,术语“应用优化”和“应用自适应”在本文作为简写用于指代展现、实现和/或利用访问存储介质(独立于为了请求这样的访问的对主机OS的本地文件管理系统的调用)的平台的应用(或其他代理)的特征。
某些实施例在应用和/或区域粒度级实施对应用优化操作的访问控制。某些实施例另外或备选地为对主机OS不可见的存储区域提供访问控制-例如,在OSD的区域仅对独立于主机OS而操作的计算机平台的管理代理可见的情况下。例如,某些实施例提供访问控制用于信息的带外预备、用于减少的虚拟机监视器(VMM)开销通信和/或类似物。这样的访问控制可例如被实现以便由管理目标虚拟和/或云(“软”)服务器系统的带外管理代理来访问。备选地或另外,可提供可信带内存储-例如,如果平台的BIOS系统管理模式(SMM)处理程序需要存储或读取安全信息(例如,代码和/或数据),某些实施例提供对于这样的访问类型特定的访问控制机制。
在实施例中,访问控制功能性可至少部分由各式各样地在平台中分布的机构来实现-例如通过主机OS核空间中、在分配给应用的存储器空间中和/或在OSD存储设备自身中的相应部件。
图1图示根据实施例用于访问存储介质的计算机系统100的选择要素。计算机系统100可包括例如台式计算机、膝上型计算机、手持或其他便携式计算机,例如平板电脑、个人数字助理(PDA)、智能电话、消息传递设备、数字音乐播放器、数字拍摄设备或能够处理、存储、传送和/或接收信息的其他这样的系统。
在实施例中,计算机系统100包括硬件,其包括处理单元105和基于对象的存储设备110(或OSD),其直接或经由某一硬件接口115而间接耦合于彼此。处理单元105可包括用于执行计算机系统100的主机操作系统(OS)的一个或多个单核/或多核处理器的多种组合中的任一种。
接口115可包括用于使处理单元105和OSD 110直接或间接连接到彼此的一个或多个部件电路元件的多种组合中的任一种。通过说明而非限制的方式,接口115可包括一个或多个总线,例如地址总线、数据总线和/或控制总线。备选地或另外,接口115可包括一个或多个控制信号线-例如用于提供由带外管理代理(未示出)的控制,其中“带外”指的是独立于计算机系统100的主机OS(例如,与之并行或采用与之的相应交替处理器模式)的代理的操作。备选地或另外,接口115可包括一个或多个芯片集部件,其包括但不限于I/O控制器中枢、存储器控制器中枢和/或类似物。某些实施例关于使处理单元105和OSD 110耦合的特定接口元件而不受限制。
通过说明而非限制的方式,由处理单元105对OSD 110的访问可包括接口115根据例如小型计算机系统接口(SCSI)协议、互联网SCSI协议(iSCSI)、串行附连SCSI(SAS)协议、通用串行总线(USB)协议、串行高级技术附连(S-ATA)协议和/或类似物中的一个或多个来实现数据和/或命令通信。
根据实施例,在接口115根据SCSI协议实现这样的通信的情况下,该SCSI协议可遵循在美国国家标准协会(ANSI)小型计算机系统接口-2(SCSI-2)ANSI/国际信息技术标准委员会(INCITS)131-1994规范中描述的协议和/或与之兼容。在接口115根据iSCSI协议实现这样的通信的情况下,iSCSI协议可遵循在2004年4月由美国1895 Preston White Drive,Suite 100, Reston, Va. 20191国家研究计划合作的互联网工程任务组、互联网工程任务秘书处c/o协会发布的“Internet Small Computer Systems Interface (iSCSI)”NetworkWorking Group, Request for Comments:3720,RFC-Proposed Standard(IETF Stream)中描述的协议和/或与之兼容。在接口115根据SAS协议实现这样的通信的情况下,SAS协议可遵循在ANSI标准“Information Technology--Serial Attached SCSI (SAS-2), ANSI/INCITS 457-2010 Specification”中描述的协议和/或与之兼容。在接口115根据通用串行总线(USB)附连SCSI(UAS)协议来实现这样的通信的情况下,UAS协议可遵循在2010年3月9日信息技术-USB附连SCSI(UAS)T10工作文件T10/2095-D修订4中描述的协议和/或与之兼容。在接口115根据S-ATA协议实现这样的通信的情况下,S-ATA协议可遵循在2009年6月29日发布的串行ATA修订3.0规范中描述的协议和/或与之兼容。当然,备选地或另外,接口115可经由一个或多个其他和/或额外的协议来实现这样的通信而不偏离该实施例。
OSD 110可包括存储介质(未示出)和用于为请求访问这样的存储介质的计算机系统100的代理确定访问许可的逻辑。如本文使用的,“存储”可意指一个或多个装置和/或其一个或多个部分,数据可分别存储到其内和/或从其检索。同样如本文使用的,术语“大容量存储”和“大容量存储设备”可能互换地使用来意指能够非易失性地存储数据的存储。存储可包括相应的大容量存储,其可包括相应的半导体、机电、磁和/或光存储和/或大容量存储,例如相应的闪存、磁盘和/或光盘存储和/或大容量存储。存储可以是例如硬盘驱动器、固态驱动器、混合盘驱动器、数字视频盘(DVD)驱动器、压缩盘(CD)驱动器、独立盘冗余阵列(RAID)、带式驱动器或其他存储设备。如本文论述的,OSD 110中的存储介质的一个或多个区域可在计算机系统100中多样地表示为区域(对象)-例如,具有可限定(可变)长度的区域。OSD 110的某功能性可根据常规的基于对象的存储技术。通过说明而非限制的方式,OSD110可提供或用别的方式支持某些存储机制,例如在来自2009年1月国际信息技术标准委员会(INCITS)的T10委员会的“Object-based Storage Device Commands - 2 (OSD-2)(基于对象的存储设备命令-2(OSD-2))”标准中阐述的那些。某些实施例多样地提供额外的机制,其扩展或用别的方式修改常规的基于对象的存储技术来对代理提供对OSD 110的访问,其独立于用于请求或用别的方式描述这样的访问的对计算机系统100的主机OS的系统调用。
在实施例中,处理单元105可执行主机OS,其进而支持也与处理单元105一起执行的一个或多个应用。为了说明各种实施例的某些特征,通过处理器单元105的这样的执行在计算机系统100中受到主存储器中的说明性核空间130(对于主机OS)和主存储器中的说明性用户空间120的支持。OSD 110可例如与存在于用户空间120中的主存储器(未示出)区分开。因此,接口115可例如与存储器总线(未示出)区分开,处理单元105通过该存储器总线来从主存储器访问代表应用125的状态的状态信息。用户空间120可包括为应用125分配的至少一个部件空间,其可请求对OSD 110的访问。应用125可例如在由主机OS建立的有限特权(例如环3)保护域中执行。在实施例中,应用125是在计算机系统100上运行的虚拟机的过程-例如,在核130是支持虚拟机的虚拟机监视器(VMM)的执行环境的情况下。要理解,多种额外或备选应用或其他代理中的任一种可受到由核空间130表示的主机OS的支持。
应用125可对核空间130进行一个或多个调用-例如,以用于各式各样地访问计算机系统100的一个或多个资源。在实施例中,应用125可信号通知核空间130的系统调用接口135它希望利用主机OS的某常规文件管理功能性(例如,用于主机OS代表应用125对计算机系统100的某一存储设备执行读、写、删除等访问)。响应于这样的请求,主机OS过程可访问核空间130的文件系统155来确定是否和/或如何发生访问。例如,主机OS可识别来自核空间130的文件系统155的给定存储设备(例如,特定硬盘驱动器、固态驱动器和/或类似物)、文件、文件夹等来确定应用125是否与对这样的驱动器、文件、文件夹等的被请求的访问的访问许可关联。如果这样的访问许可确定为与应用125关联,核空间130的设备驱动器160可代表应用125来访问计算机系统100的存储设备(例如,除OSD 110以外的某一设备)。
在某些实施例中,核空间130可包括或用别的方式访问额外的应用优化访问控制功能性,其与上文论述的访问相比较,支持由应用125对OSD 110的相对更直接访问。这样的应用优化访问控制功能性中的一些在核空间130中由说明性应用访问命名层145和说明性OSD驱动器150表示。至少在应用自适应访问控制功能性提供对OSD 110的访问(其独立于对计算机系统100的主机OS的调用)的程度上,OSD 110可在某些实施例中视为应用自适应非易失性(AAN)存储器。
应用访问命名层145(在本文备选地称为AAN命名层,或“ANL”)可包括文件系统,其为OSD 110的一个或多个区域提供类文件抽象。应用访问命名层145可例如给予本地用户、系统管理员、操作系统、应用或其他代理提供或用别的方式确定OSD 110中的存储区域的用户友好名称的能力。应用访问命名层145可安装到来自计算机系统100的多种类型的存储介质中的任一种的主机OS的虚拟文件系统140内。
如本文论述的,应用访问命名层145可支持应用特定和/或区域特定访问控制-例如提供使应用、用户、区域等中的一个或多个与用于Unix(POSIX)风格的访问许可(例如,读、写、执行等)的便携式操作系统接口关联并且在非易失性目录结构中维持那些关联的机制。在实施例中,OSD 110的一个或多个区域在应用访问命名层145中表示为相应的存储设备(例如,一个或多个硬盘驱动器和/或固态驱动器)、文件夹名、文件名和/或类似物,每个与相应的访问许可(例如,读、写、删除、执行和/或类似物)关联。应用访问命名层145可实现POSIX风格的访问控制方案,其使用常规(例如,拥有人、组或其他)的类别为区域规定截然不同的许可(例如,在每应用和/或其他每代理基础上)。在实施例中,应用125可询问应用访问命名层145来确定在OSD 110上包含哪些区域、查看访问这样的区域的许可、修改对于它所控制的区域的许可和/或类似物。
在实施例中,在应用访问命名层145中表示的OSD 110中一个或多个区域仅是OSD110中的所有区域的子集。OSD 110的其他区域可例如由于计算机系统100中的某配置而对于主机OS是无法检测的(在本文称为不可见)。
通过说明而非限制的方式,计算机系统100可包括一个或多个带外(OOB)系统管理代理,其能够管理要将关于OSD 110的区域的哪些信息提供给核空间130。这样的管理代理可配置OSD 110-和/或计算机系统100的其他元件-来防止描述OSD 110的特定区域或多个特定区域的信息安装到应用访问命名层145内。
一个这样的管理代理可例如在与处理单元105(其执行主机OS的过程)的处理器分开的专用处理器(未示出)上执行。备选地或另外,这样的管理代理可在处理单元105的系统管理模式期间执行-例如,在处理单元105在系统管理模式与用于执行主机OS的过程的模式之间交替的情况下。
应用访问命名层145还可负责与OSD 110传递访问策略-例如经由OSD驱动器150-以便OSD 110使应用125与访问许可关联。这样的关联可稍后被OSD 110引用以用于准许随后的应用125的访问请求。利用由应用访问命名层145提供的访问控制机制,应用125可绕过文件系统155并且在独立于必须在对系统调用接口135的请求中规定这样的访问的情况下访问OSD 110。计算机系统100的不同应用从而可采用安全的方式访问OSD 110-例如,每个应用访问根据相应的应用特定许可,在这样的访问之前的注册阶段期间在OSD 110的核空间130与访问控制逻辑之间协定了该应用特定许可或由OSD 110的核空间130和访问控制逻辑确定了该应用特定许可。
图2图示根据实施例用于访问存储介质的计算机平台200的选择要素。例如,计算机平台200可包括硬件,用于提供计算机系统100的特征中的一些或全部。
计算机平台200可以是台式计算机、膝上型计算机、手持计算机、平板计算机、PDA、服务器、互联网设备和/或任何其他类型的计算设备的平台。在实施例中,计算机平台200包括芯片集210,其具有例如存储器控制器212和输入/输出(I/O)控制器214。芯片集210可提供存储器和I/O管理功能,以及多个通用和/或专用寄存器、计时器等,其由计算机平台200的处理器220可访问或使用。处理器220可使用一个或多个单芯片和/或多芯片处理部件来实现。例如,处理器220可使用Intel Pentium®技术、Intel Itanium®技术、IntelCentrino®技术、Intel Xeon®技术和/或Intel XScale®技术中的一个或多个来实现。另外或备选地,其他处理技术可用于实现处理器220。
存储器控制器212可执行使处理器220能够经由互连250而访问主存储器230并且与之通信的功能,该主存储器230具有例如易失性存储器232和非易失性存储器234。易失性存储器232可包括一个或多个随机存取存储器设备的多种组合中的任一种,这些随机存取存储器设备包括但不限于同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、RAMBUS动态随机存取存储器(RDRAM)和/或类似物。非易失性存储器234可包括例如非易失性存储器设备(例如,芯片)阵列,其包括非易失性存储器单元。在实施例中,非易失性存储器234包括例如NAND闪速存储器、NOR闪速存储器、磁阻随机存取存储器、纳米线、相变存储器和/或类似物中的一个或多个。非易失性存储器234可包括单级或多级存储器单元,或其组合。对于其中非易失性存储器234包括相变存储器的实施例,相变存储器单元可包括垂直集成存储器单元,其中相变存储器元件在交叉点中与双向阈值开关(OTS)层叠。尽管未图示,非易失性存储器234可根据常规存储器设备通过包括例如多个可寻址存储器条而设置,该多个可寻址存储器条每个包括采用行和列设置的多个存储器单元,从而分别形成字线和位线。存储器条可包含存储器单元的可寻址块(或扇区)。
互连250可包括用于多样化地使计算机平台200的部件彼此互连的一个或多个部件信号线的多种组合中的任一种。通过说明而非限制的方式,互连250可包括一个或多个总线,例如地址总线、数据总线和/或控制总线。备选地或另外,互连250可包括一个或多个控制信号线-例如用于提供带外控制-例如通过安全处理器、主机处理器的系统管理模式、远程启动代理和/或类似物-其独立于在处理器220上运行的主机OS(例如,与之并行)。备选地或另外,互连250可包括通用串行总线(USB)接口、第三代输入/输出接口(3GIO)接口、PCI或PCI Express总线和/或任何其他适合类型的部件互连电路中的一个或多个。
计算机平台200的一个或多个输入设备260可连接到互连250-例如经由I/O控制器214。输入设备260可许可用户将数据和命令输入处理器220。例如,输入设备260可包括键盘、鼠标、触敏显示器、跟踪板、跟踪球、语音识别系统和/或类似物中的一个或多个。备选地或另外,计算机平台200的一个或多个输出设备270可连接到互连250-例如经由I/O控制器214。例如,输出设备270可包括发光显示器(LED)、液晶显示器(LCD)、阴极射线管(CRT)显示器、打印机、扬声器和/或类似物中的一个或多个。
在实施例中,计算机平台200包括网络接口280-例如调制解调器和/或网络接口卡-用于促进与一个或多个网络(未示出)的有线和/或无线数据交换。通过说明而非限制的方式,网络接口280可包括天线和/或电路逻辑,用于经由多种类型的网络连接中的任一种来通信,这些网络连接包括但不限于以太网连接、数字订户线(DSL)、电话线、蜂窝电话系统、同轴电缆、无线路由器等。
I/O控制器214可例如执行使处理器220能够与输入设备260、输出设备270、网络接口280和/或类似物通信的功能。尽管某些实施例在该方面不受限制,I/O控制器214可另外或备选地对处理器220提供对计算机平台200的AAN存储240的访问。AAN存储240可例如包括OSD 110的特征中的一些或全部。AAN存储240可包括存储介质(未示出),用于存储要由计算机平台200的一个或多个代理读取和/或写入的数据。在实施例中,AAN存储240包括访问引擎245-例如状态机或其他硬件逻辑-用于确定对于请求对存储介质的应用优化访问的应用或其他代理的访问许可。基于确定这样的访问许可,访问引擎245可例如生成一个或多个信号,其直接或间接确定是否或如何从AAN存储设备240的存储介质读取数据和/或将数据写入其中。通过说明而非限制的方式,访问引擎245可生成一个或多个信号以选择性地许可和/或禁止AAN存储设备240的数据总线和/或地址总线的选通。多种额外或备选机制中的任一种可由访问引擎245实现来选择性地允许和/或禁止这样的读取和/或写入。
计算机平台200可包括系统管理代理,其能够管理要将关于AAN存储240的区域的哪些信息提供给在处理器220上运行的主机OS。一个这样的管理代理可例如在与处理器220分开的专用处理器(未示出)上执行。备选地或另外,这样的管理代理可在系统管理模式期间在处理器220上执行-例如在处理器220在系统管理模式与用于执行主机OS的过程的模式之间交替的情况下。
在实施例中,这样的管理代理可将描述哪些区域要对主机OS变得可见(或不可见)的配置信息存储在AAN存储240中。基于这样的配置,AAN存储240可选择性地防止描述一个或多个不可见区域的信息被加载到对于主机OS的核空间的AAN命名层。
对AAN存储240的不可见区域的访问可根据AAN存储240检测到这样的访问不是针对主机OS这一指示而受到限制(或用别的方式以此为基础)。例如,AAN存储240可在专用管理通信信道(其与主机OS隔离)上交换描述这样的不可见区域的信息。备选地或另外,AAN存储240可响应于检测到处理器220当前未采用用于执行主机OS的过程的模式操作而交换描述这样的不可见区域的信息。例如,AAN存储240可检测某一信号-例如经由系统管理中断虚拟遗留线(SMI-VLW)而提供的-其指示处理器220正采用系统管理模式操作。基于检测到这样的信号,AAN存储240可接受关联的请求来访问对应于对主机OS不可见的区域的信息。
计算机平台200说明了用于根据实施例实现应用优化访问的一个架构。计算领域内的人或普通技术人员将从本文的论述理解,这样的架构可包括多种额外或备选部件中的任一种-和/或其多种额外或备选配置中的任一种-来实现本文描述的技术。
图3图示根据实施例用于提供对存储设备的访问的通信交换300的选择要素。通信交换300可例如在平台的部件(其包括计算机平台200的特征中的一些或全部)之中发生。
在实施例中,通信交换300包括在计算机平台的主机OS 310之中交换的各种消息、受到主机OS 310支持的平台的应用320和平台的AAN存储设备330。应用320和AAN存储设备330可例如分别包括应用125和OSD 110的特征中的一些或全部。对于对AAN存储设备330的应用优化访问的访问控制功能性可至少部分通过在整个平台中分布的机制的组合来实现-例如通过主机OS 310的AAN命名层(ANL)312和AAN驱动器314、通过对于应用320的存储器空间中的信息和/或位置和/或通过AAN存储设备330的其他访问控制机构。
某些实施例包括用于识别和验证对AAN存储设备330进行访问请求的用户和/或应用的机制。这样的机制可包括例如保护域标识符(PDID),用于规定哪个应用在进行特定访问请求。PDID或对应于其的信息可包括在驻存在AAN存储设备330上的控制器中或用别的方式对其可用-例如,其中PDID稍后作为用于识别请求应用的参考信息而被访问。
在实施例中,因为ANL 312将PDID与应用320的存储器空间绑定并且利用主机OS310的存储器保护来保护PDID,应用320的PDID可不容易被另一个应用、恶意代理等所欺骗。因此,欺骗这样的应用的PDID可需要打破主机OS 310所供给的本地存储器保护。在计算机系统100的说明性情况中,这样的存储器保护可例如由在计算机系统100的用户空间120中运行的VMM(未示出)供给-例如,在应用125在由这样的VMM管理的虚拟机(未示出)中运行的情况下。
执行AAN存储设备330的应用优化访问的应用可首先进入向主机OS 310的存储器注册过程。注册过程可包括应用320、主机OS 310和AAN存储设备330多样化地协定或用别的方式确定一个或多个位置、标识符或其他信息以稍后在实现由应用320对AAN存储设备330的应用优化访问中使用。
例如,主机OS 310和应用320可协定或用别的方式确定分配给应用320的存储器空间中的第一位置(例如,数据缓冲器、I/O页面、队列和/或类似物),其中主机OS 310执行配置-例如存储器映射-以使这样的第一位置对应于AAN存储设备330中的第二位置(例如,数据缓冲器、I/O页面、队列和/或类似物)。基于这样的配置,由应用320对第一位置随后的写入可促使自动写入AAN存储设备330中的第二位置。作为简写,写入一个位置与写入另一个位置之的该因果关系在本文称为门铃特征。术语“门铃”指例如AAN存储设备330可从所得的到第二位置的写入检测到已经由应用320对对应的第一位置执行原因写入这一事实。AAN存储设备330可因此识别-例如独立于对主机OS 310的系统调用-应用320在寻求某一访问。
备选地或另外,注册过程可包括主机OS 310和应用320协定或用别的方式确定应用320可稍后试图访问的AAN存储设备330的区域的标识符、PDID或应用320可识别它自身的其他标识符、已经给予(或要给予)应用320的对于对AAN存储设备330中的存储器的特定区域的特定访问的许可中的一个或多个。
注册过程可进一步包括主机OS 310和AAN存储设备330协定主机OS 310要配置用于与应用320的第一位置对应的第二位置、PDID或应用320的其他标识符、应用320稍后可试图访问的AAN存储设备330的区域的标识符、已经给予(或要给予)应用320的对这样的区域的访问许可和/或类似物中的一个或多个。
通过说明而非限制的方式,为应用320分配的存储器空间的一个或多个位置的集合-例如一个或多个I/O页面-可被注册以与PDID关联(或映射到它),AAN设备320稍后使用该PDID用于识别应用320和对应的访问许可目的。PDID可由AAN存储设备330使用以在应用320进行对应用优化访问(-例如读取和/或写入AAN存储设备330的规定区域)的I/O请求时执行访问许可检查。
在应用320访问AAN设备330的区域之前,主机OS 310可注册应用320的一个或多个I/O位置并且可确定对于这样的访问的PDID-例如响应于来自应用320的请求。在实施例中,ANL 312可检查是否要对应用320提供访问AAN设备的区域的权利。如果ANL 312确定应用320被允许有访问许可,ANL 312可经由AAN驱动器314传播访问信息-例如PDID(识别应用320)、对于AAN设备330的区域的区域ID和/或被允许的访问类型(读或写)的标识符-到AAN设备330。AAN存储设备330可使这样的访问控制信息维持在AAN设备330中的区域许可结构中。这样的区域许可信息可例如被保持在表格或其他数据结构中,每当由AAN驱动器314进行创建或访问AAN存储设备330的对象的请求时则用新条目来填充该表格或其他数据结构。
应用320可将显式或隐式地请求对AAN存储设备330的区域的区域处理(RTag)的消息340发送到主机OS 310。备选地,应用320的注册可由平台的某一其他代理发起。响应于消息340,主机OS 310可在350确定用于由应用320控制区域的应用优化访问的访问许可。如果例如消息340是针对应用320首次请求创建区域,ANL 312可在主机OS 310的虚拟文件系统内注册该区域和对该区域的一个或多个访问许可-例如在描述AAN存储设备330的区域的AAN目录316中。在实施例中,AAN目录316可被包括在ANL 312中或用别的方式对于ANL 312可访问。如果消息340是针对应用320请求访问之前创建的AAN存储设备330的区域,ANL 312可向主机OS 310的本地策略管理功能性(未示出)询问对于区域的访问许可。策略管理器可采用为区域配置的许可作出响应。
在350处确定访问许可的情况下,ANL 312可信号通知AAN驱动器314向AAN设备330注册区域访问控制策略。通过说明而非限制的方式,AAN驱动器314可在360处注册应用-例如,包括将PDID和/或位置传送到AAN存储设备330或用别的方式与之达成一致来与应用320关联。备选地或另外,AAN设备330可分配并且经由AAN驱动器314对应用320提供区域处理(RTag)以在对于区域的应用优化访问中应用。ANL 312可在370处将用AAN存储设备330确定的RTag返回给应用320。
利用区域标识符RTag,应用320可在某一后来的时间点将工作请求380放置到它的存储器空间的注册位置来执行对于AAN设备330的期望区域的应用优化I/O。AAN设备330中的控制器-例如具有访问引擎245的特征中的一些或全部-可通过将工作请求380中的访问类型与对于该PDID的预先注册的信息比较来证实对区域的访问-例如基于检查而允许或拒绝访问。
图7是固态盘700的实施例的框图。固态盘(同样“固态驱动器”)使用半导体存储器(也称为固态存储器)作为存储介质。半导体存储器比硬驱动器相对更坚固并且提供对振动、灰尘、湿度和速度的突变的敏感度小得多的优势。半导体存储器还趋于比具有相似存储容量的典型硬驱动器需要更少的功率。
固态盘700包括固态盘控制器702,用于控制非易失性存储器阵列704。固态盘700经由主机接口706而与主机控制器通信。固态盘控制器702控制非易失性存储器阵列704的读、写和擦除。固态盘700可包括AAN存储240的特征中的一些或全部-例如,在访问引擎245被纳入固态盘控制器702或用别的方式耦合来控制固态盘控制器702的情况下。
图4图示根据实施例的计算机平台400的选择要素,其包括数据结构以用于提供对存储设备的访问。计算机平台400可例如包括计算机平台200的特征中的一些或全部。
计算机平台400可包括在处理单元(未示出)上执行并且在主存储器中包括各种结构(-例如,由说明性设备驱动器412、数据缓冲页面414和队列416表示)的主机OS 410。设备驱动器412可对主机OS 410提供功能性来控制计算机平台400的一个或多个部件,并且数据缓冲页面414和队列416可存储主机OS 410的各种状态信息。通过说明而非限制的方式,设备驱动器412可包括AAN驱动器314的功能性中的一些或全部,而数据缓冲页面414和队列416可多样化地存储ANL的当前和/或未决过程状态、参考数据等。
此外,计算机平台400可包括例如硬盘驱动器、固态驱动器等AAN存储设备430、具有存储介质480的AAN存储设备430-例如包括NAND闪速存储器介质、NOR闪速存储器介质、磁阻随机存取存储器介质、纳米线介质或相变存储器介质和/或类似物-其可用于应用优化访问。在实施例中,AAN存储设备430包括访问引擎470-即,硬件、固件和/或执行软件的多种组合中的任一种-来检测对于应用优化访问的请求并且评估是允许还是拒绝这样的应用优化访问。AAN存储设备430可进一步包括在确定是否允许请求的应用优化访问中要由访问引擎470参考的各种注册信息。
计算机平台400可进一步包括在处理单元上执行并且在主存储器中包括各种结构(例如,由说明性数据缓冲页面428、用户发送队列424、用户完成队列426和/或类似物表示)的应用420。为了与AAN存储设备430通信,应用420可通过主机OS 410的AAN驱动器(例如设备驱动器412)向AAN设备430分配并且注册主存储器中它的位置(例如,用户门铃位置422、一个或多个数据缓冲页面428、用户SQ 424和/或类似物)中的一个或多个。注册可包括AAN设备430和主机OS 410的AAN驱动器协定这样的PDID,主机OS 410的核和AAN设备430两者都使该PDID与应用存储器空间的地址(其作为注册过程的部分而被注册)关联。AAN设备430或主机OS 410的AAN驱动器可分配门铃地址并且将该地址映射到应用的存储器映射。在实施例中,应用420的PDID是门铃地址的索引。
在实施例中,主机OS 410可执行存储器映射来将AAN设备430中的门铃库440的位置445直接映射到应用420的用户门铃位置422。这样的存储器映射将可对应用提供用于执行对位置445的存储器映射I/O写入来中断AAN存储设备430的部件。
例如,应用420可将访问请求消息(其包括或用别的方式指示对于应用420的PDID、对于要访问的区域的RTag和/或类似物)间接写入位置445。
响应于检测到对位置445的写入,访问引擎470可使用请求消息中的信息来访问之前对应用420向AAN存储设备430的注册所生成的门铃上下文信息450。
门铃上下文信息450可例如确认或用别的方式描述位置445与PDID或应用420的其他标识符的关联、是请求的数据交换的目标或源的应用420的存储器空间的一个或多个区域(例如,用户SQ 424、数据缓冲页面428和/或类似物)的位置和/或类似物。基于门铃上下文信息450,访问引擎470可验证进行请求的应用和/或识别到哪里和/或从哪里交换数据。
在实施例中,访问引擎470可进一步访问区域许可信息460,其描述应用420是否与允许请求的访问的访问许可关联。基于门铃上下文信息450和/或区域许可信息460中的信息,访问引擎470可为应用420执行所请求的访问。
应用420由主机OS 410的注册可使应用420能够利用对AAN存储设备430的一个或多个区域的应用优化访问。应用420的存储器空间中用户门铃位置422到AAN存储设备430的位置445的映射被提供在OS核旁路应用编程接口(API)中以用于从AAN存储设备430的区域485读取和/或写入AAN存储设备430的区域485。某些实施例利用主机OS 410的本地访问控制机制来代表并且维持对存储介质480的区域的许可。然而,由于应用420的注册,访问控制信息可分布以稍后被AAN存储设备430使用-该使用独立于从应用420到主机OS 410本身的OS系统调用-这时对区域485的访问实际上由应用420请求。
图5图示根据实施例用于访问存储介质的方法的选择要素。方法500可由多种基于应用优化对象的存储设备中的任一种(例如OSD 110)执行。在实施例中,方法500由访问引擎470执行。
方法500可包括在510处检测对计算机平台的OSD的第一位置的写入-例如充当用于信号通知OSD的门铃地址的第一位置。写入第一位置可由执行对分配给应用的存储器空间中的第二位置的写入的计算机平台的应用引起。应用可执行对第二位置的写入以便请求第一信息交换-例如分配给应用的存储器空间与OSD之间的应用优化交换。
在实施例中,应用已经被注册以访问OSD的区域,该注册在OSD检测对第一位置的写入之前。这样的注册可包括例如OSD存储使第一位置与第二位置关联和/或与应用的PDID关联的信息。例如,平台的主机OS的ANL可参与与应用和OSD交换注册信息,该交换允许由应用访问OSD,其不需要应用进行对主机OS的本地文件系统的系统调用。
注册可包括或用别的方式导致第一位置到第二位置的存储器映射。在实施例中,这样的存储器映射是对第一位置的写入由对第二位置的写入引起的基础。对第一位置的写入可存储OSD的存储器区域的标识符,主机OS之前在注册过程期间已将其提供给应用。作为确定是否执行由应用请求的访问的一部分,OSD可评估存储器区域标识符。
方法500可进一步包括在520执行与存储器空间的第一信息交换,其中第一信息交换独立于应用向计算机平台的主机操作系统发送描述第一信息交换的任何系统调用。在实施例中,OSD响应于检测到对第一位置的写入而确定应用的标识符。对应用的访问许可然后可基于确定的标识符而识别,其中第一信息交换基于识别的访问许可而被准允(或拒绝)。
在某些实施例中,OSD可检测对于访问的一个或多个其他请求,其独立于主机OS。例如,OSD可通过计算机平台的管理代理而检测对OSD的某一第三位置的写入。对第三位置的写入可例如基于请求第二信息交换的管理代理。响应于检测到对第三位置的写入,OSD可执行第二信息交换来访问OSD的存储器区域,其对主机OS不可见。这样的交换可例如用于访问来自OSD的BIOS指令。
图6图示根据实施例用于访问存储介质的方法的选择要素。方法600可例如由在计算机平台(其包括应用自适应OSD)上执行的应用来执行。在实施例中,方法600由具有应用420的特征中的一些或全部的应用来执行。方法600可代表例如对于方法500的互补方法。
方法600可包括在610执行对分配给应用的存储器空间中的第一位置的写入。对第一位置的写入可例如被执行来请求第一信息交换-例如分配的存储器空间与OSD之间的交换。在实施例中,对第一位置的写入引起对OSD的第二位置的写入。在实施例中,方法600的第一存储器位置和第二位置分别对应于方法500的第二位置和第一位置。
在实施例中,应用进一步为访问OSD的区域而注册,该注册-例如在应用执行对第一位置的写入之前。这样的注册可包括或用别的方式导致第一位置到第二位置的存储器映射。在实施例中,这样的存储器映射是对第一位置的写入导致对第二位置的写入的基础。
方法600可进一步包括在620基于对第二位置的写入而执行与OSD的第一信息交换。在实施例中,第一信息交换独立于应用向主机OS发送描述第一信息交换的任何系统调用。
本文描述用于访问存储介质的技术和架构。在上文的描述中,为了解释目的,阐述许多具体细节以提供对某些实施例的全面理解。然而,某些实施例可在没有这些具体细节的情况下实践,这对于本领域内技术人员将是明显的。在其它实例中,以框图的形式示出结构和设备以便避免掩盖描述。
在说明书中对 “一个实施例”或“实施例”的引用意指结合实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。短语“在一个实施例中”在说明书中各种地方中的出现不一定都指相同的实施例。
从关于计算机存储器内的数据位的操作的算法和符号表示方面呈现本文的详细描述中的一些部分。这些算法描述和表示是由计算领域内的技术人员使用以最有效地向本领域内其他技术人员传达它们的工作实质的手段。算法在这里并且一般设想为导致期望结果的步骤的自洽顺序。这些步骤是需要物理操纵物理量的那些步骤。通常,尽管不是必须的,但这些量采取能够被存储、转移、组合、比较和用别的方式而操纵的电或磁信号的形式。已经证实,有时主要由于通常使用的原因,将这些信号称为位、值、要素、符号、字符、项、数字或类似物是方便的。
然而,应该牢记所有这些和相似的术语要与适当的物理量关联并且仅是应用于这些量的方便标签。除非另外具体阐述(如从上文论述而显而易见的),意识到在整个说明中,利用例如“处理”或“计算”或“运算”或“确定”或“显示”或类似物等术语的论述指计算机系统或相似的电子计算设备的行为和进程,其操纵表示为计算机系统的寄存器和存储器内的物理(电子)量的数据并且将其转换为相似地表示为计算机系统存储器或寄存器或其他这样的信息存储、传输或显示装置内的物理量的其他数据。
某些实施例还涉及用于执行本文的操作的装置。该装置可专门对于所需目的而构造,或它可包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可存储在计算机可读存储介质(例如但不限于任何类型的盘,其包括软盘、光盘、CD-ROM和磁光盘、只读存储器(ROM)、例如动态RAM(DRAM)、EPROM、EEPROM等随机存取存储器(RAM)、磁或光卡或适合用于存储电子指令的任何类型的介质)中,并且耦合于计算机系统总线。
本文呈现的算法和显示不固有地涉及任何特定计算机或其他装置。各种通用系统可与根据本文教导的程序一起使用,或可证明便于构造更专业的装置来执行需要的方法步骤。多种的这些系统需要的结构将从下文的描述显而易见。另外,未参考任何特定编程语言来描述某些实施例。将意识到多种编程语言可用于实现如本文描述的这样的实施例的教导。
除上文描述的外,可对公开的实施例和其实现做出各种修改而不偏离它们的范围。因此,本文的说明和示例应在说明性而非限制性意义上解释。本发明的范围应仅仅通过参考后跟的权利要求来度量。
Claims (24)
1.一种在计算机平台的基于对象的存储设备OSD处的方法,所述方法包括:
检测对所述OSD的第一位置的写入,所述写入由执行对耦合于所述OSD的存储器的存储器空间中的第二位置的写入的计算机平台的应用所引起,所述存储器空间被分配给所述应用,对所述第二位置的写入请求第一信息交换;以及
执行与所述存储器空间的第一信息交换,其中所述第一信息交换独立于所述应用向所述计算机平台的主机操作系统发送描述所述第一信息交换的任何系统调用。
2.如权利要求1所述的方法,进一步包括:
响应于检测到对所述第一位置的写入来确定所述应用的标识符;以及
基于确定的标识符识别对于所述应用的访问许可,其中所述第一信息交换基于识别的访问许可。
3.如权利要求1所述的方法,其中对所述第一位置的写入存储由所述主机操作系统响应于来自所述应用的请求而提供给所述应用的所述OSD的存储器区域的标识符。
4.如权利要求1所述的方法,其中对所述第一位置的写入基于所述第一位置到所述第二位置的存储器映射而由对所述第二位置的写入引起。
5.如权利要求1所述的方法,其中执行所述第一信息交换包括访问所述OSD的第一存储器区域,所述方法进一步包括:
从所述主机操作系统接收为了访问所述OSD的第一存储器区域的所述应用的注册。
6.如权利要求1所述的方法,进一步包括:
接收为了访问所述OSD的存储器区域的请求,其中所述主机操作系统被阻止访问描述所述存储器区域的信息;
检测处理器正采用系统管理模式操作的指示;以及
基于检测到所述指示,接受为了访问所述OSD的存储器区域的请求。
7.如权利要求6所述的方法,其中所述系统管理模式是针对BIOS管理代理的操作。
8.一种用于计算机平台中的操作的基于对象的存储设备OSD,所述基于对象的存储设备包括:
第一位置,用于接收由执行对耦合于所述基于对象的存储设备的存储器的存储器空间中的第二位置的写入的计算机平台的应用所引起的写入,所述存储器空间被分配给所述应用,对所述第二位置的写入请求第一信息交换;以及
访问引擎,用于检测对第一位置的写入,所述访问引擎进一步执行与所述存储器空间的第一信息交换,其中所述第一信息交换独立于所述应用向所述计算机平台的主机操作系统发送描述所述第一信息交换的任何系统调用。
9.如权利要求8所述的基于对象的存储设备,其中所述访问引擎进一步响应于对所述第一位置的写入来确定所述应用的标识符,并且基于确定的标识符识别对于所述应用的访问许可,其中所述第一信息交换基于识别的访问许可。
10.如权利要求8所述的基于对象的存储设备,其中对所述第一位置的写入存储由所述主机操作系统响应于来自所述应用的请求而提供给所述应用的所述OSD的存储器区域的标识符。
11.如权利要求8所述的基于对象的存储设备,其中对所述第一位置的写入基于所述第一位置到所述第二位置的存储器映射而由对所述第二位置的写入引起。
12.如权利要求8所述的基于对象的存储设备,其中所述访问引擎执行所述第一信息交换包括所述访问引擎访问所述OSD的第一存储器区域,所述访问引擎进一步从所述主机操作系统接收为了访问所述OSD的第一存储器区域的所述应用的注册。
13.如权利要求8所述的基于对象的存储设备,所述访问引擎进一步接收为了访问所述OSD的存储器区域的请求,其中所述主机操作系统被阻止访问描述所述存储器区域的信息、检测处理器正采用系统管理模式操作的指示以及基于检测到所述指示而接受为了访问所述OSD的存储器区域的请求。
14.如权利要求13所述的基于对象的存储设备,其中所述系统管理模式是针对BIOS管理代理的操作。
15.一种由代理利用计算机平台的处理单元来执行的方法,所述方法包括:
执行对分配给所述代理的存储器空间中的第一位置的写入,对所述第一位置的写入请求所述计算机平台的存储器设备的存储器空间与耦合于所述存储器设备的计算机平台的基于对象的存储设备OSD之间的第一信息交换,其中对所述第一位置的写入引起对所述OSD的第二位置的写入;以及
基于对所述第二位置的写入,执行与所述OSD的第一信息交换,其中所述第一信息交换独立于所述代理向所述计算机平台的主机操作系统发送描述所述第一信息交换的任何系统调用。
16.如权利要求15的方法,其中所述代理是在受到所述主机操作系统支持的用户空间中运行的应用。
17.如权利要求16所述的方法,进一步包括:
向所述主机操作系统发送请求,其中所述主机操作系统响应于所述系统调用向所述OSD注册所述代理;以及
接收由所述主机操作系统响应于所述请求而提供的所述OSD的存储器区域的标识符,其中对所述第二位置的写入存储所述存储器区域的标识符。
18.如权利要求16所述的方法,其中对所述第二位置的写入存储所述代理的标识符。
19.如权利要求16所述的方法,其中对所述第一位置的写入基于所述第一位置到所述第二位置的存储器映射而由对所述第二位置的写入引起。
20.一种用于区域访问控制的装置,包括:
执行对分配给代理的存储器空间中的第一位置的写入的部件,对所述第一位置的写入请求所述存储器空间与计算机平台的基于对象的存储设备OSD之间的第一信息交换,其中对所述第一位置的写入引起对所述OSD的第二位置的写入;以及
基于对所述第二位置的写入,执行与所述OSD的第一信息交换的部件,其中所述第一信息交换独立于所述代理向所述计算机平台的主机操作系统发送描述所述第一信息交换的任何系统调用。
21.如权利要求20所述的装置,其中所述代理是在受到所述主机操作系统支持的用户空间中运行的应用。
22.如权利要求21所述的装置,所述装置进一步包括:
向所述主机操作系统发送请求的部件,其中所述主机操作系统响应于所述系统调用向所述OSD注册所述代理;以及
接收由所述主机操作系统响应于所述请求而提供的所述OSD的存储器区域的标识符的部件,其中对所述第二位置的写入存储所述存储器区域的标识符。
23.如权利要求21所述的装置,其中对所述第二位置的写入存储所述代理的标识符。
24.如权利要求21所述的装置,其中对所述第一位置的写入基于所述第一位置到所述第二位置的存储器映射而由对所述第二位置的写入引起。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/054409 WO2013048487A1 (en) | 2011-09-30 | 2011-09-30 | Method, system and apparatus for region access control |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103946815A CN103946815A (zh) | 2014-07-23 |
CN103946815B true CN103946815B (zh) | 2017-02-15 |
Family
ID=47996218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180075151.8A Active CN103946815B (zh) | 2011-09-30 | 2011-09-30 | 用于区域访问控制的方法、存储设备和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9268712B2 (zh) |
CN (1) | CN103946815B (zh) |
WO (1) | WO2013048487A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104335220B (zh) * | 2012-03-30 | 2018-04-20 | 爱迪德技术有限公司 | 用于防止和检测安全威胁的方法和系统 |
KR102009745B1 (ko) * | 2013-04-05 | 2019-08-13 | 삼성전자주식회사 | 무선 네트워크에서의 디바이스간 직접 통신장치 및 방법 |
GB2534693B (en) | 2013-11-08 | 2017-02-08 | Exacttrak Ltd | Data accessibility control |
US9740857B2 (en) | 2014-01-16 | 2017-08-22 | Fireeye, Inc. | Threat-aware microvisor |
US9489524B2 (en) * | 2014-05-23 | 2016-11-08 | Blackberry Limited | Intra-application permissions on an electronic device |
US9372635B2 (en) * | 2014-06-03 | 2016-06-21 | Ati Technologies Ulc | Methods and apparatus for dividing secondary storage |
US20160188503A1 (en) * | 2014-12-25 | 2016-06-30 | Intel Corporation | Virtual legacy wire |
US9934376B1 (en) | 2014-12-29 | 2018-04-03 | Fireeye, Inc. | Malware detection appliance architecture |
CN106033520B (zh) * | 2015-03-17 | 2019-03-08 | 联想(北京)有限公司 | 一种数据处理方法及装置 |
US10838852B2 (en) * | 2015-04-17 | 2020-11-17 | Samsung Electronics Co., Ltd. | System and method to extend NVME queues to user space |
US11036533B2 (en) | 2015-04-17 | 2021-06-15 | Samsung Electronics Co., Ltd. | Mechanism to dynamically allocate physical storage device resources in virtualized environments |
US10454950B1 (en) | 2015-06-30 | 2019-10-22 | Fireeye, Inc. | Centralized aggregation technique for detecting lateral movement of stealthy cyber-attacks |
US10846117B1 (en) | 2015-12-10 | 2020-11-24 | Fireeye, Inc. | Technique for establishing secure communication between host and guest processes of a virtualization architecture |
US10447728B1 (en) | 2015-12-10 | 2019-10-15 | Fireeye, Inc. | Technique for protecting guest processes using a layered virtualization architecture |
US10108446B1 (en) | 2015-12-11 | 2018-10-23 | Fireeye, Inc. | Late load technique for deploying a virtualization layer underneath a running operating system |
US10884992B2 (en) * | 2015-12-23 | 2021-01-05 | EMC IP Holding Company LLC | Multi-stream object-based upload in a distributed file system |
US10191861B1 (en) | 2016-09-06 | 2019-01-29 | Fireeye, Inc. | Technique for implementing memory views using a layered virtualization architecture |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003263366A (ja) * | 2002-03-12 | 2003-09-19 | Hitachi Ltd | スワッピング制御方法及びその実施装置並びにその処理プログラム |
CN1808434A (zh) * | 2006-01-26 | 2006-07-26 | 无锡永中科技有限公司 | 基于对象存储库的对象引用方法 |
CN101040282A (zh) * | 2004-08-13 | 2007-09-19 | 潘纳萨斯公司 | 将虚拟映射存入对象属性中的分布式基于对象的存储系统 |
CN101556557A (zh) * | 2009-05-14 | 2009-10-14 | 浙江大学 | 一种基于对象存储设备的对象文件组织方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7017020B2 (en) | 1999-07-16 | 2006-03-21 | Broadcom Corporation | Apparatus and method for optimizing access to memory |
US7512135B2 (en) * | 2004-12-10 | 2009-03-31 | International Business Machines Corporation | Method for transferring data among a logical layer, physical layer, and storage device |
US8244826B2 (en) * | 2007-10-23 | 2012-08-14 | International Business Machines Corporation | Providing a memory region or memory window access notification on a system area network |
US8607013B2 (en) * | 2007-10-30 | 2013-12-10 | Vmware, Inc. | Providing VMM access to guest virtual memory |
JP5181139B2 (ja) * | 2008-06-30 | 2013-04-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータプログラム、共有オブジェクト制御装置及び共有オブジェクト制御方法 |
EP2483778B1 (en) | 2009-09-30 | 2019-09-04 | Citrix Systems, Inc. | Dynamic reallocation of physical memory responsive to virtual machine events |
-
2011
- 2011-09-30 WO PCT/US2011/054409 patent/WO2013048487A1/en active Application Filing
- 2011-09-30 US US13/997,504 patent/US9268712B2/en active Active
- 2011-09-30 CN CN201180075151.8A patent/CN103946815B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003263366A (ja) * | 2002-03-12 | 2003-09-19 | Hitachi Ltd | スワッピング制御方法及びその実施装置並びにその処理プログラム |
CN101040282A (zh) * | 2004-08-13 | 2007-09-19 | 潘纳萨斯公司 | 将虚拟映射存入对象属性中的分布式基于对象的存储系统 |
CN1808434A (zh) * | 2006-01-26 | 2006-07-26 | 无锡永中科技有限公司 | 基于对象存储库的对象引用方法 |
CN101556557A (zh) * | 2009-05-14 | 2009-10-14 | 浙江大学 | 一种基于对象存储设备的对象文件组织方法 |
Also Published As
Publication number | Publication date |
---|---|
US20130305006A1 (en) | 2013-11-14 |
US9268712B2 (en) | 2016-02-23 |
WO2013048487A1 (en) | 2013-04-04 |
CN103946815A (zh) | 2014-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103946815B (zh) | 用于区域访问控制的方法、存储设备和装置 | |
US20230145212A1 (en) | Switch Device for Interfacing Multiple Hosts to a Solid State Drive | |
EP1946238B1 (en) | Operating system independent data management | |
US8032883B2 (en) | Controlling access from the virtual machine to a file | |
US9952788B2 (en) | Method and apparatus for providing a shared nonvolatile memory system using a distributed FTL scheme | |
US8762660B2 (en) | Avoiding physical fragmentation in a virtualized storage environment | |
US20120089650A1 (en) | System and method for a storage system | |
US20190095336A1 (en) | Host computing arrangement, remote server arrangement, storage system and methods thereof | |
TW589530B (en) | Method and apparatus for physical address-based security to determine target security | |
US20080134320A1 (en) | Method for automatic role activation | |
TW200426588A (en) | NoDMA cache | |
US10055574B2 (en) | Implementing extent granularity authorization processing in CAPI adapters | |
US10678577B2 (en) | Method for implementing virtual secure element | |
TWI286686B (en) | Method and apparatus for multi-table accessing of input/output devices using target security | |
US20080059740A1 (en) | Hardware for manually enabling and disabling read and write protection to parts of a storage disk or disks for users | |
US10169605B2 (en) | Implementing block device extent granularity authorization model processing in CAPI adapters | |
US20100122055A1 (en) | Data integrity validation using hierarchical volume management | |
US20150169647A1 (en) | Access management techniques for storage networks | |
US20160179381A1 (en) | Reduction of intermingling of input and output operations in solid state drives | |
US20230315316A1 (en) | Reading a master boot record for a namespace after reformatting the namespace | |
US20230342049A1 (en) | Reading a master boot record for a namespace using a regular read operation | |
US9134916B1 (en) | Managing content in a distributed system | |
EP3268866B1 (en) | Transmitting contents of an operation field to a media controller | |
US10216428B1 (en) | Batch configuration of virtual data storage devices | |
US9703972B2 (en) | Implementing and processing extent granularity authorization mechanism in CAPI adapters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |