METHODS AND STRUCTURE FOR DETERMINING CACHE SIZE IN A STORAGE SYSTEM
    1.
    发明申请
    METHODS AND STRUCTURE FOR DETERMINING CACHE SIZE IN A STORAGE SYSTEM 有权
    用于确定存储系统中的高速缓存大小的方法和结构

    公开(公告)号:US20120124295A1

    公开(公告)日:2012-05-17

    申请号:US12948321

    申请日:2010-11-17

    Abstract: Methods and structure for automated determination and reconfiguration of the size of a cache memory in a storage system. Features and aspects hereof generate historical information regarding frequency of hits on cache lines in the cache memory. The history maintained is then analyzed to determine a desired cache memory size. The historical information regarding cache memory usage may be communicated to a user who may then direct the storage system to reconfigure its cache memory to a desired cache memory size. In other embodiments, the storage system may automatically determine the desired cache memory size and reconfigure its cache memory. The method may be performed automatically periodically, and/or in response to a user's request, and/or in response to detecting thrashing caused by least recently used (LRU) cache replacement algorithms in the storage system.

    Abstract translation: 用于自动确定和重新配置存储系统中的高速缓存的大小的方法和结构。 其特征和方面产生关于高速缓冲存储器中的高速缓存行上的命中频率的历史信息。 然后分析维护的历史以确定期望的高速缓冲存储器大小。 关于高速缓存存储器使用的历史信息可以被传送给用户,用户然后可以指示存储系统将其高速缓冲存储器重新配置为期望的高速缓存存储器大小。 在其他实施例中,存储系统可以自动确定期望的高速缓冲存储器大小并重新配置其高速缓冲存储器。 可以周期性地和/或响应于用户的请求和/或响应于检测由存储系统中最近最少使用的(LRU)高速缓存替换算法引起的抖动来自动执行该方法。

    METHOD FOR MANAGING AND TUNING DATA MOVEMENT BETWEEN CACHES IN A MULTI-LEVEL STORAGE CONTROLLER CACHE
    2.
    发明申请
    METHOD FOR MANAGING AND TUNING DATA MOVEMENT BETWEEN CACHES IN A MULTI-LEVEL STORAGE CONTROLLER CACHE 有权
    用于管理和调整多级存储控制器缓存中的缓存之间的数据移动的方法

    公开(公告)号:US20120089782A1

    公开(公告)日:2012-04-12

    申请号:US12899746

    申请日:2010-10-07

    CPC classification number: G06F12/0804 G06F12/0866 G06F12/0897

    Abstract: A method for managing data movement in a multi-level cache system having a primary cache and a secondary cache. The method includes determining whether an unallocated space of the primary cache has reached a minimum threshold; selecting at least one outgoing data block from the primary cache when the primary cache reached the minimum threshold; initiating a de-stage process for de-staging the outgoing data block from the primary cache; and terminating the de-stage process when the unallocated space of the primary cache has reached an upper threshold. The de-stage process further includes determining whether a cache hit has occurred in the secondary cache before; storing the outgoing data block in the secondary cache when the cache hit has occurred in the secondary cache before; generating and storing metadata regarding the outgoing data block; and deleting the outgoing data block from the primary cache.

    Abstract translation: 一种用于管理具有主高速缓存和二级高速缓存的多级缓存系统中的数据移动的方法。 该方法包括确定主缓存器的未分配空间是否已经达到最小阈值; 当主缓存达到最小阈值时,从主缓存中选择至少一个输出数据块; 发起用于从所述主缓存中去除所述输出数据块的去级过程; 并且当主缓存器的未分配空间已经达到上限阈值时终止去级处理。 去级过程还包括确定高速缓存命中是否已经在次级高速缓存中发生; 当高速缓存命中已经在二级缓存中发生时,将输出数据块存储在二级高速缓存中; 生成和存储关于输出数据块的元数据; 并从主缓存中删除输出数据块。

    Methods and structure for near-live reprogramming of firmware in storage systems using a hypervisor
    3.
    发明授权
    Methods and structure for near-live reprogramming of firmware in storage systems using a hypervisor 有权
    使用虚拟机管理程序的存储系统中固件近端重新编程的方法和结构

    公开(公告)号:US08776060B2

    公开(公告)日:2014-07-08

    申请号:US12939548

    申请日:2010-11-04

    CPC classification number: G06F8/656 G06F9/45558

    Abstract: Methods and structure for reprogramming firmware in a storage controller using a virtual machine management (VMM) environment. A storage process (current firmware) in the storage controller operates in a current virtual machine (VM) under control of a hypervisor. Reprogrammed (new) firmware is loaded into a new virtual machine under control of the hypervisor. The new firmware initializes and directs the current firmware to quiesce its processing. The new firmware also requests the hypervisor to map data in the memory space of the current virtual machine into the memory space of the new virtual machine and to transfer ownership/control of devices and network addresses from the current virtual machine to the new virtual machine. The new firmware operating on the new virtual machine then takes control of the storage controller and resumes processing of requests.

    Abstract translation: 使用虚拟机管理(VMM)环境在存储控制器中重新编程固件的方法和结构。 存储控制器中的存储过程(当前固件)在管理程序的控制下在当前虚拟机(VM)中操作。 重新编程(新)固件在管理程序的控制下加载到新的虚拟机中。 新固件会初始化并引导当前固件停止其处理。 新固件还请求管理程序将当前虚拟机的内存空间中的数据映射到新虚拟机的内存空间,并将设备和网络地址的所有权/控制权从当前虚拟机转移到新的虚拟机。 在新虚拟机上运行的新固件接着控制存储控制器并恢复处理请求。

    Methods and structure for determining cache size in a storage system
    4.
    发明授权
    Methods and structure for determining cache size in a storage system 有权
    用于确定存储系统中的高速缓存大小的方法和结构

    公开(公告)号:US08458399B2

    公开(公告)日:2013-06-04

    申请号:US12948321

    申请日:2010-11-17

    Abstract: Methods and structure for automated determination and reconfiguration of the size of a cache memory in a storage system. Features and aspects hereof generate historical information regarding frequency of hits on cache lines in the cache memory. The history maintained is then analyzed to determine a desired cache memory size. The historical information regarding cache memory usage may be communicated to a user who may then direct the storage system to reconfigure its cache memory to a desired cache memory size. In other embodiments, the storage system may automatically determine the desired cache memory size and reconfigure its cache memory. The method may be performed automatically periodically, and/or in response to a user's request, and/or in response to detecting thrashing caused by least recently used (LRU) cache replacement algorithms in the storage system.

    Abstract translation: 用于自动确定和重新配置存储系统中的高速缓存的大小的方法和结构。 其特征和方面产生关于高速缓冲存储器中的高速缓存行上的命中频率的历史信息。 然后分析维护的历史以确定期望的高速缓冲存储器大小。 关于高速缓存存储器使用的历史信息可以被传送给用户,用户然后可以指示存储系统将其高速缓冲存储器重新配置到期望的高速缓冲存储器大小。 在其他实施例中,存储系统可以自动确定期望的高速缓冲存储器大小并重新配置其高速缓冲存储器。 可以周期性地和/或响应于用户的请求和/或响应于检测由存储系统中最近最少使用的(LRU)高速缓存替换算法引起的抖动来自动执行该方法。

    METHODS AND STRUCTURE FOR NEAR-LIVE REPROGRAMMING OF FIRMWARE IN STORAGE SYSTEMS USING A HYPERVISOR
    5.
    发明申请
    METHODS AND STRUCTURE FOR NEAR-LIVE REPROGRAMMING OF FIRMWARE IN STORAGE SYSTEMS USING A HYPERVISOR 有权
    使用高维数据存储系统中固件的近端重现的方法和结构

    公开(公告)号:US20120117562A1

    公开(公告)日:2012-05-10

    申请号:US12939548

    申请日:2010-11-04

    CPC classification number: G06F8/656 G06F9/45558

    Abstract: Methods and structure for reprogramming firmware in a storage controller using a virtual machine management (VMM) environment. A storage process (current firmware) in the storage controller operates in a current virtual machine (VM) under control of a hypervisor. Reprogrammed (new) firmware is loaded into a new virtual machine under control of the hypervisor. The new firmware initializes and directs the current firmware to quiesce its processing. The new firmware also requests the hypervisor to map data in the memory space of the current virtual machine into the memory space of the new virtual machine and to transfer ownership/control of devices and network addresses from the current virtual machine to the new virtual machine. The new firmware operating on the new virtual machine then takes control of the storage controller and resumes processing of requests.

    Abstract translation: 使用虚拟机管理(VMM)环境在存储控制器中重新编程固件的方法和结构。 存储控制器中的存储过程(当前固件)在管理程序的控制下在当前虚拟机(VM)中操作。 重新编程(新)固件在管理程序的控制下加载到新的虚拟机中。 新固件会初始化并引导当前固件停止其处理。 新固件还请求管理程序将当前虚拟机的内存空间中的数据映射到新虚拟机的内存空间,并将设备和网络地址的所有权/控制权从当前虚拟机转移到新的虚拟机。 在新虚拟机上运行的新固件接着控制存储控制器并恢复处理请求。

    Software recognition of drive removal or insertion in a storage system
    6.
    发明授权
    Software recognition of drive removal or insertion in a storage system 失效
    驱动器取出或插入到存储系统中的软件识别

    公开(公告)号:US06178520B1

    公开(公告)日:2001-01-23

    申请号:US08904444

    申请日:1997-07-31

    Abstract: A method for detection of hot-swap of disk drives in a storage subsystem devoid of special circuits for such detection and for buffering of bus signals. Typical prior designs utilize special circuits such as disk drive canisters for physically and electronically connecting the disk drives to the storage subsystem. These canisters provided electronic buffering to reduce or eliminate transient (noise and glitch) signals associated with hot-swap drive removal and insertion. In addition, such canisters provided special purpose circuits to inform storage subsystem control modules that a possible insertion or removal occurred by forcing a reset of the interconnection bus in response to detection of such transient signals. The present invention provides for such detection without need for such complex (e.g., costly) special purpose circuits. Specifically, for example in a RAID subsystem using a SCSI interface to interconnect control modules with disk drives, the methods of the present invention detect a possible removal of a disk drive either by periodically polling the SCSI IDs of the RAID subsystem for changes therein or by resetting the SCSI interface in response to errors in processing I/O activity to a removed disk drive. Other methods of the present invention detect insertion of disk drives, either added disk drives or re-inserted disk drives, by periodically polling the SCSI IDs of the RAID subsystem. The methods of the present invention thereby detect hot-swap disk drive insertion and removal without complex (costly) custom circuits therefor.

    Abstract translation: 一种用于检测存储子系统中磁盘驱动器热插拔的方法,该存储子系统没有用于这种检测和缓冲总线信号的特殊电路。 典型的现有设计使用诸如磁盘驱动器盒的特殊电路,用于将磁盘驱动器物理和电子连接到存储子系统。 这些罐提供电子缓冲以减少或消除与热插拔驱动器移除和插入相关联的瞬态(噪声和毛刺)信号。 此外,这种罐提供专用电路来通知存储子系统控制模块通过强制对互连总线的复位响应于这种瞬态信号的检测而发生的可能的插入或移除。 本发明提供了这种检测,而不需要这种复杂(例如,昂贵的)专用电路。 具体来说,例如,在使用SCSI接口将控制模块与磁盘驱动器互连的RAID子系统中,本发明的方法通过周期性地轮询RAID子系统的SCSI ID来改变磁盘驱动器的变化,或通过 重置SCSI接口以响应处理I / O活动到已删除磁盘驱动器的错误。 本发明的其它方法通过周期地轮询RAID子系统的SCSI ID来检测磁盘驱动器的插入,添加的磁盘驱动器或重新插入的磁盘驱动器。 因此,本发明的方法可以检测热插拔磁盘驱动器插入和移除,而不需要复杂(昂贵)的定制电路。

    Method and apparatus for synchronization of code in redundant
