US7657705B2 - Method and apparatus of a RAID configuration module - Google Patents
Method and apparatus of a RAID configuration module Download PDFInfo
- Publication number
- US7657705B2 US7657705B2 US11/528,983 US52898306A US7657705B2 US 7657705 B2 US7657705 B2 US 7657705B2 US 52898306 A US52898306 A US 52898306A US 7657705 B2 US7657705 B2 US 7657705B2
- Authority
- US
- United States
- Prior art keywords
- raid
- physical disks
- implementation
- configuration
- module
- 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.)
- Expired - Fee Related, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Definitions
- This disclosure relates generally to the technical fields of electronics, digital circuit technology and electronic design automation and, in one example embodiment, to a method and/or an apparatus of a RAID configuration module.
- a redundant array of independent disks may be a data storage scheme that utilizes multiple physical disks (e.g., hard disk drives) to share and/or to replicate data among the physical drives.
- a RAID system may increase data integrity, fault-tolerance, throughput, and/or capacity compared to a single physical drive.
- the RAID system may combine multiple physical disks into a single logical unit and may be seen by an operating system (e.g., Windows, UNIX, and/or Mac OSX, etc.) to be implemented on a server computer, and/or personal computers.
- an operating system e.g., Windows, UNIX, and/or Mac OSX, etc.
- a RAID controller may communicate with the physical disks through a bus (e.g., IDE, SCSI, SATA, SAS, and/or fiber channel, etc.) to manage physical storage units in the RAID system and to present the physical storage units to the operating system (e.g., Windows, UNIX, and/or Mac OSX, etc.) as logical units.
- a RAID management application may be utilized to program an underlying RAID system to a desired RAID configuration (e.g., RAID level, number of physical disks, combination of physical disks, etc.).
- the RAID management application may be specific to a particular RAID implementation logic and/or firmware details of the RAID controller.
- base programming for the RAID management application may become non-extensible and/or non-reusable due to re-programming requirements in the RAID management application for a different RAID implementation (e.g., a different RAID implementation logic, level, and/or different firmware details of the RAID controller, etc.).
- the RAID management application may need to possess the ability to acquire system information (e.g., available physical drives, valid RAID levels, and/or available virtual disk size, etc.) posing an additional constraint on coding of the RAID management application while bounding utilization of the RAID management application to a particular RAID implementation (e.g., the particular RAID implementation logic, level, and/or particular firmware details of the RAID controller, etc.).
- system information e.g., available physical drives, valid RAID levels, and/or available virtual disk size, etc.
- posing an additional constraint on coding of the RAID management application while bounding utilization of the RAID management application to a particular RAID implementation (e.g., the particular RAID implementation logic, level, and/or particular firmware details of the RAID controller, etc.).
- a method includes providing a management application with any of a firmware information of a RAID controller and system information of a particular set of physical disks forming a particular underlying RAID (e.g., the particular set of physical disks forming the particular underlying RAID implementation is any of an un-configured set of physical disks and/or a configured set of physical disks having space available for configuration) implementation is relevant to creating a configuration on the RAID controller of the particular underlying RAID implementation to enable the management application to configure the RAID controller of any set of physical disks forming any RAID implementation without prior knowledge of the firmware information of the RAID controller and/or system information of set of physical disks forming a RAID implementation and/or determining a configuration of the particular underlying RAID implementation using a decision making process of the management application based on any of the firmware information of the RAID controller and/or system information of the particular set of physical disks forming the particular underlying RAID implementation to determine the
- the method may further include determining configurability of the particular set of physical disks forming the particular underlying RAID implementation based on an availability of un-configured physical disks of the particular set of physical disks and a maximal RAID volume capacity and/or RAID array capacity of the RAID controller of the particular underlying RAID implementation.
- the method may further include retrieving a list of un-configured and usable physical disks of the particular set of physical disks and/or obtaining valid RAID levels of the particular set of physical disks based on an any of the firmware information of the RAID controller and the availability of un-configured and/or usable physical disks of the particular set of physical disks forming the particular underlying RAID implementation.
- the method may further include compiling a list of read and write attributes of the particular set of physical disks forming the particular underlying RAID implementation and a list of supported cache policy and/or strip size based on the firmware information of the RAID controller.
- the method may further include determining a span count and/or physical disk count of a given RAID level based on the particular underlying RAID implementation and the firmware information of the RAID controller. Similarly, the method may further include determining usability of each of the particular set of physical disks based on a disk type and an availability of physical disks of a same disk type that is compatible with a particular RAID level. The method may further also include computing an available RAID volume size based on a given selection of the particular RAID level and/or a list of the particular set of physical disks of all spans and strip size of the management application.
- the method may further include determining validity of selected parameters of the management application to create the configuration of the particular underlying RAID implementation and creating the configuration of the particular set of underlying physical disks forming the particular underlying RAID implementation through the RAID controller.
- a RAID controller includes a host I/O port coupled to communicate with a host computer, a physical disk I/O port coupled to communicate with a set of physical disks that forms a RAID implementation, a host I/O processor that communicates with the host I/O port to perform I/O transactions with the host computer through the host I/O port, a cache memory, a physical disk I/O processor to access host data in the cache memory and to communicate with the set of physical disks and a configuration module to enable a management application to provide the management application with system information of a particular set of physical disks forming a particular underlying RAID implementation (e.g., the particular set of physical disks forming the particular underlying RAID implementation may be any of an un-configured set of physical disks and a configured set of physical disks having space available for configuration) that is relevant to creating a configuration on the RAID controller of the particular underlying RAID implementation to enable the management application to configure any set of physical disks forming any RAID implementation without prior knowledge of system information of
- the configuration module may determine configurability of the particular set of physical disks forming the particular underlying RAID implementation based on an availability of un-configured physical disks of the particular set of physical disks and a maximal RAID volume capacity and/or RAID array capacity of the RAID controller of the particular underlying RAID implementation.
- the configuration module may retrieve a list of un-configured and/or usable physical disks of the particular set of physical disks and/or obtaining valid RAID levels of the particular set of physical disks based on the availability of un-configured and/or usable physical disks of the particular set of physical disks forming the particular underlying RAID implementation.
- the configuration module may compile a list of read and write attributes of the particular set of physical disks forming the particular underlying RAID implementation and/or a list of supported cache policy and/or strip size based on a firmware information of the RAID controller. Also, the configuration module may determine any of a minimum required and maximum allowed span count and/or physical disk count of a given RAID level based on the particular underlying RAID implementation. The configuration module may determine usability of each of the particular set of physical disks based on a disk type and/or an availability of physical disks of a same disk type that may be compatible with a particular RAID level.
- the configuration module may compute an available RAID volume size based on a given selection of the particular RAID level and/or the list of the particular set of physical disks of all spans and strip size of the management application.
- the configuration module may determine validity of selected parameters of the management application to create the configuration of the particular underlying RAID implementation and/or creating the configuration of a particular set of underlying physical disks forming the particular underlying RAID implementation.
- a system includes a RAID controller module that is configured to utilize of a set of physical disks forming any RAID implementation, a configuration module coupled to the RAID controller module that obtains any of a firmware information of the RAID controller module and system information of a particular set of physical disks forming a particular underlying RAID implementation that is relevant to creating the configuration on a RAID controller module of the particular underlying RAID implementation, and/or a management module (e.g., the configuration module facilitates a decision making process of the management module based on any of the firmware information of the RAID controller module and system information of the particular set of physical disks forming the particular underlying RAID implementation to determine the configuration of the particular underlying RAID implementation) coupled to the configuration module that is able to configure the RAID controller module of any set of physical disks forming any RAID implementation without prior knowledge of the firmware information of the RAID controller module and/or system information of the any set of physical disks forming any of the RAID implementation through obtaining the firmware information and/or system information via
- FIG. 1 is a schematic block diagram of a management module that communicates with a set of physical disks through a RAID controller, according to one embodiment.
- FIG. 2 is a schematic block diagram of a plurality of management modules that communicate with a plurality of RAID controllers through a configuration module, according to one embodiment.
- FIG. 3 is a exploded view of the configuration module of FIG. 2 , according to one embodiment.
- FIG. 4 is a table view of content provided to the management module of FIG. 1 by the configuration module of FIG. 2 , according to one embodiment.
- FIG. 5 is a process flow of providing a management application with firmware information of a RAID controller and/or system information of a particular set of physical disks forming a particular underlying RAID implementation, according to one embodiment.
- FIG. 6 is a process flow that further describes FIG. 5 , according to one embodiment.
- FIG. 7 is a process flow of determining configurability of the particular set of physical disks forming the particular underlying RAID implementation, according to one embodiment.
- FIG. 8 is a process flow that describes FIG. 7 , according to one embodiment.
- FIG. 9 is a diagrammatic representation of a machine in the form of a data processing system within a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed, according to one embodiment.
- a method includes providing a management application (e.g., a management application 100 of FIGS. 1-2 ) with any of a firmware information of a RAID controller (e.g., the RAID controller 102 , 202 of FIG. 1-2 ), and system information of a particular set of physical disks (e.g., a set of physical disks 104 , 204 , 206 , 208 of FIGS. 1-2 ) forming a particular underlying RAID implementation that is relevant to creating a configuration on the RAID controller (e.g., the RAID controller 102 , 202 of FIG.
- a management application e.g., a management application 100 of FIGS. 1-2
- any of a firmware information of a RAID controller e.g., the RAID controller 102 , 202 of FIG. 1-2
- system information of a particular set of physical disks e.g., a set of physical disks 104 , 204 , 206 , 208 of FIGS
- the RAID controller 102 , 202 of FIG. 1-2 of the particular underlying RAID implementation to enable the management application to configure the RAID controller (e.g., the RAID controller 102 , 202 of FIG. 1-2 ) of any set of physical disks forming RAID implementation without prior knowledge of the firmware information of the RAID controller (e.g., the RAID controller 102 , 202 of FIG. 1-2 ) and system information of set of physical disks forming a RAID implementation through, determining a configuration of the particular underlying RAID implementation using a decision making process of the management application (e.g., the management application 100 of FIGS. 1-2 ) based on the firmware information of the RAID controller (e.g., the RAID controller 102 , 202 of FIG.
- system information of the particular set of physical disks e.g., the set of physical disks 104 , 204 , 206 , 208 of FIGS. 1-2 ) forming the particular underlying RAID implementation to determine the configuration of the particular underlying RAID implementation.
- a RAID controller (e.g., a RAID controller 102 , 202 of FIG. 1-2 ), includes a host I/O port coupled to communicate with a host computer, physical disk I/O port coupled to communicate with a set of physical disks (e.g., a set of physical disks 104 , 204 , 206 , 208 of FIGS.
- a host I/O processor that communicates with the host I/O port to perform I/O transactions with the host computer through the host I/O port, a cache memory, a physical disk I/O processor to access host data in the cache memory and to communicate with the set of physical disks (e.g., the set of physical disks 104 , 204 , 206 , 208 of FIGS. 1-2 ) and a configuration module to enable a management application (e.g., a management application 100 of FIGS. 1-2 ) to provide the management application (e.g., the management application 100 of FIGS.
- a management application e.g., a management application 100 of FIGS. 1-2
- system information of a particular set of physical disks e.g., the set of physical disks 104 , 204 , 206 , 208 of FIGS. 1-2
- system information of a particular set of physical disks forming a particular underlying RAID implementation is relevant to creating the configuration on the RAID controller (e.g., the RAID controller 102 , 202 of FIG. 1-2 ) of the particular underlying RAID implementation to enable the management application to configure the set of physical disks (e.g., the set of physical disks 104 , 204 , 206 , 208 of FIGS. 1-2 ) forming the RAID implementation without prior knowledge of system information of set of physical disks (e.g., the set of physical disks 104 , 204 , 206 , 208 of FIGS. 1-2 ).
- a system in yet another embodiment, includes a RAID controller module (e.g., a RAID controller 102 , 202 of FIG. 1-2 ) that is configured to utilize of a set of physical disks forming RAID implementation, a configuration module coupled to the RAID controller module (e.g., the RAID controller 102 , 202 of FIG. 1-2 ) that obtains any of a firmware information of the RAID controller module (e.g., the RAID controller 102 , 202 of FIG. 1-2 ) and system information of a particular set of physical disks (e.g., the set of physical disks 104 , 204 , 206 , 208 of FIGS.
- a firmware information of the RAID controller module e.g., the RAID controller 102 , 202 of FIG. 1-2
- system information of a particular set of physical disks e.g., the set of physical disks 104 , 204 , 206 , 208 of FIGS.
- RAID controller module e.g., the RAID controller 102 , 202 of FIG. 1-2
- a management module coupled to the configuration module that is able to configure the RAID controller module (e.g., the RAID controller 102 , 202 of FIG. 1-2 ) of the set of physical disks (e.g., the set of physical disks 104 , 204 , 206 , 208 of FIGS. 1-2 ) forming RAID implementation without prior knowledge of a firmware information of the RAID controller module (e.g., the RAID controller 102 , 202 of FIG.
- system information of the any set of physical disks e.g., the set of physical disks 104 , 204 , 206 , 208 of FIGS. 1-2 ) forming the RAID implementation through obtaining the firmware information and system information via the configuration module during configuration.
- FIG. 1 is a schematic block diagram of a management module 100 that communicates with a set of physical disks 104 A, 104 B, 104 N through a RAID controller 102 , according to one embodiment.
- the management module 100 may be an upper level application that may be able to configure a RAID implementation using system specific information which may be available physical drives, possible RAID levels, and/or available virtual disks, etc.
- the RAID controller 102 may communicate with the set of physical disks 104 through a bus (e.g., IDE, SCSI, SATA, SAS, and/or fiber channel, etc.) to manage each of the set of physical disks 104 A, 104 B, 104 N in the RAID implementation and/or to present the set of physical disks 104 A, 104 B, 104 N as logical units.
- a bus e.g., IDE, SCSI, SATA, SAS, and/or fiber channel, etc.
- the RAID controller 102 may include a host I/O port that communicates with a host I/O processor and a physical disk I/O processor to the set of physical disks 104 .
- a physical disk I/O port may include a number of physical I/O ports to communicate with the set of physical disks 104 .
- a software process of the management module 100 may include methods of acquiring information about a underlying RAID controller and the set of physical disks 104 to configure the RAID controller and the RAID implementation.
- the RAID controller 202 may include the host I/O port coupled to communicate with a host computer, physical disk I/O port coupled to communicate with a set of physical disks that forms a RAID implementation, a host I/O processor that communicates with the host I/O port to perform I/O transactions with the host computer through the host I/O port, a cache memory, the physical disk I/O processor to access host data in the cache memory and to communicate with the set of physical disks, and/or a configuration module to provide a management application with system information of a particular set of physical disks forming a particular underlying RAID implementation that may be relevant for creating a configuration on the RAID controller of the particular underlying RAID implementation to enable the management application to configure at least one of physical disks forming any RAID implementation without prior knowledge of system information of the at least one of physical disks.
- a system may include a RAID controller module (e.g., the RAID controller 102 , 202 of FIG. 1-2 ) that may be configured to utilize of the set of physical disks forming any RAID implementation, a configuration module coupled to the RAID controller module (e.g., the RAID controller 102 , 202 of FIG. 1-2 ) that obtains any of the firmware information of the RAID controller module (e.g., the RAID controller 102 , 202 of FIG. 1-2 ) and system information of the particular set of physical disks forming the particular underlying RAID implementation that may be relevant for creating a configuration on a RAID controller module (e.g., the RAID controller 102 , 202 of FIG.
- a management module e.g., the management application 100 of FIGS. 1-2
- the configuration module e.g., the management application 100 of FIGS. 1-2
- the RAID controller module e.g., the RAID controller 102 , 202 of FIG. 1-2
- the firmware information of the RAID controller module e.g., the RAID controller 102 , 202 of FIG. 1-2
- system information of the any set of physical disks forming any of the RAID implementation through obtaining the firmware information and system information via the configuration module during configuration.
- the configuration module may also facilitates a decision making process of the management module (e.g., the management application 100 of FIGS. 1-2 ) based on any of the firmware information of the RAID controller module (e.g., the RAID controller 102 , 202 of FIG. 1-2 ) and system information of the particular set of physical disks forming the particular underlying RAID implementation to determine the configuration of the particular underlying RAID implementation.
- the management module e.g., the management application 100 of FIGS. 1-2
- the firmware information of the RAID controller module e.g., the RAID controller 102 , 202 of FIG. 1-2
- system information of the particular set of physical disks forming the particular underlying RAID implementation to determine the configuration of the particular underlying RAID implementation.
- FIG. 2 is a schematic block diagram of the management modules 100 A-N that communicate with RAID controllers 202 A-N through a configuration module 200 , according to one embodiment.
- the management module 100 A-N may be an upper level application that may able to configure the RAID implementation using system specific information such as available physical drives, possible RAID levels, and/or available virtual disks, etc.
- the RAID controller 202 A-N may communicate with the set of physical disks 204 A-N, 206 A-N, 208 A-N through the bus (e.g., IDE, SCSI, SATA, SAS, and/or fiber channel, etc.) to manage each of the set of physical disks 104 A, 104 B, 104 N in the RAID implementation and/or to present the set of physical disks 204 A-N, 206 A-N, 208 A-N as logical units.
- the bus e.g., IDE, SCSI, SATA, SAS, and/or fiber channel, etc.
- the RAID controller 202 A-N may include the host I/O port that communicates with the host I/O processor and the physical disk I/O processor to the set of physical disks 204 A-N, 206 A-N, 208 A-N.
- the physical disk I/O port may include a number of physical I/O ports to communicate with the set of physical disks 204 A-N, 206 A-N, 208 A-N.
- the software process of the management module 100 A-N may communicate with the configuration module 200 to acquiring information about the underlying RAID controller and the set of physical disks 204 A-N, 206 A-N, 208 A-N to configure the RAID controller and RAID implementation.
- the configuration module 200 may provide the management application (e.g., the management module 100 ) with any of the firmware information of a RAID controller (e.g., the RAID controller 202 ) and system information of the particular set of physical disks (e.g., the set of physical disks 204 , 206 , 208 ) forming a particular underlying RAID implementation that may be relevant for creating the configuration on the RAID controller of the particular underlying RAID implementation to enable the management application to configure the RAID controller (e.g., the RAID controller 202 ) of any set of physical disks forming any RAID implementation without prior knowledge of firmware information of the RAID controller (e.g., the RAID controller 202 ) and system information of a any set of physical disks (e.g., the set of physical disks 204 , 206 , 208 ) forming any of the RAID implementation and determining the configuration of the particular underlying RAID implementation using the decision making process of the management application based on any of the firmware information of the RAID
- the particular set of physical disks forming the particular underlying RAID implementation may be an un-configured set of physical disks (e.g., the set of physical disks 204 , 206 , 208 ) and/or a configured set of physical disks having space available for configuration.
- the configurability of the particular set of physical disks forming the particular underlying RAID implementation based on an availability of un-configured physical disks of the particular set of physical disks and a RAID volume capacity and RAID array capacity of the RAID controller of the particular underlying RAID implementation may be determined by the configuration module 200 .
- the configuration module may also retrieve a list of un-configured and usable physical disks of the particular set of physical disks and obtain valid RAID levels of the particular set of physical disks based on the any of the firmware information of the RAID controller and the availability of un-configured and usable physical disks of the particular set of physical disks forming the particular underlying RAID implementation.
- a list of read and write attributes of the particular set of physical disks forming the particular underlying RAID implementation and a list of supported cache policy and strip size based on the firmware information of the RAID controller may also be determined by the configuration module 200 .
- Usability of each of the particular set of physical disks may be determined by the configuration module 200 based on a disk type and an availability of physical disks of a same disk type that is compatible with a particular RAID level.
- the configuration module may also compute an available RAID volume size based on a given selection of the particular RAID level and the list of the particular set of physical disks of all spans and strip size of the management application and determine validity of selected parameters of the management application to create the configuration of the particular underlying RAID implementation and creating the configuration of the particular set of underlying physical disks forming the particular underlying RAID implementation through the RAID controller.
- FIG. 3 is an exploded view of the configuration module 200 , according to one embodiment.
- the configuration module 200 may include a configurability module 300 , a disk availability module 300 A, a RAID volume module 300 B, a RAID array module 300 C, a firmware module 302 , a RAID level module 304 , a segment attribute module 306 , a disk module 308 , a read/write policy module 310 , a cache policy module 312 , a strip size module 314 , a span count module 316 , a disk count module 318 , a RAID size module 320 , a validation module 322 , and/or a commit module 324 .
- the configuration module 200 masks an underlying RAID implementation logic and firmware details of RAID controller 202 A-N through exposing an interface to a management module (e.g., a management module of 100 FIG. 1 ) to create the configuration on the RAID controller (e.g., a RAID controller 202 A-N of FIG. 2 ).
- the configuration module may enable the management module (e.g., the management module of 100 FIG. 1 ) to create a configuration without possessing prior knowledge of a underlying hardware information.
- the disk availability module 300 A, the RAID volume module, and/or the RAID array module may be utilized by the configurability module 300 to determine whether configuration is allowed on the given set of physical disks (e.g., a set of physical disks 204 , 206 , and/or 208 of FIG. 2 ). Availability of un-configured physical disks may be determined by the disk availability module 300 A.
- RAID controller 202 A-N occupancy and a number of RAID volumes and RAID arrays compatible with the RAID controller 202 A-N may be determined by the RAID volume module 300 B and the RAID array module 300 C respectively.
- Firmware information e.g., software that is embedded in a hardware device
- the firmware module 302 may be retrieved by the firmware module 302 .
- a list of possible RAID levels may be determined by the RAID level module 304 based on compatibility with the RAID controller 200 A-N and usable physical disks.
- the disk module 308 may determine a list of unconfigured and usable physical disks of the set of physical disks 204 , 206 , 208 and communicate with the read/write policy module 310 to retrieve read/write attributes of each available physical disk that may be supported by the firmware.
- the segment attribute module 306 may locate free space segments on the set of physical disks that are already configured.
- cache policy and strip sizes allowed by the firmware of the RAID controller e.g., the RAID controller 202 A-N of 2) may be determined by the cache policy module 312 and/or the strip size policy module 314 respectively.
- the span count module 316 may determine a span count for a given RAID level taking into consideration physical configuration and firmware information. A number of physical disks which can be used in a current system configuration for one span may also be determined by the span count module 316 .
- the configuration module 200 may analyze each available physical disk to determine a disk type and availability of physical disks of a same type that may be used to create the given RAID level. Usability of each physical disk of the set of physical disks 204 , 206 , 208 may be analyzed based on current system settings.
- the RAID size module 320 may return current available space on a RAID volume for current configuration selections. Validity of the current configuration selections may be verified through the validation module 322 and the configuration may be created by the commit module 324 .
- FIG. 4 is a table view of content provided to a management module 200 by the configuration module 400 , according to one embodiment.
- the table in FIG. 4 may include a controller field 400 , a configured field 402 , a configuration allowability field 404 , a possible RAID levels field 406 , a read/write field 408 , a strip size field 410 , and/or a minimum/maximum disk per span field 412 .
- the controller field may be a name and/or an identification tag associated with the RAID controller (e.g., a RAID controller 202 A-N of FIG. 2 ).
- the configured field 402 may be a reference index indicating whether an underlying RAID implementation of the RAID controller (e.g., a RAID controller 202 A-N of FIG. 2 ) has been configured.
- the possible RAID levels field 406 indicates a compatible RAID levels with the underlying RAID implementation.
- the read/write field 408 indicates the read/write attributes of the set of physical disks of the underlying RAID implementation.
- the strip size field 410 indicates the allowable strip sizes and the min/max disk per span 412 indicates number of disks per span.
- the Controller 1 has a configured field value ‘YES’ indicating that the underlying RAID implementation has been configured, a configuration allowability value ‘YES’ indicating that configuration is allowed, the possible raid levels are ‘0, 3, 4’, the read/write field value ‘R,W’ indicating that both reads and writes are allowed, a strip size value of ‘8 KB, 32 KB’ indicating the allowed strip sizes, and min/max disk per span value of ‘ 2/12’ indicating the minimum disk per span is two and the maximal disk per span is twelve.
- the Controller 2 has the configured field value ‘NO’ indicating that the underlying RAID implementation has not been configured, the configuration allowability value ‘YES’ indicating that configuration is allowed, the possible raid levels are ‘1, 2, the read/write field value ‘R,W’ indicating that both reads and writes are allowed, a strip size value of ‘64 KB, 128 KB’, and min/max disk per span value of ‘ 4/8’ indicating the minimum disk per span is four and the maximal disk per span is eight.
- FIG. 5 is a process flow of providing the management application with any of the firmware information of a RAID controller and system information of a particular set of physical disks forming a particular underlying RAID implementation, according to one embodiment.
- the management application e.g., a management module 100 of FIGS. 1-2
- the management application may be provided with any of the firmware information of the RAID controller (e.g., a RAID controller 102 of FIG. 1 , a RAID controller 202 A-N of FIG. 2 ) and system information of the particular set of physical disks (e.g., a set of physical disks 104 of FIG. 1 , a set of physical disks 204 , 206 , 208 of FIG.
- the firmware information of the RAID controller e.g., a RAID controller 102 of FIG. 1 , a RAID controller 202 A-N of FIG. 2
- system information of the particular set of physical disks e.g., a set of physical disks 104 of FIG.
- the particular underlying RAID implementation that may be relevant for creating the configuration on the RAID controller (e.g., the RAID controller 102 of FIG. 1 , the RAID controller 202 A-N of FIG. 2 ) of the particular underlying RAID implementation to enable the management application (e.g., the management module 100 of FIGS. 1-2 ) to configure the RAID controller (e.g., the RAID controller 102 of FIG. 1 , the RAID controller 202 A-N of FIG. 2 ) of any set of physical disks (e.g., a set of physical disks 104 of FIG. 1 , a set of physical disks 204 , 206 , 208 of FIG.
- the management application e.g., the management module 100 of FIGS. 1-2
- the RAID controller e.g., the RAID controller 102 of FIG. 1 , the RAID controller 202 A-N of FIG. 2
- any set of physical disks e.g., a set of physical disks 104 of FIG
- any RAID implementation without prior knowledge of firmware information of the RAID controller (e.g., the RAID controller 102 of FIG. 1 , the RAID controller 202 A-N of FIG. 2 ) and system information of the any set of physical disks (e.g., a set of physical disks 104 of FIG. 1 , a set of physical disks 204 , 206 , 208 of FIG. 2 ) forming any of the RAID implementation through.
- firmware information of the RAID controller e.g., the RAID controller 102 of FIG. 1 , the RAID controller 202 A-N of FIG. 2
- system information of the any set of physical disks e.g., a set of physical disks 104 of FIG. 1 , a set of physical disks 204 , 206 , 208 of FIG. 2
- the configuration of the particular underlying RAID implementation may be determined using a decision making process of the management application (e.g., the management module 100 of FIGS. 1-2 ) based on any of the firmware information of the RAID controller (e.g., the RAID controller 102 of FIG. 1 , the RAID controller 202 A-N of FIG. 2 ) and system information of the particular set of physical disks forming the particular underlying RAID implementation to determine the configuration of the particular underlying RAID implementation.
- configurability of the particular set of physical disks e.g., a set of physical disks 104 of FIG. 1 , a set of physical disks 204 , 206 , 208 of FIG.
- the particular underlying RAID implementation may be determined based on an availability of un-configured physical disks of the particular set of physical disks (e.g., a set of physical disks 104 of FIG. 1 , a set of physical disks 204 , 206 , 208 of FIG. 2 ) and a maximal RAID volume capacity and RAID array capacity of the RAID controller (e.g., a RAID controller 102 of FIG. 1 , a RAID controller 202 A-N of FIG. 2 ) of the particular underlying RAID implementation.
- a maximal RAID volume capacity and RAID array capacity of the RAID controller e.g., a RAID controller 102 of FIG. 1 , a RAID controller 202 A-N of FIG. 2
- a list of un-configured and usable physical disks (e.g., a set of physical disks 104 of FIG. 1 , a set of physical disks 204 , 206 , 208 of FIG. 2 ) of the particular set of physical disks may be retrieved and obtained valid RAID levels of the particular set of physical disks based on the any of the firmware information of the RAID controller (e.g., the RAID controller 102 of FIG. 1 , the RAID controller 202 A-N of FIG. 2 ) and the availability of un-configured and usable physical disks of the particular set of physical disks (e.g., the set of physical disks 104 of FIG. 1 , the set of physical disks 204 , 206 , 208 of FIG. 2 ) forming the particular underlying RAID implementation.
- the firmware information of the RAID controller e.g., the RAID controller 102 of FIG. 1 , the RAID controller 202 A-N of FIG. 2
- FIG. 6 is a process diagram that further describes the operations of FIG. 5 , according to one embodiment.
- a list of read and write attributes of the particular set of physical disks e.g., the set of physical disks 104 of FIG. 1 , the set of physical disks 204 , 206 , 208 of FIG. 2
- a list of supported cache policy and strip size may be compiled based on the firmware information of the RAID controller.
- any of a minimum required and maximum allowed span count and physical disk count of a given RAID level may be determined based on the particular underlying RAID implementation and the firmware information of the RAID controller (e.g., a RAID controller 102 of FIG.
- each of the particular set of physical disks may be determined based on a disk type and an availability of physical disks of a same disk type that may be compatible with a particular RAID level.
- an available RAID volume size may be computed based on a given selection of the particular RAID level and the list of the particular set of physical disks (e.g., the set of physical disks 104 of FIG. 1 , the set of physical disks 204 , 206 , 208 of FIG. 2 ) of all spans and strip size of the management application (e.g., the management module 100 of FIGS. 1-2 ).
- validity of selected parameters of the management application e.g., the management module 100 of FIGS.
- 1-2 may be determined to create the configuration of the particular underlying RAID implementation and creating the configuration of the particular set of underlying physical disks forming the particular underlying RAID implementation through the RAID controller (e.g., the RAID controller 102 of FIG. 1 , the RAID controller 202 A-N of FIG. 2 ).
- the RAID controller e.g., the RAID controller 102 of FIG. 1 , the RAID controller 202 A-N of FIG. 2 ).
- FIG. 7 is a process flow of determining configurability of the particular set of physical disks forming the particular underlying RAID implementation, according to one embodiment.
- configurability of the particular set of physical disks forming the particular underlying RAID implementation may be determined based on an availability of un-configured physical disks of the particular set of physical disks (e.g., the set of physical disks 104 of FIG. 1 , the set of physical disks 204 , 206 , 208 of FIG. 2 ) and the maximal RAID volume capacity and RAID array capacity of the RAID controller (e.g., a RAID controller 102 of FIG. 1 , a RAID controller 202 A-N of FIG. 2 ) of the particular underlying RAID implementation.
- the RAID controller e.g., a RAID controller 102 of FIG. 1 , a RAID controller 202 A-N of FIG. 2
- the list of un-configured and usable physical disks of the particular set of physical disks may be retrieved and obtaining valid RAID levels of the particular set of physical disks (e.g., the set of physical disks 104 of FIG. 1 , the set of physical disks 204 , 206 , 208 of FIG. 2 ) based on the availability of un-configured and usable physical disks of the particular set of physical disks (e.g., the set of physical disks 104 of FIG. 1 , the set of physical disks 204 , 206 , 208 of FIG. 2 ) forming the particular underlying RAID implementation.
- the list of read and write attributes of the particular set of physical disks forming the particular underlying RAID implementation and the list of supported cache policy and strip size may be compiled based on the firmware information of the RAID controller (e.g., a RAID controller 102 of FIG. 1 , a RAID controller 202 A-N of FIG. 2 ).
- any of the minimum required and maximum allowed span count and physical disk count of the given RAID level may be determined based on the particular underlying RAID implementation.
- usability of each of the particular set of physical disks (e.g., the set of physical disks 104 of FIG. 1 , the set of physical disks 204 , 206 , 208 of FIG. 2 ) may be determined based on a disk type and the availability of physical disks of the same disk type that is compatible with a particular RAID level.
- FIG. 8 is a process diagram that describes further the operations of FIG. 7 , according to one embodiment.
- the available RAID volume size may be computed based on the given selection of the particular RAID level and the list of the particular set of physical disks of all spans and strip size of the management application.
- validity of selected parameters of the management application may be determined to create the configuration of the particular underlying RAID implementation and creating the configuration of the particular set of underlying physical disks (e.g., the set of physical disks 104 of FIG. 1 , the set of physical disks 204 , 206 , 208 of FIG. 2 ) forming the particular underlying RAID implementation.
- FIG. 9 shows a diagrammatic representation of a machine in the example form of a computer system 900 within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed.
- the machine operates as a standalone device and/or may be connected (e.g., networked) to other machines.
- the machine may operate in the capacity of a server and/or a client machine in server-client network environment, and/or as a peer machine in a peer-to-peer (or distributed) network environment.
- the machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch and/or bridge, an embedded system and/or any machine capable of executing a set of instructions (sequential and/or otherwise) that specify actions to be taken by that machine.
- PC personal computer
- PDA Personal Digital Assistant
- STB set-top box
- STB set-top box
- a Personal Digital Assistant PDA
- a cellular telephone a web appliance
- network router switch and/or bridge
- embedded system an embedded system and/or any machine capable of executing a set of instructions (sequential and/or otherwise) that specify actions to be taken by that machine.
- machine shall also be taken to include any collection of machines that individually and/or jointly execute a set (or multiple sets) of instructions to perform any one and/or more of the methodologies discussed herein.
- the example computer system 900 includes a processor 902 (e.g., a central processing unit (CPU) a graphics processing unit (GPU) and/or both), a main memory 904 and a static memory 907 , which communicate with each other via a bus 908 .
- the computer system 900 may further include a video display unit 910 (e.g., a liquid crystal display (LCD) and/or a cathode ray tube (CRT)).
- the computer system 900 also includes an alphanumeric input device 912 (e.g., a keyboard), a cursor control device 914 (e.g., a mouse), a disk drive unit 917 , a signal generation device 918 (e.g., a speaker) and a network interface device 920 .
- an alphanumeric input device 912 e.g., a keyboard
- a cursor control device 914 e.g., a mouse
- a disk drive unit 917 e.g., a disk drive unit 917
- a signal generation device 918 e.g., a speaker
- the disk drive unit 917 includes a machine-readable medium 922 on which is stored one or more sets of instructions (e.g., software 924 ) embodying any one or more of the methodologies and/or functions described herein.
- the software 924 may also reside, completely and/or at least partially, within the main memory 904 and/or within the processor 902 during execution thereof by the computer system 900 , the main memory 904 and the processor 902 also constituting machine-readable media
- the software 924 may further be transmitted and/or received over a network 927 via the network interface device 920 .
- the machine-readable medium 922 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium and/or multiple media (e.g., a centralized and/or distributed database, and/or associated caches and servers) that store the one or more sets of instructions.
- the term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding and/or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the various embodiments.
- the term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media, and carrier wave signals.
- the various devices, modules, analyzers, generators, etc. described herein may be enabled and operated using hardware circuitry (e.g., CMOS based logic circuitry), firmware, software and/or any combination of hardware, firmware, and/or software (e.g., embodied in a machine readable medium).
- hardware circuitry e.g., CMOS based logic circuitry
- firmware e.g., software and/or any combination of hardware, firmware, and/or software
- the various electrical structure and methods may be embodied using transistors, logic gates, and electrical circuits (e.g., application specific integrated ASIC circuitry).
- 3 may be enabled using transistors, logic gates, and electrical circuits (e.g., application specific integrated ASIC circuitry) using a client device circuit, a storage module circuit, a virtualization circuit, a recovery circuit, an events circuit, a network circuit, an instantiation circuit, an export circuit, a pausing circuit, a SCSI circuit, a fiber channel circuit, a continuous data protection circuit, a delayed roll forward circuit, a delayed roll backward circuit, a coalescing circuit, and/or an event detector circuit.
- transistors, logic gates, and electrical circuits e.g., application specific integrated ASIC circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
Claims (18)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/528,983 US7657705B2 (en) | 2006-09-27 | 2006-09-27 | Method and apparatus of a RAID configuration module |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/528,983 US7657705B2 (en) | 2006-09-27 | 2006-09-27 | Method and apparatus of a RAID configuration module |
Publications (2)
Publication Number | Publication Date |
---|---|
US20080077736A1 US20080077736A1 (en) | 2008-03-27 |
US7657705B2 true US7657705B2 (en) | 2010-02-02 |
Family
ID=39226385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/528,983 Expired - Fee Related US7657705B2 (en) | 2006-09-27 | 2006-09-27 | Method and apparatus of a RAID configuration module |
Country Status (1)
Country | Link |
---|---|
US (1) | US7657705B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120278527A1 (en) * | 2011-04-26 | 2012-11-01 | Byungcheol Cho | System architecture based on hybrid raid storage |
US20120278526A1 (en) * | 2011-04-26 | 2012-11-01 | Byungcheol Cho | System architecture based on asymmetric raid storage |
US9152328B2 (en) | 2013-07-02 | 2015-10-06 | Avago Technologies General Ip (Singapore) Pte Ltd | Redundant array of independent disks volume creation |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8713253B1 (en) * | 2007-06-18 | 2014-04-29 | Guidance-Tableau, Llc | Modular storage system |
US9779057B2 (en) | 2009-09-11 | 2017-10-03 | Micron Technology, Inc. | Autonomous memory architecture |
WO2011108041A1 (en) * | 2010-03-04 | 2011-09-09 | 日本電気株式会社 | Storage device |
US8799226B2 (en) | 2010-09-28 | 2014-08-05 | International Business Machines Corporation | Prioritization of data items for backup in a computing environment |
US20120265932A1 (en) * | 2011-04-13 | 2012-10-18 | Jibbe Mahmoud K | Method to increase the flexibility of configuration and/or i/o performance on a drive array by creation of raid volume in a heterogeneous mode |
US9779138B2 (en) * | 2013-08-13 | 2017-10-03 | Micron Technology, Inc. | Methods and systems for autonomous memory searching |
US10003675B2 (en) | 2013-12-02 | 2018-06-19 | Micron Technology, Inc. | Packet processor receiving packets containing instructions, data, and starting location and generating packets containing instructions and data |
US9252148B2 (en) | 2014-01-22 | 2016-02-02 | Micron Technology, Inc. | Methods and apparatuses with vertical strings of memory cells and support circuitry |
CN112463045B (en) * | 2020-11-23 | 2023-01-10 | 苏州浪潮智能科技有限公司 | Method, device, equipment and product for controlling diversity of redundant arrays of disks in batch |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5983283A (en) * | 1996-04-15 | 1999-11-09 | Sun Microsystems, Inc. | Storage manager independent configuration interface translator and method |
US6098119A (en) * | 1998-01-21 | 2000-08-01 | Mylex Corporation | Apparatus and method that automatically scans for and configures previously non-configured disk drives in accordance with a particular raid level based on the needed raid level |
US20040133742A1 (en) * | 2003-01-07 | 2004-07-08 | Dell Products L.P. | System and method for raid configuration |
US20070143540A1 (en) * | 2005-12-16 | 2007-06-21 | Inventec Corporation | RAID setting system having scanning module and related method |
US7454566B1 (en) * | 2005-05-02 | 2008-11-18 | Nvidia Corporation | System and method for adaptive RAID configuration |
-
2006
- 2006-09-27 US US11/528,983 patent/US7657705B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5983283A (en) * | 1996-04-15 | 1999-11-09 | Sun Microsystems, Inc. | Storage manager independent configuration interface translator and method |
US6098119A (en) * | 1998-01-21 | 2000-08-01 | Mylex Corporation | Apparatus and method that automatically scans for and configures previously non-configured disk drives in accordance with a particular raid level based on the needed raid level |
US20040133742A1 (en) * | 2003-01-07 | 2004-07-08 | Dell Products L.P. | System and method for raid configuration |
US7454566B1 (en) * | 2005-05-02 | 2008-11-18 | Nvidia Corporation | System and method for adaptive RAID configuration |
US20070143540A1 (en) * | 2005-12-16 | 2007-06-21 | Inventec Corporation | RAID setting system having scanning module and related method |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120278527A1 (en) * | 2011-04-26 | 2012-11-01 | Byungcheol Cho | System architecture based on hybrid raid storage |
US20120278526A1 (en) * | 2011-04-26 | 2012-11-01 | Byungcheol Cho | System architecture based on asymmetric raid storage |
US9176670B2 (en) * | 2011-04-26 | 2015-11-03 | Taejin Info Tech Co., Ltd. | System architecture based on asymmetric raid storage |
US9152328B2 (en) | 2013-07-02 | 2015-10-06 | Avago Technologies General Ip (Singapore) Pte Ltd | Redundant array of independent disks volume creation |
Also Published As
Publication number | Publication date |
---|---|
US20080077736A1 (en) | 2008-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7657705B2 (en) | Method and apparatus of a RAID configuration module | |
US8145840B2 (en) | Method and system for storing excess data in a redundant array of independent disk level 6 | |
US6895480B2 (en) | Apparatus and method for sharing boot volume among server blades | |
US8725945B2 (en) | Method and system for governing an enterprise level green storage system drive technique | |
EP2843537B1 (en) | Method and systems for simulating a workload of a storage system | |
KR20210155340A (en) | Detection of compromised storage device firmware | |
US20160203043A1 (en) | Separating storage transaction logs | |
US8938477B1 (en) | Simulating data storage system configuration data | |
US20080172668A1 (en) | Profile-based cpu/core affinity | |
EP2936316A1 (en) | Systems and apparatuses for aggregating nodes to form an aggregated virtual storage for a virtualized desktop environment | |
CA2644997A1 (en) | Providing an address format compatible with different addressing formats used for addressing different sized address spaces | |
JP2010020701A (en) | Device and method for managing access between devices | |
CN110780821A (en) | Optimization method and device of distributed storage system, server and storage medium | |
US11461250B2 (en) | Tuning data storage equipment based on comparing observed I/O statistics with expected I/O statistics which are defined by operating settings that control operation | |
US20130019122A1 (en) | Storage device and alternative storage medium selection method | |
US7949895B2 (en) | Data reading method | |
US9575660B2 (en) | Flexibly storing defined presets for configuration of storage controller | |
US20060048039A1 (en) | Method, system and storage medium for increasing storage capacity | |
US20120110277A1 (en) | Method and system for storage-system management | |
US20140358479A1 (en) | Storage unit performance adjustment | |
US20100306348A1 (en) | Method and system for displaying and comparing storage zoning configurations | |
JP2006343928A (en) | Information processor and program | |
CN116069266B (en) | Disk roaming control method, apparatus, device and computer readable storage medium | |
WO2023084725A1 (en) | Network configuration device, information system, network configuration method, and recording medium | |
US8271725B1 (en) | Method and apparatus for providing a host-independent name to identify a meta-device that represents a logical unit number |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: LSI CORPORATION,CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MUKHERJEE, SUBHANKAR;PANDYA, AMIT;REEL/FRAME:021828/0337 Effective date: 20060925 Owner name: LSI CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MUKHERJEE, SUBHANKAR;PANDYA, AMIT;REEL/FRAME:021828/0337 Effective date: 20060925 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AG Free format text: PATENT SECURITY AGREEMENT;ASSIGNORS:LSI CORPORATION;AGERE SYSTEMS LLC;REEL/FRAME:032856/0031 Effective date: 20140506 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LSI CORPORATION;REEL/FRAME:035390/0388 Effective date: 20140814 |
|
AS | Assignment |
Owner name: AGERE SYSTEMS LLC, PENNSYLVANIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031);ASSIGNOR:DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT;REEL/FRAME:037684/0039 Effective date: 20160201 Owner name: LSI CORPORATION, CALIFORNIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031);ASSIGNOR:DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT;REEL/FRAME:037684/0039 Effective date: 20160201 |
|
AS | Assignment |
Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH CAROLINA Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:037808/0001 Effective date: 20160201 Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:037808/0001 Effective date: 20160201 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD., SINGAPORE Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:041710/0001 Effective date: 20170119 Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:041710/0001 Effective date: 20170119 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITE Free format text: MERGER;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:047195/0827 Effective date: 20180509 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITE Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF MERGER PREVIOUSLY RECORDED AT REEL: 047195 FRAME: 0827. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:047924/0571 Effective date: 20180905 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20220202 |