| NetApp Patent applications |
| Patent application number | Title | Published |
| 20100180066 | ELECTRONICALLY ADDRESSED NON-VOLATILE MEMORY-BASED KERNEL DATA CACHE - An operating system on a computer system can comprise a user space, which can comprise a persistent data store, and a kernel space, which can be extended by loading kernel modules. As provided herein, the kernel space can utilize kernel designated electronically addressed non-volatile memory (e.g., flash memory) to cache data from the user space persistent store, for example, upon a boot event. The kernel space can further comprise a cache controller that can be used to populate the kernel electronically addressed non-volatile memory with kernel in-memory data caches that comprise user space persistently stored data. In one embodiment, the kernel space can further comprise kernel designated volatile main memory (e.g., RAM), which can be used in conjunction with the kernel electronically addressed non-volatile memory to cache user space persistently stored data. In this way, kernel modules may access user space persistent store data from the RAM and/or electronically addressed non-volatile kernel cache. | 07-15-2010 |
| 20100122248 | CLONING VIRTUAL MACHINES - While current solutions for cloning virtual machines can involve copying and duplicating files associated to a virtual machine (VM), systems and techniques can be devised to create thin clones of a VM using the VM's associated storage system to copy and deduplicate storage for the VMs. One can create a base VM in a directory of a storage container attached to a hypervisor, and then map the storage container to a volume on a storage system. One can clone the base VM using a snapshot of respective files associated to the base VM, which can comprise creating metadata that identified a physical storage location of the files. Further, the metadata can then be copied to a desired location on the storage container, to create a VM clone. Once copied, the cloned VM can be customized and registered within the hypervisor. | 05-13-2010 |
| 20100115126 | AUTOMATED CONVERSION OF VERSIONED DATA COLLECTIONS - Various computing components (such as devices, operating environments, and processes) may communicate by exchanging instances of a data collection, such as a class or data structure. However, the definition of the data collection may evolve to specify different numbers, types, properties, and orderings of the items in the data collection, and it may be difficult to verify the structure and contents of an instance received from another component and possibly of a different version. This difficulty may be mitigated by exchanging versioning information about the instance (e.g., as part of the communications wire protocol) and by allocating the converting such that the sender may downconvert to earlier versions requested by a recipient, while the recipient may upconvert to later versions than a version provided by a sender. These techniques may promote the accuracy and consistency of information exchange among many components that operate on different versions of the data collection. | 05-06-2010 |
| 20090276714 | GRAPHICAL STORAGE SYSTEM VISUALIZATION, TIMELINE BASED EVENT VISUALIZATION, AND STORAGE SYSTEM CONFIGURATION VISUALIZATION - A method and system for visually displaying and navigating a computer storage system are disclosed. The storage system can be graphically browsed to select a particular entity in the storage system. A graphical timeline of events relating to the selected entity is displayed. Selecting an event from the timeline displays a graphical representation of the storage system at a time relating to the selected event or additional graphical detail about the selected event. Based on the selected event, configuration information for the entity in the storage system that experienced the event can be displayed and compared against the configuration of the entity at a different time or against a predefined template. | 11-05-2009 |
| 20090276566 | CREATING LOGICAL DISK DRIVES FOR RAID SUBSYSTEMS - A computer storage system includes multiple disk trays, each disk tray holding two or more physical disks. The disks on a single tray are virtualized into a single logical disk. The single logical disk reports to the RAID (redundant array of inexpensive disks) subsystem, creating the impression that there is one large capacity disk. In one implementation, each disk in the tray is allocated to a different RAID group. By allocating the disks in a tray to different RAID groups, if the tray is removed, only a portion of several different RAID groups are removed. This arrangement permits a simple reconstruction of the RAID groups if a disk tray is removed from the system. | 11-05-2009 |