Raid Metadriver Patents (Class 719/325)
  • Patent number: 11416339
    Abstract: A system includes a plurality of storage units, where one or more storage vaults is associated with the plurality of storage units and each storage vault of the one or more storage vaults represents a software-constructed grouping of storage units of the plurality of storage units. The software-constructed grouping of storage units stores encoded data slices. A data segment is encoded using an information dispersal algorithm to produce the encoded data slices. The system further includes a grid access manager that generates a data structure pertaining to the software-constructed grouping of storage units. A storage unit of the software-constructed grouping of storage units receives, from a client computer of the system, a request regarding the data segment, obtains, from the data structure, information regarding the request, determines whether the request is valid based on the information regarding the request, and when the request is valid, executes the request.
    Type: Grant
    Filed: August 7, 2020
    Date of Patent: August 16, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Sebastien Vas, Zachary J. Mark, Jason K. Resch
  • Patent number: 9170899
    Abstract: In one embodiment, a method of managing data includes managing a first copy of data in a solid state memory using a controller of the solid state memory, and managing a second copy of the data in a hard disk drive memory using the controller. In another embodiment, a system for storing data includes a solid state memory, at least one hard disk drive memory, and a controller for controlling storage of data in both the solid state memory and the hard disk drive memory. Other methods, systems, and computer program products are also described according to various embodiments.
    Type: Grant
    Filed: February 28, 2014
    Date of Patent: October 27, 2015
    Assignee: International Business Machines Corporation
    Inventors: Evangelos S. Eleftheriou, Robert Haas, Xiao-Yu Hu, Roman A. Pletka
  • Patent number: 8886910
    Abstract: The representation of storage devices on computers (e.g., as logical volumes) may be complicated by the pooling of multiple storage devices in order to apply redundancy plans such as mirroring and checksumming. Presented herein is a storage device driver configured to operate as a storage device interface generating representations of the storage regions of the storage devices; to claim those regions as a storage controller; and to expose pooled storage regions as logical disks. Additionally, the storage device driver may support the inclusion of storage devices in a cluster, comprising nodes that may be appointed as managers of the storage pool configuration; as managers of the storage devices; as owners having exclusive read/write access to the storage pool or cluster resources; and as cluster resource writers having exclusive write access to a cluster resource. The nodes of the cluster may interoperate to share the storage devices while avoiding write conflicts.
    Type: Grant
    Filed: September 12, 2011
    Date of Patent: November 11, 2014
    Assignee: Microsoft Corporation
    Inventors: Karan Mehra, Rajeev Nagar, Shiv Rajpal, Darren Moss, Andrea D'Amato, Alan Warwick, Vyacheslav Kuznetsov
  • Patent number: 8726129
    Abstract: An embodiment of a method of writing erasure coded data swaps a new data block for an old data block within a stripe of erasure coded data. The stripe of erasure coded data comprises data blocks and a redundancy block. The method computes a redundancy update parameter for the redundancy block using the new data block and the old data block. The method updates the redundancy block using the redundancy block, the redundancy update parameter, and a mathematical operator. An embodiment of a method of recovering erasure coded data obtains a lock on a subset of data blocks and one or more redundancy blocks. The method determines whether the subset of the data blocks and the one or more redundancy blocks includes sufficient blocks to restore the stripe. If not, the method relaxes the lock to allow at least one update of the one or more redundancy blocks while not allowing any writes of the data blocks. The method uses the subset to restore the stripe.
    Type: Grant
    Filed: July 23, 2004
    Date of Patent: May 13, 2014
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Marcos Kawazoe Aguilera, Ramaprabhu Janakiraman
  • Patent number: 8640039
    Abstract: There is disclosed an information processing method including: a step of displaying a setting window, which includes customizable items, of a device driver; a step of registering items set using the setting window as customized items; a step of writing the customized items in user interface-related data of the device driver; and a user interface display step of displaying a user interface of the device driver with reference to the user interface-related data upon launching the device driver.
    Type: Grant
    Filed: January 18, 2005
    Date of Patent: January 28, 2014
    Assignee: Canon Kabushiki Kaisha
    Inventor: Megumi Saito
  • Patent number: 8587815
    Abstract: A display method for drivers is provided that executes according to printing instruction on an application, retrieving data from the application, and converting the retrieved data into printing data readable with an image forming apparatus. The display method includes the steps of executing a first driver according to the application, displaying functional information of the first driver on a display screen for the executing first driver, and displaying information regarding a second driver different from the executing first driver together with the display screen for the executing first driver. The display method allows a user to effectively select whether to acquire the second printer driver, and further allows one of the printer drivers to correspond to the image forming apparatus.
    Type: Grant
    Filed: November 28, 2012
    Date of Patent: November 19, 2013
    Assignee: Oki Data Corporation
    Inventor: Tsuyoshi Ishigure
  • Patent number: 8533812
    Abstract: A computer-implemented method for securing access to kernel devices may include (1) identifying a context proxy privileged to access a secure device interface for a device, (2) receiving a request from the context proxy to allow a user-mode process to access a non-secure device interface for the device, (3) receiving a request from the user-mode process to access the non-secure device interface, and then (4) allowing the user-mode process to access the non-secure device interface directly based on the request from the context proxy. Various other methods and systems are also disclosed.
    Type: Grant
    Filed: March 3, 2011
    Date of Patent: September 10, 2013
    Assignee: Symantec Corporation
    Inventor: Basil Gabriel
  • Patent number: 8336061
    Abstract: A method and apparatus for performing driver configuration operations without a system reboot is disclosed. In one embodiment, a network server's adapter driver receives a request to change a configuration of a selected instance of a plurality of instances. In response, the adapter driver may then determine if there is data flow through the selected instance. If there is no data flow through the selected instance, the method includes blocking subsequent data flow and subsequent information requests issued to the adapter driver. The selected instance may then be reinitializing without rebooting the server.
    Type: Grant
    Filed: April 22, 2008
    Date of Patent: December 18, 2012
    Assignee: QUALCOMM Incorporated
    Inventors: Jeff Byers, Jing Huang, Khosrow Panah
  • Publication number: 20120278819
    Abstract: Embodiments of the present invention provide a storage device (SSD) system architecture including a host comprising a device driver associated with a storage device and a central processing unit (CPU). The CPU is configured to request an input or output (I/O) operation of a storage device and begin polling the storage device via the device driver to determine whether the requested operation has been completed. The CPU begins its initial polling after waiting for a time interval equal to the storage device's predicted response time to elapse.
    Type: Application
    Filed: April 26, 2011
    Publication date: November 1, 2012
    Inventor: Byungcheol Cho
  • Patent number: 8271748
    Abstract: In an embodiment, an apparatus is provided that may include circuitry to generate, at least in part, and/or receive, at least in part, at least one request to access at least one portion of data. The at least one request may indicate, at least in part, at least one subset of the at least one portion of the data that is of relatively higher importance than one or more other subsets of the at least one portion of the data that are of relatively lower importance. The at least one request may be to request, at least in part, that the at least one subset be accessed prior to the one or more other subsets are accessed. The at least one request may be comprised, at least in part, in at least one packet in accordance with a protocol that permits variable packet size.
    Type: Grant
    Filed: August 12, 2008
    Date of Patent: September 18, 2012
    Assignee: Intel Corporation
    Inventors: Steen K. Larsen, Ramakrishna Huggahalli
  • Patent number: 8245243
    Abstract: Efficiency is improved for device drivers. A first library is input that includes a first version of the device drivers. First metadata is input that specifies the devices of the computing arrangement and associates each device with the first version of a corresponding device driver. The first version of the corresponding device driver for each device is transformed into a second version of the corresponding device driver. The first version of the corresponding device driver indirectly accesses the device and the second version of the corresponding device driver directly accesses the device. A second library is output including the second version of the corresponding device driver for each device.
    Type: Grant
    Filed: July 6, 2009
    Date of Patent: August 14, 2012
    Assignee: Xilinx, Inc.
    Inventor: Stephen A. Neuendorffer
  • Patent number: 8196018
    Abstract: When parity checking in a disk array such as a RAID-6 system determines data and parity information is unsynchronized, additional calculations are performed to determine whether the error may be attributed to faulty data on a disk drive or to a more systemic problem such as a faulty controller. In particular, for each particular error detected, the parity generating information is analyzed to determine if each error involves a common disk index. If so, the data can be corrected on that disk; if not other corrective procedures are implemented.
    Type: Grant
    Filed: May 23, 2008
    Date of Patent: June 5, 2012
    Assignee: International Business Machines Corporation
    Inventors: Carl Edward Forhan, Robert Edward Galbraith, Adrian Cuenin Gerhard
  • Patent number: 8156182
    Abstract: A system and method for preventing unwanted communications. A communication is received from a sending party. Input indicating the communication is to be filtered is received. Filtering information is extracted from the communication. The filtering information is distributed to multiple telecommunications platforms. The communication and future communications are blocked across the multiple telecommunications platforms utilizing the filtering information.
    Type: Grant
    Filed: August 5, 2010
    Date of Patent: April 10, 2012
    Assignee: Embarq Holdings Company LLC
    Inventor: Johnny Hawkins
  • Patent number: 8127307
    Abstract: Methods and apparatus for a storage virtualization system with distributed event processing. In an exemplary embodiment, a method comprises receiving an event by an intelligent switch in a storage virtualization system in which the intelligent switch is coupled to a control path cluster, identifying a type of the event to determine whether the event can be processed by the intelligent switch, processing the event by the intelligent switch where the event type is of a type that can be processed by the intelligent switch, wherein the intelligent switch continues to run in the absence of the control path cluster without direct communication between data path controllers, and processing the event at a control path cluster if the event type cannot be processed by the intelligent switch.
    Type: Grant
    Filed: December 31, 2007
    Date of Patent: February 28, 2012
    Assignee: EMC Corporation
    Inventors: Ashish Arun Palekar, Sudhindra Swayampakulaa, Anshul Chadda, Matthew D. Waxman
  • Patent number: 8117385
    Abstract: A method, system and computer-usable medium are disclosed for providing management of serial attached small computer system interface (SAS) storage devices. A host computer comprises a storage controller connected to a SAS port expander comprising a plurality of ports that are logically assigned to target storage devices. The device ports of all storage devices physically attached to the SAS port expander are bypassed to remove their logical SAS expander port assignments. The storage controller unbypasses the device ports, allowing it to recognize the presence of all physically attached storage devices. The recognized storage devices are inventoried and storage devices that are not logically assigned a SAS expander port are designated as being spare storage devices. SAS expander ports are logically assigned to the non-spare storage devices and SAS storage operations are performed.
    Type: Grant
    Filed: January 23, 2008
    Date of Patent: February 14, 2012
    Assignee: International Business Machines Corporation
    Inventors: Linda V. Benhase, John C. Elliott, Robert A. Kubo, Gregg S. Lucas
  • Patent number: 8099524
    Abstract: An automated, computer-implemented method to configure a data storage system comprising a host computer, a storage controller in communication with said host computer, and a plurality of data storage media in communication with said storage controller, wherein the method provides a configuration algorithm encoded as computer readable program code, and executes that computer readable program code. The configuration algorithm creates a command procedure comprising a plurality of physical configuration commands to establish a physical configuration for the data storage system. The configuration algorithm further creates a command procedure comprising a plurality of logical configuration commands to establish a logical configuration for the data storage system.
    Type: Grant
    Filed: October 1, 2008
    Date of Patent: January 17, 2012
    Assignee: International Business Machines Corporation
    Inventors: Mark Sean Fleming, Lisa R. Martinez, Lu Nguyen
  • Patent number: 8095704
    Abstract: One embodiment of the present invention is an integrated circuit implementing a storage-shelf router, used in combination with path controller cards and optionally with other storage-shelf routers, to interconnect SATA disks within a storage shelf or disk array to a high-bandwidth communications medium, such as an FC arbitrated loop. When two, four, six, or eight or more storage-shelf routers are used within a storage shelf, and the interconnections between the storage-shelf routers, disk drives, and external communications media are properly designed and configured, the resulting storage shelf constitutes a discrete, highly-available component that may be included in a disk array or in other types of electronic devices. The storage-shelf router features a disk-drive adaptation layer that allows a storage-shelf router to interface to, and manage, any of many different types of disk drives. The disk-drive adaptation layer includes a disk-profile table and associated firmware logic.
    Type: Grant
    Filed: December 13, 2004
    Date of Patent: January 10, 2012
    Assignee: Sierra Logic
    Inventors: Joseph H. Steinmetz, Avinash Nidumbur, Randeep S. Sidhu
  • Patent number: 8051367
    Abstract: The present invention provides means for effectively reducing the amount of data by means of de-duplication in a disk array apparatus having a data guarantee code. A control means for the disk array apparatus that adds a data guarantee code to each logical data block and checks the data guarantee code when reading data has a de-duplication performing function and control means for: generating LA substitution information for a function checking the data guarantee code or read data location address substitution information when performing the de-duplication and storing data; performing the de-duplication using the above-mentioned information when reading data; and thereby avoiding false diagnosis of the data guarantee code check.
    Type: Grant
    Filed: January 30, 2008
    Date of Patent: November 1, 2011
    Assignee: Hitachi, Ltd.
    Inventors: Masahiro Arai, Kentaro Shimada, Shuji Nakamura
  • Patent number: 8015573
    Abstract: An I/O device is provided for use in a process control system having a controller operating under a particular version of communication software. The I/O device has a storage device for storing a plurality of potential versions of I/O communication software. An I/O device processor determines the particular version of I/O communication software utilized by the controller and configures the I/O device to operate using a compatible version of I/O communication software stored in the storage device. Further, an I/O device is provided for use in a process control system including a plurality of I/O devices and a controller in communication using a bus. The I/O device has an interface for communicatively linking the I/O device with the bus, where a device processor, upon detection of a potential I/O device fault, severs the communication link provided by the interface with the bus. Additionally, a process control system is provided having a plurality of I/O devices in communication using a bus.
    Type: Grant
    Filed: March 19, 2008
    Date of Patent: September 6, 2011
    Assignee: Fisher-Rosemount Systems, Inc.
    Inventors: Michael D. Apel, Steven L. Dienstbier
  • Patent number: 8006037
    Abstract: The invention is directed towards a system and method that utilizes external memory devices to cache sectors from a rotating storage device (e.g., a hard drive) to improve system performance. When an external memory device (EMD) is plugged into the computing device or onto a network in which the computing device is connected, the system recognizes the EMD and populates the EMD with disk sectors. The system routes I/O read requests directed to the disk sector to the EMD cache instead of the actual disk sector. The use of EMDs increases performance and productivity on the computing device systems for a fraction of the cost of adding memory to the computing device.
    Type: Grant
    Filed: May 6, 2010
    Date of Patent: August 23, 2011
    Assignee: Microsoft Corporation
    Inventors: Alexander Kirshenbaum, Cenk Ergan, Michael R. Fortin, Robert L. Reinauer
  • Patent number: 7886310
    Abstract: In a computer system including a central processing unit, a system memory, a south bridge module, a north bridge module and multiple hard disk drives, a RAID control function is exhibited. The method includes steps of: issuing a command addressing to the south bridge module by the central processing unit; and performing a fault-tolerant computing operation in the north bridge module while exempting from transmitting the command to the south bridge module when the command contains a specified address data.
    Type: Grant
    Filed: August 1, 2007
    Date of Patent: February 8, 2011
    Assignee: Via Technologies, Inc.
    Inventor: Kuan-Jui Ho
  • Patent number: 7840716
    Abstract: A communication method for storage device on the basis of file access is provided. When a storage controller is added with a nonstandard control function, a command file and a response file are virtually produced in the memory as the communicating interface with an application program. The virtual files can then be read and written using the standard storage control protocol. This avoids modifying the communicating interface between the driver program and the application program for the newly added nonstandard control protocol.
    Type: Grant
    Filed: November 15, 2005
    Date of Patent: November 23, 2010
    Assignee: Etrovision Technology
    Inventors: Fan-Sheng Lin, Chao-Kuei Chung
  • Patent number: 7805571
    Abstract: The invention is directed towards a system and method that utilizes external memory devices to cache sectors from a rotating storage device (e.g., a hard drive) to improve system performance. When an external memory device (EMD) is plugged into the computing device or onto a network in which the computing device is connected, the system recognizes the EMD and populates the EMD with disk sectors. The system routes I/O read requests directed to the disk sector to the EMD cache instead of the actual disk sector. The use of EMDs increases performance and productivity on the computing device systems for a fraction of the cost of adding memory to the computing device.
    Type: Grant
    Filed: February 5, 2009
    Date of Patent: September 28, 2010
    Assignee: Microsoft Corporation
    Inventors: Alexander Kirshenbaum, Cenk Ergan, Michael R. Fortin, Robert L. Reinauer
  • Patent number: 7779335
    Abstract: When parity checking in a disk array such as a RAID-6 system determines data and parity information is unsynchronized, additional calculations are performed to determine whether the error may be attributed to faulty data on a disk drive or to a more systemic problem such as a faulty controller. In particular, for each particular error detected, the parity generating information is analyzed to determine if each error involves a common disk index. If so, the data can be corrected on that disk; if not other corrective procedures are implemented.
    Type: Grant
    Filed: May 23, 2008
    Date of Patent: August 17, 2010
    Assignee: International Business Machines Corporation
    Inventors: Carl Edward Forhan, Robert Edward Galbraith, Adrian Cuenin Gerhard
  • Patent number: 7734868
    Abstract: A RAID class driver model enables users to easily combine two or more disks into a bootable RAID system without specialized disk controllers and allows the creation of RAID systems using disks of different types, controllers, and interfaces. A RAID class driver is initialized in response to the identification of a RAID controller. Disk controllers return RAID-specific device identifications, rather than a standard disk device identifications, for each disk to be included in the RAID system. The RAID class driver binds a RAID-specific functional interface to each disk having a RAID-specific device identification and combines the disks into a disk object representing the entire RAID system. The disk object provides the operating system with a standard disk device identification. The operating system loads a standard disk driver to interface with the disk object, thereby enabling transparent access to the RAID system.
    Type: Grant
    Filed: December 2, 2003
    Date of Patent: June 8, 2010
    Assignee: NVIDIA Corporation
    Inventor: Qiming Zhu
  • Publication number: 20100138513
    Abstract: A system for sharing block data includes a non-removable device for storing block data (e.g. a hard drive) that is networked with a plurality of computers. Each computer can initiate discovery commands and read/write commands, and transmit these commands over the network to the non-removable storage device. Computer commands are intercepted and processed by a logical algorithm program at the storage device. One function of the logical algorithm program is to instruct each computer to treat the non-removable block storage device as a removable block device. Because the computers treat the storage device as a removable block device, they relinquish control of the device (after use) to other computers on the network. The logical algorithm program also functions to allocate temporary ownership of the block storage device to one of the computers on the network and passes temporary ownership from computer to computer on the network.
    Type: Application
    Filed: October 14, 2009
    Publication date: June 3, 2010
    Applicant: Overland Storage, Inc.
    Inventors: John E. G. Matze, Michael H. Reider
  • Patent number: 7717791
    Abstract: Methods and systems that enable cashless gaming dispense with the need to set up and operate a complex centrally controlled system or dispense with the need to distribute expensive smart cards. The patrons' gaming session meters (including, for example, a measure of winning and/or available credit) are distributed amongst an estate of peer networked gaming machines and are stored in redundant storage for fault tolerance.
    Type: Grant
    Filed: October 28, 2005
    Date of Patent: May 18, 2010
    Assignee: IGT
    Inventors: Jean-Marie Gatto, Thierry Brunet de Courssou
  • Patent number: 7650463
    Abstract: A RAID controller is provided for each host sharing a RAID. Each RAID controller can determine whether another host is sharing the RAID and assume a master or slave status with respect to rebuild operations for the shared disk. The master controller may then manage any rebuild operations on rebuild disks within the RAID.
    Type: Grant
    Filed: April 17, 2008
    Date of Patent: January 19, 2010
    Assignee: Dell Products L.P.
    Inventors: Mahmoud Ahmadian, Anthony Fernandez
  • Patent number: 7631156
    Abstract: To improve snapshot performance and copying performance on a block device level in a capacity of an allocation-on-use volume. Provided is a storage system coupled to a network includes one or more volumes constituted of a plurality of blocks. The plurality of blocks include a first block and a second block, and a physical storage area is allocated to at least one of the plurality of blocks. When it is judged that the physical storage area has not been allocated to the target first block of a received writing request, the storage system writes data to be written by the writing request in the first block without copying data stored in the first block to the second block.
    Type: Grant
    Filed: May 10, 2006
    Date of Patent: December 8, 2009
    Assignee: Hitachi, Ltd.
    Inventors: Takaki Nakamura, Atsushi Sutoh
  • Patent number: 7594074
    Abstract: To provide a storage system with a cost/performance meeting the system scale, from a small-scale to a large-scale configuration. In the storage system, protocol transformation units and data caching control units are connected to each other through an interconnection, the data caching control units are divided into plural control clusters, each of the control clusters including at least two or more data caching control units, control of a cache memory is conducted independently for each of the control clusters, and one of the plural data caching control units manages, as a single system, protocol transformation units and the plural control clusters based on management information stored in a system management information memory unit.
    Type: Grant
    Filed: June 12, 2007
    Date of Patent: September 22, 2009
    Assignee: Hitachi, Ltd.
    Inventors: Kazuhisa Fujimoto, Mutsumi Hosoya, Naoki Watanabe, Kentaro Shimada
  • Patent number: 7587723
    Abstract: An apparatus and method provide a protocol for communicating between an operating system that owns a shared resource and other operating systems that use the shared resource so that the operating systems that use the shared resource will not crash if the operating system that owns the shared resource is restarted. Messages are defined that allow handshaking between operating systems so that operating systems that share a resource will realize the resource will be unavailable for some period of time, and that allow resuming the sharing of the resource once the operating system that owns the shared resource is restarted.
    Type: Grant
    Filed: November 13, 2003
    Date of Patent: September 8, 2009
    Assignee: International Business Machines Corporation
    Inventors: David Charles Boutcher, Colin Robert DeVilbiss
  • Patent number: 7539991
    Abstract: The present invention implements an I/O task architecture in which an I/O task requested by the storage manager, for example a stripe write, is decomposed into a number of lower-level asynchronous I/O tasks that can be scheduled independently. Resources needed by these lower-level I/O tasks are dynamically assigned, on an as-needed basis, to balance the load and use resources efficiently, achieving higher scalability. A hierarchical order is assigned to the I/O tasks to ensure that there is a forward progression of the higher-level I/O task and to ensure that resources do not become deadlocked.
    Type: Grant
    Filed: March 21, 2002
    Date of Patent: May 26, 2009
    Assignee: NetApp, Inc.
    Inventors: James Leong, Rajesh Sundaram, Douglas P. Doucette, Scott Schoenthal, Stephen H. Strange, Srinivasan Viswanathan
  • Publication number: 20090094620
    Abstract: A storage system includes two RAID controllers, each having two SAS initiators coupled to a zoning SAS expander. The expanders are linked by an inter-controller link and create a SAS ZPSDS. The expanders have PHY-to-zone mappings and zone permissions to create two distinct SAS domains such that one initiator of each RAID controller is in one domain and the other initiator is in the other domain. The disk drives are dual-ported, and each port of each drive is in a different domain. Each initiator can access every drive in the system, half directly through the local expander and half indirectly through the other RAID controller's expander via the inter-controller link. Thus, a RAID controller can continue to access a drive via the remote path in the remote domain if the drive becomes inaccessible via the local path in the local domain.
    Type: Application
    Filed: October 8, 2007
    Publication date: April 9, 2009
    Applicant: Dot Hill Systems Corporation
    Inventors: George Alexander Kalwitz, Victor Key Pecone
  • Patent number: 7512736
    Abstract: One embodiment of the present invention includes the steps of determining the optimal RAID level to implement for a given disk drive array, and to the extent applicable, making unallocated disk space available to the user in the form of unprotected disk space. The method efficiently allocates appropriate RAID volumes for the given disk drive array, and, by making the unallocated disk space available to users, allows disk drives of unequal sizes to be effectively used in the disk drive array. Another embodiment of the present invention reconfigures an existing RAID array such that the storage space available on various disk drives in the disk drive array may be used in the most efficient manner. The alternative embodiment is especially useful if an existing RAID array is upgraded by adding a disk drive to, or modified by replacing one or more disk drives in, the existing disk drive array.
    Type: Grant
    Filed: May 23, 2005
    Date of Patent: March 31, 2009
    Assignee: NVIDIA Corporation
    Inventor: Mark A. Overby
  • Patent number: 7490197
    Abstract: The invention is directed towards a system and method that utilizes external memory devices to cache sectors from a rotating storage device (e.g., a hard drive) to improve system performance. When an external memory device (EMD) is plugged into the computing device or onto a network in which the computing device is connected, the system recognizes the EMD and populates the EMD with disk sectors. The system routes I/O read requests directed to the disk sector to the EMD cache instead of the actual disk sector. The use of EMDs increases performance and productivity on the computing device systems for a fraction of the cost of adding memory to the computing device.
    Type: Grant
    Filed: October 21, 2004
    Date of Patent: February 10, 2009
    Assignee: Microsoft Corporation
    Inventors: Alexander Kirshenbaum, Cenk Ergan, Michael R. Fortin, Robert L. Reinauer
  • Patent number: 7461141
    Abstract: A method and apparatus for performing driver configuration operations without a system reboot is disclosed. In one embodiment, a network server's adapter driver receives a request to change a configuration of a selected instance of a plurality of instances. In response, the adapter driver may then determine if there is data flow through the selected instance. If there is no data flow through the selected instance, the method includes blocking subsequent data flow and subsequent information requests issued to the adapter driver. The selected instance may then be reinitializing without rebooting the server.
    Type: Grant
    Filed: January 30, 2004
    Date of Patent: December 2, 2008
    Assignee: Applied Micro Circuits Corporation
    Inventors: Jeff Byers, Jing Huang, Khosrow Panah
  • Patent number: 7457981
    Abstract: In a storage device incorporating a plurality of kinds of disk drives with different interfaces, the controller performs sparing on a disk drive, whose errors that occur during accesses exceed a predetermined number, by swapping it with a spare disk drive that is prepared beforehand.
    Type: Grant
    Filed: July 21, 2006
    Date of Patent: November 25, 2008
    Assignee: Hitachi, Ltd.
    Inventor: Seiki Morita
  • Patent number: 7392458
    Abstract: When parity checking in a disk array such as a RAID-6 system determines data and parity information is unsynchronized, additional calculations are performed to determine whether the error may be attributed to faulty data on a disk drive or to a more systemic problem such as a faulty controller. In particular, for each particular error detected, the parity generating information is analyzed to determine if each error involves a common disk index. If so, the data can be corrected on that disk; if not other corrective procedures are implemented.
    Type: Grant
    Filed: November 19, 2004
    Date of Patent: June 24, 2008
    Assignee: International Business Machines Corporation
    Inventors: Carl Edward Forhan, Robert Edward Galbraith, Adrian Cuenin Gerhard
  • Patent number: 7389507
    Abstract: An operating-system-independent modular programming method is disclosed, which includes providing one or more tasks, one or more task queues, and zero or more condition queues. Each task is a program that is run in sequence. Each task queue includes a task queue program and a queue containing zero or more tasks. Each condition queue includes a condition queue program and a queue containing zero or more tasks and associated conditions. Each task includes task ending code that refers to zero, one, or more than one successor task, and the task queue program or the condition queue program handles each such successor task by either running it or placing it in a task queue or a condition queue. The programming method further includes providing a fan and an end fan construct to enable a parent task to generate a plurality of child sequences.
    Type: Grant
    Filed: February 10, 2003
    Date of Patent: June 17, 2008
    Assignee: Tandberg Data Corporation
    Inventor: Lawrence John Dickson
  • Patent number: 7386596
    Abstract: The present invention provides improved techniques for managing storage resources, such as disk drives, I/O ports, and the like in a network based storage system according to a user position within the network. Embodiments according to the present invention can provide a relatively high performance storage access environment for the mobile users moving around a wide area. For example, in one applicable environment, there are several data centers in the wide area, and each data center has a local storage system that is connected to the other storage systems through a network. Copies of a user's volume can be made in some of the storage systems. A remote copy function is utilized for making real time copies of the user's volume.
    Type: Grant
    Filed: November 2, 2006
    Date of Patent: June 10, 2008
    Assignee: Fuji Xerox, Co., Ltd.
    Inventors: Akira Yamamoto, Naoko Iwami
  • Publication number: 20080127229
    Abstract: A method for supporting multiple interface standards in a connection between a computer system and a Redundant Array of Independent Disks (RAID) unit is disclosed. The method includes receiving a message indicating an initialization routine and reading a first indicator associated with a first interface standard. The method further includes loading configuration data for the first interface standard. The method further includes configuring a RAID initiator using the configuration data, if the first interface standard is identical to the actual interface standard to which the RAID unit is coupled.
    Type: Application
    Filed: September 8, 2006
    Publication date: May 29, 2008
    Applicant: International Business Machines Cropration
    Inventors: Don S. Keener, Adam Roberts, Philip L. Weinstein
  • Patent number: 7363426
    Abstract: A RAID controller is provided for each host sharing a RAID. Each RAID controller can determine whether another host is sharing the RAID and assume a master or slave status with respect to rebuild operations for the shared disk. The master controller may then manage any rebuild operations on rebuild disks within the RAID.
    Type: Grant
    Filed: April 26, 2005
    Date of Patent: April 22, 2008
    Assignee: Dell Products L.P.
    Inventors: Mahmoud Ahmadian, Anthony Fernandez
  • Publication number: 20080034380
    Abstract: In a computer system including a central processing unit, a system memory, a south bridge module, a north bridge module and multiple hard disk drives, a RAID control function is exhibited. The method includes steps of: issuing a command addressing to the south bridge module by the central processing unit; and performing a fault-tolerant computing operation in the north bridge module while exempting from transmitting the command to the south bridge module when the command contains a specified address data.
    Type: Application
    Filed: August 1, 2007
    Publication date: February 7, 2008
    Applicant: VIA TECHNOLOGIES, INC.
    Inventor: Kuan-Jui Ho
  • Patent number: 7315976
    Abstract: The present invention is directed to a method and system for disk drive data recovery utilizing CRC information and RAID parity. CRC meta data is compared with either the CRC generated from the data read from the disk drive or the CRC generated from the data reconstructed from the parity drive. If the CRC metadata matches the CRC generated from the data read from the disk drive, the data from the disk drive is accepted as valid. Otherwise, another comparison is made between the CRC generated from data reconstructed from RAID parity and the CRC metadata. If there is a match, the reconstructed data is used as the valid data; otherwise, the data read from the disk drive is used as valid data.
    Type: Grant
    Filed: January 31, 2002
    Date of Patent: January 1, 2008
    Assignee: LSI Logic Corporation
    Inventor: Keith W. Holt
  • Patent number: 7290199
    Abstract: During a parity update of a parity stripe in a disk array, constant values used in finite field arithmetic are algebraically combined in order to reduce the number of buffers and steps needed to update multiple parity values when a change in data occurs. In one implementation, for example, the contents of a buffer that stores the product of a delta value associated with the change in data and a first constant, which is used to update a first parity value, are multiplied by a value representative of the ratio of a second constant, which is used to update a second parity value, and the first constant.
    Type: Grant
    Filed: November 19, 2004
    Date of Patent: October 30, 2007
    Assignee: International Business Machines Corporation
    Inventors: Carl Edward Forhan, Robert Edward Galbraith, Adrian Cuenin Gerhard
  • Patent number: 7269674
    Abstract: A disk array apparatus using an SAS can transfer data without lowering a transfer efficiency of data even if rates of a plurality of physical links connected to a controller and storage device are different. A plurality of HDDs are connected to a controller through an expander. Data are transferred from the controller to the expander and then to HDD. In this connection, the controller and the expander transfers a set of transfer data in a plurality of the HDD-side physical links. The controller-side physical link integrates the transfer data, and multiplexes them to transfer. A plurality of HDDs-side physical links separates the transfer data to transfer in parallel.
    Type: Grant
    Filed: April 28, 2006
    Date of Patent: September 11, 2007
    Assignee: Hitachi, Ltd.
    Inventors: Takashi Chikusa, Satoru Yamaura, Toshio Tachibana, Takehiro Maki, Hirotaka Honma
  • Patent number: 7228381
    Abstract: A computer storage system includes a controller and a storage device array. The storage device array may include a first sub-array and a fast storage device sub-array. The first sub-array includes one or more first storage devices storing data. The fast storage device sub-array includes one or more fast storage devices storing a copy of the data stored in the first sub-array.
    Type: Grant
    Filed: November 2, 2004
    Date of Patent: June 5, 2007
    Assignee: Hewlett-Packard Development Company, LP
    Inventors: Mustafa Uysal, Arif Merchant, Guillermo Alvarez
  • Patent number: 7219353
    Abstract: A finite state machine (FSM) for a redundant array of independent disk includes a single process context that maintains an entire finite state required for input/output operations performed in a RAID system. The finite state is only updated in response to calls and call-backs. The call-backs can include procedure returns and interrupt signals. The call is received directly from an application program, and the call-backs are received from a driver and passed back directly to the application software by the finite state machine.
    Type: Grant
    Filed: February 27, 2001
    Date of Patent: May 15, 2007
    Assignee: Broadcom Corporation
    Inventors: Chris R. Franklin, Randy M. Arnott, Jeffrey T. Wong, Eric S. Noya
  • Patent number: 7181382
    Abstract: A system and method for providing an extensibility model to create device simulators. The system and method provide a generalized framework for the simulation of hardware devices controlled by software drivers with user and kernel mode programmability. The present invention also provides a framework that facilitates communication between applications operating user address space of an operating system and device drivers and device simulators operating in kernel mode address space of the operating system. In one embodiment, a framework provides a bi-directional communication channel that allows a test application in user address space of an operating system to communicate with a computer component operating in kernel address space of the operating system.
    Type: Grant
    Filed: May 8, 2003
    Date of Patent: February 20, 2007
    Assignee: Microsoft Corporation
    Inventors: Peter Shier, Vinod Mamtani
  • Patent number: 7137124
    Abstract: The invention provides improvements on storage area network (SAN) of the type having one or more host digital data processors in communication with one or more storage devices, where a host has an operating system that utilizes (i) a port driver to define a software interface between a class driver and an adapter to which one or more of the storage devices are coupled, and (ii) a class driver that claims storage devices for access, e.g., by the operating system and any applications programs executing therein, by invoking the port driver to which the host is coupled, e.g., via the interconnect fabric. The improvement comprises a software filter in communication with the port driver and the class driver. That filter intervenes to block claiming of one or more selected storage devices by the class driver.
    Type: Grant
    Filed: October 5, 2001
    Date of Patent: November 14, 2006
    Assignee: International Business Machines Corporation
    Inventors: Michael Loren Lamb, Raymond Matthew Swank