controllers in a swappable environment
    7.
    发明授权
    Method and apparatus for synchronization of code in redundant controllers in a swappable environment 失效
    用于在可交换环境中的冗余控制器中的代码同步的方法和装置

    公开(公告)号:US6085333A

    公开(公告)日:2000-07-04

    申请号:US994634

    申请日:1997-12-19

    CPC classification number: G06F8/65 G05B9/03 G06F8/67 Y10S707/99953

    Abstract: Methods and associated apparatus for automatically synchronizing the operating code between a plurality of controllers. In a first embodiment after the spare controller is swapped into the storage subsystem, if the native controller determines that the spare controller's operating code is incompatible with the native controller's operating code, then the native controller notifies the spare controller that synchronization is required between both controllers. The native controller creates an image of its operating code including configuration parameters, and copies this "synch info" into a reserved area of cache memory. The spare controller's main CPU utilizes mirroring routines to copy the operating code and configuration parameters into a reserved area of its cache memory. After the transfer is complete, the spare controller's main CPU loads the operating code and configuration parameters into its program memory and resets itself to operate with the modified program memory. In a second embodiment, a co-processor within the spare controller updates the spare controller's operating code by executing a script. The native controller builds the script that includes the operating code, configuration parameters, and instructions to retrieve the operating code and configuration parameters from the native controller's cache memory. The spare controller's co-processor transfers the script to a reserved area in the spare controller's cache memory. The native controller requests the spare controller's co-processor to execute the script which causes the co-processor to retrieve the operating code using mirroring techniques and load the spare controller's program memory with the operating code. The co-processor sends an interrupt to the spare controller's main processor to reset the spare controller.

    Abstract translation: 用于在多个控制器之间自动同步操作代码的方法和相关装置。 在备用控制器交换到存储子系统中的第一实施例中,如果本地控制器确定备用控制器的操作代码与本地控制器的操作代码不兼容,则本地控制器通知备用控制器在两个控制器之间需要同步 。 本地控制器创建包括配置参数的操作代码的映像,并将此“同步信息”复制到高速缓存中的保留区域。 备用控制器的主CPU使用镜像程序将操作代码和配置参数复制到其高速缓存中的保留区域。 传输完成后,备用控制器的主CPU将操作代码和配置参数加载到程序存储器中,并重置自身以使用修改的程序存储器进行操作。 在第二实施例中,备用控制器内的协处理器通过执行脚本来更新备用控制器的操作代码。 本地控制器构建包含操作代码,配置参数和指令的脚本,以从本机控制器的缓存中检索操作代码和配置参数。 备用控制器的协处理器将脚本传输到备用控制器的缓存中的保留区。 本地控制器请求备用控制器的协处理器执行脚本,这使得协处理器使用镜像技术检索操作代码,并使用操作代码加载备用控制器的程序存储器。 协处理器向备用控制器的主处理器发送中断以重置备用控制器。

    Methods for managing data movement and destaging data in a multi-level cache system utilizing threshold values and metadata
    8.
    发明授权
    Methods for managing data movement and destaging data in a multi-level cache system utilizing threshold values and metadata 有权
    利用阈值和元数据管理数据移动和在多级缓存系统中降级数据的方法

    公开(公告)号:US08924646B2

    公开(公告)日:2014-12-30

    申请号:US12899746

    申请日:2010-10-07

    CPC classification number: G06F12/0804 G06F12/0866 G06F12/0897

    Abstract: A method for managing data movement in a multi-level cache system includes selecting at least one outgoing data block from a primary cache when an unallocated space of the primary cache has reached a minimum threshold, initiating a de-stage process for de-staging the outgoing data block, and terminating the de-stage process when the unallocated space has reached an upper threshold. The de-stage process includes storing the outgoing data block in a secondary cache when a cache hit has occurred before. The cache hit may be an actual cache hit or a “ghost” cache hit wherein only metadata is stored in the secondary cache. A method for de-staging an outgoing data block from a higher level cache which includes storing an outgoing data block in a lower level cache when a cache hit rate satisfies a predetermined condition and storing metadata in the lower level cache is also disclosed.

    Abstract translation: 用于管理多级高速缓存系统中的数据移动的方法包括当主缓存器的未分配空间已经达到最小阈值时,从主缓存中选择至少一个输出数据块,启动用于去除 输出数据块,并且当未分配空间已经达到上限阈值时终止去级处理。 去级过程包括当先前发生高速缓存命中时将输出数据块存储在二级高速缓存中。 高速缓存命中可以是实际的高速缓存命中或“鬼”缓存命中,其中只有元数据被存储在二级缓存中。 还公开了一种当高速缓存命中率满足预定条件并将元数据存储在较低级高速缓存中时,从更高级高速缓存中去除输出数据块的方法,该方法包括将输出数据块存储在较低级高速缓存中。

Patent Agency Ranking