US8799608B1 - Techniques involving flaky path detection - Google Patents
Techniques involving flaky path detection Download PDFInfo
- Publication number
- US8799608B1 US8799608B1 US13/339,669 US201113339669A US8799608B1 US 8799608 B1 US8799608 B1 US 8799608B1 US 201113339669 A US201113339669 A US 201113339669A US 8799608 B1 US8799608 B1 US 8799608B1
- Authority
- US
- United States
- Prior art keywords
- path
- ios
- flaky
- over
- scsi
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- Multipathing refers to the ability of software running on a host computer to access a volume or a logical unit (LUN) of storage of a data storage array through multiple paths.
- the software may uniquely identify each path to a LUN via a port of the host computer, a port of the data storage array, and the LUN.
- SCSI small computer system interface
- this is referred to as the I-T-L nexus, i.e., Initiator port to Target port to LUN.
- the software running on the host computer is unable to perform an I/O operation to a volume of the array on an initial path, the software retries the I/O operation to the volume on another path and labels the initial path for path testing. If path testing of the initial path fails, the software marks the initial path as a “dead” path until periodic testing determines that the initial path is functional again.
- the host computer and the data storage array are able to remain operational as a whole since the software can continue to access the volume on one or more remaining “alive” paths.
- PowerPath® which is offered by EMC Corporation of Hopkinton, Mass. is an example of a multipathing software product.
- flaky path it is possible for a path to a volume to become “flaky”, i.e., fail intermittently.
- One kind of flaky path always fails SCSI read commands and SCSI write commands, but always succeeds a SCSI inquiry command.
- Another kind of flaky path fails SCSI read and write commands that involve a large amount of data, but succeeds SCSI read and write commands that involve a small amount of data as well as SCSI inquiry commands.
- Other flaky path behaviors may exist as well such as a switch port or an initiator port that is intermittently failing, causing any input/output (IO) request to intermittently fail when going through that component.
- IO input/output
- improved techniques involve a multipathing driver performing a flaky path detection operation under certain conditions to determine whether a path to a volume is flaky.
- the multipathing driver performs a flaky path detection operation to evaluate the initial path.
- the multipathing driver performs a flaky path detection operation to evaluate that path.
- the driver When the multipathing driver performs a flaky path detection operation to evaluate a path, the driver examines the number of IO requests (or simply IOs) that the driver sent on that path over a period in which a set number of IO failures occurred on that path (e.g., three IO failures). If the number of IOs that the driver sent on that path over that period is the same as the set number of IO failures that occurred, the average number of IOs per failure on that path is 1 (i.e., every IO over that period failed) and the driver proceeds with normal processing.
- a set number of IO failures e.g., three IO failures
- the driver marks the path as “dead” or if the most recent failure is a read or write IO, then the driver marks the path for testing. However, if the number of IOs that the driver sent on that path over that period is greater than the set number of IO failures that occurred, the average number of IOs per failure on that path is greater than 1 (i.e., at least one IO over that period succeeded) and the driver marks that path as “flaky” and performs a flaky path remedial measure regarding that path.
- One embodiment is directed to a method of overseeing a path between a multipathing driver of a host computer and a volume of a data storage array.
- the method includes, while the multipathing driver of the host computer sends input/output requests (IOs) to the volume of the data storage array on the path, generating an IOs-Over-Period metric based on outcomes of the IOs, the IOs-Over-Period metric providing a measure of IOs per failure over a period of path operation.
- the method further includes performing a comparison operation which compares the IOs-Over-Period metric to a predefined flaky path range having a predefined lower limit and a predefined upper limit.
- the method further includes, after performing the comparison operation, outputting a detection signal indicating that the path is (i) flaky when the IOs-Over-Period metric falls within the predefined flaky path range and (ii) non-flaky when the IOs-Over-Period metric falls outside of the predefined flaky path range.
- the predefined upper limit of the predefined flaky path range is initially set to some default value (e.g., 6000). As will be explained in further detail below, this upper limit can be adjusted by a user.
- inventions are directed to systems, apparatus, processing circuits, computer program products, and so on. Some embodiments are directed to various methods, electronic components and circuitry which are involved in overseeing a path between a host computer and a volume of a data storage array.
- FIG. 1 is a block diagram of a data storage environment which is equipped with enhanced flaky path detection.
- FIG. 2 is a block diagram illustrating particular components of a host computer of FIG. 1 .
- FIG. 3 is a block diagram illustrating particular activities of a multipathing driver of the host computer.
- FIG. 4 is a block diagram showing particular details during a first flaky path situation.
- FIG. 5 is a block diagram showing particular details during a second flaky path situation.
- FIG. 6 is a flowchart of a procedure which is performed within the host computer for flaky path detection and avoidance.
- FIG. 7 is a state diagram for operating states of a path.
- FIG. 1 shows a data storage environment 20 which includes a host computer 22 , a data storage array 24 , and a storage interconnection network 26 .
- the host computer 22 includes a multipathing driver 30 and multiple host ports 32 (A), 32 (B), . . . (collectively, host ports 32 ) to the interconnection network 26 .
- the data storage array 24 includes volumes or logical units (LUNs) 40 ( 1 ), 40 ( 2 ), . . . of storage (collectively, volumes 40 ), and multiple array ports 42 (A), 42 (B), . . . (collectively, array ports 42 ).
- the interconnection network 26 may include physical cabling, switches, etc. in order to convey electronic signals 50 between the host ports 32 and the array ports 42 .
- the host computer 22 is constructed and arranged to perform useful work such as issuing IO requests 52 to write data to and read data from the data storage array 24 .
- the host computer 22 is able to utilize multiple paths 60 to each volume 40 for load balancing, fault tolerance, etc.
- a first path 60 (A) exists to the volume 40 ( 1 ) through the host port 32 (A) and the array port 42 (A) (see the dashed arrow 60 (A)).
- a second path 60 (B) exists to the volume 40 ( 1 ) through the host port 32 (B) and the array port 42 (B) (the dashed arrow 60 (B)).
- Other paths 60 to the volume 40 ( 1 ) may exist as well (e.g., another path 60 through the host port 32 (A) and the array port 42 (B) due to switches within the interconnection network 26 , and so on).
- the multipathing driver 30 issues IO requests 52 to volumes 40 on the paths 60 , the multipathing driver 30 generates, for each path 60 , an IOs-Over-Period metric to determine whether that path 60 is flaky. Further details of the IOs-Over-Period metric are provided below. If an evaluation of the IOs-Over-Period metric indicates that a path 60 is flaky, the multipathing driver 30 performs a remedial measure such as transitioning the flaky path 60 to an autostandby mode in which the host computer 22 uses the flaky path 60 only as a last resort, alerting a human, initiating a root cause analysis routine, combinations thereof, etc.
- a remedial measure such as transitioning the flaky path 60 to an autostandby mode in which the host computer 22 uses the flaky path 60 only as a last resort, alerting a human, initiating a root cause analysis routine, combinations thereof, etc.
- FIG. 2 shows pertinent structure and organization of the host computer 22 .
- the host computer 22 includes computerized circuitry 70 including one or more processors, memory, data buses and input/output circuitry, etc. (illustrated generally by the arrow 70 ).
- This circuitry 70 executes computer instructions that form various programs, routines, etc., normally including an operating system and one or more application programs in order to form specialized equipment which performs the operations described herein.
- FIG. 70 includes computerized circuitry 70 including one or more processors, memory, data buses and input/output circuitry, etc.
- FIG. 2 illustrates application program(s) and file system(s) 72 to control the high level operation of the host computer 22 , a multipathing driver 30 for storage IO operations, and host bus adapter(s) or HBA(s) 74 which include(s) hardware circuitry that interfaces the host computer 22 to the interconnection network 26 via one or more host ports 32 (also see FIG. 1 ).
- the host computer 22 may have one or more HBAs 74 , and that each HBA 74 may have one or more respective ports 32 .
- the multipathing driver 30 typically forms part of an operating system of the host computer 22 . As a driver of the operating system, it handles all storage IO commands from the application 72 directed to the data storage array 24 .
- the processing circuitry of the host computer 22 runs code of the multipathing driver 30
- a specialized circuit is formed which processes IO requests and responses as they flow from the application 72 to the array 24 and back.
- the specialized circuit (which is referred to herein as the multipathing driver 30 for simplicity) performs flaky path detection and avoidance techniques.
- a computer program product 80 is capable of delivering all or portions of these above-mentioned software constructs to the host computer 22 .
- the computer program product 80 includes a non-transitory (or non-volatile) computer readable medium which stores a set of instructions to control one or more operations of the host computer 22 .
- suitable non-transitory computer readable media include tangible articles of manufacture and apparatus which store instructions in a non-volatile manner such as CD-ROM, flash memory, disk memory, tape memory, and the like.
- FIG. 3 shows a diagram 90 illustrating particular operation of the multipathing driver 30 in connection with processing an IO request 52 on a selected path 60 to a specific LUN and determining whether the selected path 60 is flaky.
- each path 60 may be identified or represented by a triplet of values specifying an “initiator”, “target” and “LUN”, known in the art as an “ITL”.
- an initiator value identifies the source of a SCSI command (e.g., see the host ports 32 in FIG. 1 ), while a target value identifies the SCSI component to which the command is directed (e.g., see the array ports 42 in FIG. 1 ).
- the LUN (logical unit number) identifies the unit of storage that is the subject of the command (e.g., see the volumes 40 in FIG. 1 ).
- the multipathing driver 30 is constructed and arranged to assign, for each path 60 , monotonically increasing instance numbers to the IO requests 52 issued on that path 60 .
- the assigned instance numbers ascend with time. Accordingly, higher instance numbers refer to newer IO requests 52 , and lower instance numbers refer to older IO requests 52 .
- the multipathing driver 30 wraps the instance numbers once the instance numbers reach a certain value.
- the multipathing driver 30 is further constructed and arranged to maintain, for each path 60 , a sorted list of instance numbers assigned to a set number (e.g., three) of the last IO requests 52 which failed on that path 60 as follows:
- the multipathing driver 30 is able to generate an IOs-Over-Period metric which indicates whether that path 60 is flaky.
- the multipathing driver 30 assigns an instance number to an IO request 52 and issues the IO request 52 on a selected path 60 (also see FIG. 1 ).
- the IO request 52 may be included in an IO command block passed from a higher-level component of the operating system to the multipathing driver 30 , as generally known in the art.
- the IO request 52 will include, among other things, an identification of the volume 40 to which the IO request 52 is directed.
- the IO request 52 may be generated by the multipathing driver 30 itself for administrative purposes (e.g., control, diagnostics, etc.). Examples of suitable IO requests 52 include SCSI read commands, SCSI write commands, and SCSI inquiry commands.
- the multipathing driver 30 performs a flaky path detection operation based on the sorted list of instance numbers for the selected path 60 to determine whether the selected path 60 is flaky. Generally speaking, the multipathing driver 30 evaluates the average number of IOs per failure on the selected path 60 against a flaky path range. This evaluation can be represented as follows:
- IOs-Per-Failure is the parameter for the average number of IOs per failure over a period of operation. If this IOs-Per-Failure parameter is equal to 1, then every IO request 52 on the selected path 60 over that period failed and the multipathing driver 30 labels the path 60 for path testing, i.e., the path 60 is not flaky and likely to be marked dead by path testing. However, if the IOs-Per-Failure parameter is greater than 1 and less than an upper limit of the flaky path range, the multipathing driver 30 considers the path 60 to be flaky.
- the upper limit of the flaky path range is adjustable and can be initially set to some default value (e.g., 6000).
- the multipathing driver 30 performs a remedial measure. For example, the multipathing driver 30 may transition the selected path 60 from an “active” mode of operation to an “autostandby” mode of operation. In the “active” mode of operation, the multipathing driver 22 routinely sends IO requests 52 to the particular volume 40 on the path 60 in a highly available manner. However, in the “autostandby” mode of operation, the multipathing driver 22 sends IO requests 52 to the particular volume 40 on the path 60 in a last resort manner, for instance, only after the multipathing driver 30 has tried all other paths 60 to the volume 40 which were in active mode. Other remedial operations include alerting an administrator and invoking a root cause analysis procedure.
- the multipathing driver 30 alerts a human (e.g., an administrator of the electronic environment 20 , a field technician, etc.) as a remedial measure (perhaps among others) in response to flaky path detection.
- a human e.g., an administrator of the electronic environment 20 , a field technician, etc.
- Such an alert may be in the form of an email message, a telephone call, a text message, an alarm, combinations thereof, and so on.
- Such operation enables a human to jump into action as quickly as possible.
- sometimes conditions in the cabling itself could cause irregular bounces in the fabric of the path 60 , and the human is able to quickly step in and repair or replace that cabling to restore full connectivity between the host computer 22 and the data storage array 24 .
- the multipathing driver 30 automatically triggers a root cause analysis routine as the remedial measure in response to flaky path detection. Such operation enables the host computer 22 or an external mechanism to immediately gather further information for diagnosis and correction of the particular cause of the flakiness and perhaps perform additional testing. In some arrangements, an external management mechanism begins a close inspection of the components of the data storage environment 20 as soon as the root cause analysis routine is invoked.
- remedial measures may include removing the path 60 from service completely, and/or modifying the protocol or signaling schema used through the path 60 . Also, it should be understood that various remedial measures can be performed in combination with other remedial measures (e.g., a predefined fault handling routine, periodic testing, etc.).
- the multipathing driver 30 when the multipathing driver 30 determines that the path 60 is flaky, the multipathing driver 30 starts a timer or aging circuit that expires after a predetermined amount of time has elapsed (e.g., an hour, a day, seven days, etc.). In these arrangements, the multipathing driver 30 reinstates the path 60 at the expiration of the timer, i.e., after the predetermined amount of time has elapsed.
- a predetermined amount of time e.g., an hour, a day, seven days, etc.
- the multipathing driver 30 sorts the list of instance numbers with each a new instance number of a failed IO request 52 . Such operation accommodates a situation in which IO requests 52 may complete out of their original order. That is, the IO requests 52 may be processed asynchronously. Accordingly, even though each IO request 52 on a particular path 60 is assigned a monotonically increasing instance number (i.e., the instance number assigned to each new IO request 52 is one higher than that assigned to the preceeding IO request 52 on that path 60 ), the results of the IO requests 52 can return to the multipathing driver 30 in any order. As a result, sorting the list 120 enables the multipathing driver 30 to easily access the lowest instance number from a buffer when calculating the IOs-Over-Period metric.
- the multipathing driver 30 performs the same evaluation process separately for each path 60 .
- the multipathing driver 30 maintains a separate monotonically increasing series of instance numbers (or count) for each path 60 .
- the multipathing driver 30 maintains a separate sorted list of a set number of instance numbers (i.e., buffered in memory) for each path 60 . Accordingly, the multipathing driver 30 is able to separately oversee the rate of IOs relative to the rate of failures through each path 60 independently.
- the multipathing driver 30 is constructed and arranged to maintain a separate sorted list of three of instance numbers for each path 60 . It should be understood that the distance between two adjacent entries in the sorted list maintained for a specific path represents an interval in which there was exactly one failed IO request 52 on that path 60 . Moreover, since there are three instance numbers in the sorted list, the distance between the lowest instance number in the sorted list and the instance number of the most recently dispatched IO request 52 to have failed represents a period of four errors (i.e., three intervals of errors). This distance is referred to as the IOs-Over-Period metric for that path 60 since it represents the number of IOs issued on that path 60 over the period of four errors.
- the multipathing driver 30 considers a path 60 to be flaky when the average number of IOs per failure on that path 60 falls within a flaky path range, i.e., when the average number of IOs per failure is greater than 1 and less than some upper limit. It should be further understood that the average number of IOs per failure for each path 60 is easily derived by dividing the IOs-Over-Period metric for that path 60 by the number of entries in the sorted list for that path 60 . That is:
- the average number of IOs per failure for each path 60 equals the IOs-Over-Period metric divided by three. That is, the result of dividing the IOs-Over-Period metric by three is a running average of the number of IOs per failure on a path 60 .
- the result of dividing the IOs-Over-Period metric by three is greater than 1 and less than the upper limit of the flaky path range, the path 60 is flaky.
- the multipathing driver 30 may simply compare the IOs-Over-Period metric to different limits to determine whether the a path 60 is flaky.
- the optimized evaluation can be represented as follows:
- FP-upper-limit is adjustable.
- the multipathing driver 30 simply calculates the IOs-Over-Period metric for a path 60 (e.g., by subtracting the oldest instance number in the sorted list from the instance number of the most recently dispatched IO request 52 to have failed), and then comparing the IOs-Over-Period metric to a flaky path range defined by the FP-lower-limit and FP-upper-limit values.
- the particular value of the FP-upper-limit affects the sensitivity of the remedial operation trigger where a higher upper limit increases the sensitivity of the trigger. Additionally, the value of the FP-lower-limit is simply one more than the size of the sorted list, and its importance is in distinguishing a flaky path from a non-flaky path, when failure is not intermittent.
- the number of instances kept in the sorted list may vary from three.
- the number of instances in each sorted list is one, two, four, and so on). Further details will now be provided with reference to particular examples.
- FIG. 4 shows a sorted list 120 which is maintained by the multipathing driver 30 ( FIG. 2 ) for each path 60 .
- the sorted list 120 includes three entries 122 ( 1 ), 122 ( 2 ), 122 ( 3 ) (collectively, list entries 122 ) which store the instance numbers of the last three failed IO requests 52 on that path 60 .
- FIG. 4 further shows a predefined value range 130 which includes an upper limit 132 and a lower limit 134 .
- the upper limit 132 is adjustable and is set to a value of 3000.
- the lower limit is set to a value of 4 due to the sorted list 120 being three (3) entries 122 deep.
- the multipathing driver 30 of the host computer 22 stores the instance numbers of the first three failed IO requests 52 in the entries 122 ( 1 ), 122 ( 2 ), 122 ( 3 ) of the sorted list 120 . It is important to note that the entry 122 ( 1 ) stores the lowest instance number (i.e., 1000).
- the multipathing driver 30 After the multipathing driver 30 computes the IOs-Over-Period metric, the multipathing driver 30 evaluates the IOs-Over-Period metric against a predefined value range 130 that has been deemed to be indicative of a flaky path. In particular, as illustrated by the arrow 146 , the multipathing driver 30 compares the IOs-Over-Period metric against the upper limit 132 (e.g., a value of 3000) as well as against the lower limit 134 (e.g., a value of 4) to determine whether the IOs-Over-Period metric falls within the predefined value range 130 .
- the upper limit 132 e.g., a value of 3000
- the lower limit 134 e.g., a value of 4
- the IOs-Over-Period metric does fall within the predefined value range 130 . That is, the IOs-Over-Period metric equals 3000 which falls within the predefined flaky path range of 4-3000. Accordingly, as illustrated by the arrow 148 , the multipathing driver 30 performs a remedial measure (e.g., a flaky path handling routine).
- a remedial measure e.g., a flaky path handling routine.
- the multipathing driver 30 would have considered the path 60 to be non-flaky (e.g., fully functional or active). As a result, the multipathing driver 30 would not have performed the remedial measure.
- the multipathing driver 30 updates the sorted list 120 with the highest instance number entry 122 ( 4 ). In particular, the multipathing driver 30 removes the lowest instance number entry 122 ( 1 ) from the sorted list 120 and adds the new list entry 122 ( 4 ) containing the highest instance number to the sorted list 120 .
- FIG. 5 shows an example similar to that of Example 1. However, in this Example 2, suppose that the following sequence of events occur through the path 60 :
- Instance Number X IO (e.g., SCSI read or write) fails Instance Number X + 1: IO (e.g., SCSI inquiry) fails Instance Number X + 2: IO (e.g., SCSI inquiry) succeeds Instance Number X + 3: IO (e.g., SCSI read or write) fails Instance Number X + 4: IO (e.g., SCSI inquiry) fails.
- IO e.g., SCSI inquiry
- the multipathing driver 30 subsequently issues the IO request 52 at X+1 in order to test the path 60 and this test path IO (most likely a SCSI inquiry command) also fails.
- the multipathing driver 30 labels the path 60 as dead (because the test path IO failed). Later, during periodic path testing to see if any dead paths 60 are usable again, suppose that the multipathing driver 30 sends the IO request 52 at X+2 which succeeds; this is also a test path IO, most likely a SCSI inquiry command. Accordingly, the multipathing driver 30 labels the path 60 as alive. Once the path is marked alive, suppose that a read or write IO request 52 at X+3 fails and the test path IO request 52 at X+4 (most likely a SCSI inquiry command) fails. Such a scenario may exist when some SCSI inquiries succeed, but all SCSI reads and writes fail.
- the multipathing driver 30 ( FIG. 2 ) of the host computer 22 stores the instance numbers of the last three failed IO requests 52 in the entries 122 ( 1 ), 122 ( 2 ), 122 ( 3 ) of the sorted list 120 .
- the entry 122 ( 1 ) stores the lowest instance number (i.e., X). It should be understood that the multipathing driver 30 does not store the instance number X+2 within the sorted list 120 for the path 60 since the IO request 52 assigned instance number X+2 succeeded.
- the multipathing driver 30 After the multipathing driver 30 computes the IOs-Over-Period metric, the multipathing driver 30 evaluates the IOs-Over-Period metric against the predefined flaky path range 130 . In particular, as illustrated by the arrow 166 , the multipathing driver 30 compares the IOs-Over-Period metric against the upper limit 132 (e.g., a value of 3000) as well as the lower limit 134 (e.g., a value of 4) to determine whether the IOs-Over-Period metric falls within the predefined flaky path range.
- the upper limit 132 e.g., a value of 3000
- the lower limit 134 e.g., a value of 4
- the IOs-Over-Period metric falls within the predefined flaky path range. That is, the IOs-Over-Period metric equals 4 which falls within the predefined flaky path range of 4-3000. Accordingly, as illustrated by the arrow 168 , the multipathing driver 30 performs a remedial measure (e.g., a flaky path handling routine).
- a remedial measure e.g., a flaky path handling routine.
- the multipathing driver 30 would have considered the path 60 to be a non-flaky path, i.e., the average IOs per failure (i.e., the IOs-Over-Period metric divided by 3) is now equal to 1. As a result, the multipathing driver 30 would not have performed the flaky path remedial measure.
- the multipathing driver 30 could run a dead path routine or some other routine to attend to a determination that the path 60 has completely failed.
- FIG. 6 shows a flowchart of a procedure 200 which is performed by a multipathing driver 30 during flaky path detection.
- the multipathing driver 30 generates an IOs-Over-Period metric 102 in response to IO request failures that have been determined to be path-related.
- the multipathing driver 30 sends IO requests 52 to a volume of the array 24 (also see FIG. 1 )
- the multipathing driver 30 identifies read or write IO requests 52 which failed on a particular path 60 to the volume but succeeded on another path 60 to the volume. It also identifies failures in path test IOs, such as SCSI inquiry commands.
- the multipathing driver 30 then computes, as the IOs-Over-Period metric, the difference between the highest instance number and the lowest instance number among the instance numbers in the sorted list and the instance number of the most recently failed IO request 52 .
- the multipathing driver 30 performs a comparison operation which compares the IOs-Over-Period metric to a predefined flaky path range.
- the multipathing driver 30 compares the IOs-Over-Period metric to an upper limit and a lower limit of the predefined flaky path range.
- the multipathing driver 30 outputs, after performing the comparison operation, a detection result indicating that the particular path 60 is (i) flaky when the IOs-Over-Period metric falls within the predefined flaky path range and (ii) non-flaky when the IOs-Over-Period metric falls outside of the predefined flaky path range.
- the multipathing driver 30 may activate of a remedial measure such as invocation of a routine which transitions a path from a fully functional or active mode of operation to an autostandby mode of operation in which the path 60 is utilized only as a last resort.
- the multipathing driver 30 of the host computer 22 is able to avoid routine use of the path 60 when it is flaky (i.e., when the path 60 intermittently fails). Accordingly, the host computer 22 enjoys reduced response time (e.g., IO requests 52 which would have been tried on the flaky path 60 are now tried on other paths 60 first).
- FIG. 7 shows a set of operating states or modes that can apply to an individual path 60 , along with an indication of conditions for transitions between the modes.
- Each path 60 is in either an active mode 300 or a standby mode 302 .
- Paths 60 in the active mode 300 are more generally used during path selection than paths 60 in the standby mode 302 .
- paths 60 in the standby mode 302 are selected for use only under more restrictive circumstances.
- a path 60 in the standby mode 302 may be selected for use if there are no paths 60 to the same volume that are in the active mode 300 . This could occur, for example, if each active-mode path 60 experienced a failure.
- the mode of the path 60 may be controlled manually where “manual” refers to action of an administrator for example, and automatically where “deemed flaky” and “aging out” refer to programmed actions of the multipathing driver 30 .
- “deemed flaky” transition recall that in some arrangements when the multipathing driver 30 determines that a path 60 is flaky (i.e., when the IOs per failure falls within the flaky path range), the multipathing driver 30 modifies the operating mode of the path 60 . In particular, multipathing driver 30 transitions the path 60 from the active mode 300 to the standby mode 302 .
- the multipathing driver 30 is further capable of reinstating the path 60 , i.e., transitioning the path 60 from the standby mode 302 back to the active mode 300 after “aging out” or after a predetermined amount of time has passed (e.g., seven days).
- this mechanism enables an administrative user to independently affect operational behavior. For example, if an administrative user becomes aware of a reason that the path 60 should preferably not be used, the user may manually place the path 60 into the standby mode 302 . When this has occurred, the path 60 can only be placed back into the active mode 300 by another manual operation—the multipathing driver 30 does not override this manual setting.
- the operating modes of the paths 60 may or may not persist across a re-booting of the host computer 22 or re-starting of the multipathing driver 30 . In many cases it will be desirable for manual settings to persist. It may be desirable for automatic settings to be recalculated. If a path 60 has been set to the standby mode 302 by the driver 30 , then upon a re-start the path 60 may initially be in the active mode 300 by default.
- the above-described flaky path detection and avoidance mechanism is independent of IO rate and robustly and reliably identifies flaky paths even for idle or near-idle paths 60 .
- the multipathing driver maintains a running behavioral pattern for each path 60 , and incorporates the results of its own periodic probing for path errors, thereby detecting some types of flakiness even in the total absence of read-write IOs.
- flaky path detection and avoidance is associated with a pattern of behavior, not just what happens after one dead-live transition. With the multipathing driver 30 , a flaky path 60 that undergoes a dead-live transition will still be avoided for IOs until the aging period expires.
- the IO requests 52 were described above as being SCSI commands (e.g., SCSI read commands, SCSI write commands, SCSI inquiry commands, etc.). It should be understood that the techniques may be applied to other protocols and styles of communications as well such as IP-based messages, wireless signals, and so on.
- SCSI commands e.g., SCSI read commands, SCSI write commands, SCSI inquiry commands, etc.
- IP-based messages e.g., IP-based messages, wireless signals, and so on.
- a value of 3000 was described as an upper limit for the predefined flaky path range by way of example only. In other arrangements, the upper limit for the predefined flaky path range has a different value (e.g., 4000, 6000, and so on).
- the multipathing driver 30 may modify its operation of evaluating the IOs-Over-Period metric when the monotonically increasing instance numbers for IO requests 52 on the paths 60 wrap around. For example, the values of the instance numbers within the sorted lists 120 or the manner in which the differences are calculated can be adjusted to account for such wrap around.
- the depth of the sorted lists 120 is three in some embodiments. However, in other embodiments the depth is a different number (4, 5, etc.). Along these lines, deeper sorted lists 120 may take more resources to maintain and will affect how quickly the multipathing driver 30 responds to changes in conditions.
- the multipathing driver 30 was described by way of example as assigning monotonically increasing instance numbers as the IO requests 52 are issued from the multipathing driver 30 .
- the multipathing driver 30 assigns instance numbers as IO responses come back on the paths 60 .
- the list is naturally sorted thus alleviating the need to sort the list separately.
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)
- Computer Networks & Wireless Communication (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
-
- (i) SCSI read or write commands which failed on that
path 60 but which succeeded down anotherpath 60, or - (ii) SCSI inquiry commands which failed on that
path 60.
Making sure that, if theIO request 52 is a SCSI read or write command, the failed SCSI read or write command succeeds downother path 60 ensures that the sorted list reflects path-based failures and not malformed read/write IO requests 52 which cannot succeed on anypath 60.
- (i) SCSI read or write commands which failed on that
-
- perform remedial operation
Since the depth of the sorted list was described above as three, the average number of IOs per failure for each
-
- perform remedial operation
| Instance Number X: | IO (e.g., SCSI read or write) fails | |
| Instance Number X + 1: | IO (e.g., SCSI inquiry) fails | |
| Instance Number X + 2: | IO (e.g., SCSI inquiry) succeeds | |
| Instance Number X + 3: | IO (e.g., SCSI read or write) fails | |
| Instance Number X + 4: | IO (e.g., SCSI inquiry) fails | |
In particular, suppose that when a read or write
Claims (20)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/339,669 US8799608B1 (en) | 2011-12-29 | 2011-12-29 | Techniques involving flaky path detection |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/339,669 US8799608B1 (en) | 2011-12-29 | 2011-12-29 | Techniques involving flaky path detection |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US8799608B1 true US8799608B1 (en) | 2014-08-05 |
Family
ID=51229217
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US13/339,669 Active 2032-08-22 US8799608B1 (en) | 2011-12-29 | 2011-12-29 | Techniques involving flaky path detection |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US8799608B1 (en) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8977787B1 (en) * | 2012-06-28 | 2015-03-10 | Emc Corporation | Management of path operating mode transitions in multipathing host computer |
| US9716611B1 (en) * | 2013-05-29 | 2017-07-25 | EMC IP Holding Company LLC | Method and apparatus for enhancing link anomaly tolerance in a SCSI system |
| US10101945B1 (en) | 2013-05-29 | 2018-10-16 | EMC IP Holding Company LLC | Method and apparatus for enhancing command burst tolerance |
| US20190286353A1 (en) * | 2018-03-13 | 2019-09-19 | International Business Machines Corporation | Optimizing connectivity in a storage system data |
| US11630581B2 (en) | 2020-11-04 | 2023-04-18 | EMC IP Holding Company LLC | Host bus adaptor (HBA) virtualization awareness for effective input-output load balancing |
| US12086409B2 (en) | 2022-08-31 | 2024-09-10 | Pure Storage, Inc. | Optimizing data deletion in a storage system |
| US12210765B2 (en) | 2022-08-31 | 2025-01-28 | Pure Storage, Inc. | Optimizing data deletion settings in a storage system |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080288671A1 (en) * | 2007-05-16 | 2008-11-20 | Hitachi, Ltd. | Virtualization by multipath management software for a plurality of storage volumes |
| US20090271541A1 (en) * | 2004-11-04 | 2009-10-29 | Makoto Aoki | Information processing system and access method |
-
2011
- 2011-12-29 US US13/339,669 patent/US8799608B1/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090271541A1 (en) * | 2004-11-04 | 2009-10-29 | Makoto Aoki | Information processing system and access method |
| US20080288671A1 (en) * | 2007-05-16 | 2008-11-20 | Hitachi, Ltd. | Virtualization by multipath management software for a plurality of storage volumes |
Non-Patent Citations (2)
| Title |
|---|
| Symantec, "Veritas Volume Manager 5.0 MP1 known issues, Veritas Volume Manager know issues", http://sfdoccentral.symantec.com/sf/5.0MP3/solaris/html/sf-notes/ch01s09s03s02.htm, pp. 1-4. |
| Symantec, "Veritas Volume Manager 5.0 MP1 known issues, Veritas Volume Manager know issues", http://sfdoccentral.symantec.com/sf/5.0MP3/solaris/html/sf—notes/ch01s09s03s02.htm, pp. 1-4. |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8977787B1 (en) * | 2012-06-28 | 2015-03-10 | Emc Corporation | Management of path operating mode transitions in multipathing host computer |
| US9716611B1 (en) * | 2013-05-29 | 2017-07-25 | EMC IP Holding Company LLC | Method and apparatus for enhancing link anomaly tolerance in a SCSI system |
| US10101945B1 (en) | 2013-05-29 | 2018-10-16 | EMC IP Holding Company LLC | Method and apparatus for enhancing command burst tolerance |
| US20190286353A1 (en) * | 2018-03-13 | 2019-09-19 | International Business Machines Corporation | Optimizing connectivity in a storage system data |
| US10891064B2 (en) * | 2018-03-13 | 2021-01-12 | International Business Machines Corporation | Optimizing connectivity in a storage system data |
| US11630581B2 (en) | 2020-11-04 | 2023-04-18 | EMC IP Holding Company LLC | Host bus adaptor (HBA) virtualization awareness for effective input-output load balancing |
| US12086409B2 (en) | 2022-08-31 | 2024-09-10 | Pure Storage, Inc. | Optimizing data deletion in a storage system |
| US12210765B2 (en) | 2022-08-31 | 2025-01-28 | Pure Storage, Inc. | Optimizing data deletion settings in a storage system |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8799608B1 (en) | Techniques involving flaky path detection | |
| CN109783262B (en) | Fault data processing method, device, server and computer readable storage medium | |
| US11119874B2 (en) | Memory fault detection | |
| CN106354590A (en) | Method and apparatus for disk detection | |
| TWI571737B (en) | Software testing system, method and non-transient computer readable recording medium | |
| CN109165138B (en) | Method and device for monitoring equipment fault | |
| US8448025B2 (en) | Fault analysis apparatus, fault analysis method, and recording medium | |
| TWI759719B (en) | Flash memory controller and method used in flash memory controller | |
| US20070093986A1 (en) | Run-time performance verification system | |
| CN110134536B (en) | Data processing method, data processing device, and recording medium | |
| CN113688564A (en) | Method, device, terminal and storage medium for predicting remaining life of SSD (solid State disk) | |
| CN118711651B (en) | Solid state disk fault processing method, product, equipment and medium | |
| CN120564815B (en) | Storage device performance testing method and device, electronic device and storage medium | |
| JP5419819B2 (en) | Computer system management method and management system | |
| CN104239174A (en) | BMC (baseboard management controller) remote debugging system and method | |
| US20230136274A1 (en) | Ceph Media Failure and Remediation | |
| CN105933176A (en) | Method and device for detecting states of host | |
| CN120086049A (en) | Fault detection method, device, electronic device and storage medium | |
| US12204397B2 (en) | Fault diagnosis apparatus, non-transitory computer-readable recording medium, and fault diagnosis method | |
| CN119806875A (en) | Fault handling system, method and device, storage medium and electronic device | |
| CN118113508A (en) | Network card fault risk prediction method, device, equipment and medium | |
| CN102023916A (en) | Computer system detection method | |
| US10255128B2 (en) | Root cause candidate determination in multiple process systems | |
| CN115470053A (en) | Debugging control method, debugging control system, device and readable storage medium | |
| CN115391110A (en) | Test method of storage device, terminal device and computer readable storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: EMC CORPORATION, MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:RAIZEN, HELEN S.;BAPPE, MICHAEL E.;SANDSTROM, HAROLD M.;AND OTHERS;SIGNING DATES FROM 20120116 TO 20120130;REEL/FRAME:027680/0932 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| AS | Assignment |
Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT, TEXAS Free format text: SECURITY AGREEMENT;ASSIGNORS:ASAP SOFTWARE EXPRESS, INC.;AVENTAIL LLC;CREDANT TECHNOLOGIES, INC.;AND OTHERS;REEL/FRAME:040136/0001 Effective date: 20160907 Owner name: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT, NORTH CAROLINA Free format text: SECURITY AGREEMENT;ASSIGNORS:ASAP SOFTWARE EXPRESS, INC.;AVENTAIL LLC;CREDANT TECHNOLOGIES, INC.;AND OTHERS;REEL/FRAME:040134/0001 Effective date: 20160907 Owner name: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLAT Free format text: SECURITY AGREEMENT;ASSIGNORS:ASAP SOFTWARE EXPRESS, INC.;AVENTAIL LLC;CREDANT TECHNOLOGIES, INC.;AND OTHERS;REEL/FRAME:040134/0001 Effective date: 20160907 Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., A Free format text: SECURITY AGREEMENT;ASSIGNORS:ASAP SOFTWARE EXPRESS, INC.;AVENTAIL LLC;CREDANT TECHNOLOGIES, INC.;AND OTHERS;REEL/FRAME:040136/0001 Effective date: 20160907 |
|
| AS | Assignment |
Owner name: EMC IP HOLDING COMPANY LLC, MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:EMC CORPORATION;REEL/FRAME:040203/0001 Effective date: 20160906 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551) Year of fee payment: 4 |
|
| AS | Assignment |
Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., T Free format text: SECURITY AGREEMENT;ASSIGNORS:CREDANT TECHNOLOGIES, INC.;DELL INTERNATIONAL L.L.C.;DELL MARKETING L.P.;AND OTHERS;REEL/FRAME:049452/0223 Effective date: 20190320 Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., TEXAS Free format text: SECURITY AGREEMENT;ASSIGNORS:CREDANT TECHNOLOGIES, INC.;DELL INTERNATIONAL L.L.C.;DELL MARKETING L.P.;AND OTHERS;REEL/FRAME:049452/0223 Effective date: 20190320 |
|
| AS | Assignment |
Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., TEXAS Free format text: SECURITY AGREEMENT;ASSIGNORS:CREDANT TECHNOLOGIES INC.;DELL INTERNATIONAL L.L.C.;DELL MARKETING L.P.;AND OTHERS;REEL/FRAME:053546/0001 Effective date: 20200409 |
|
| AS | Assignment |
Owner name: WYSE TECHNOLOGY L.L.C., CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: SCALEIO LLC, MASSACHUSETTS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: MOZY, INC., WASHINGTON Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: MAGINATICS LLC, CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: FORCE10 NETWORKS, INC., CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: EMC IP HOLDING COMPANY LLC, TEXAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: EMC CORPORATION, MASSACHUSETTS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: DELL SYSTEMS CORPORATION, TEXAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: DELL SOFTWARE INC., CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: DELL PRODUCTS L.P., TEXAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: DELL MARKETING L.P., TEXAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: DELL INTERNATIONAL, L.L.C., TEXAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: DELL USA L.P., TEXAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: CREDANT TECHNOLOGIES, INC., TEXAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: AVENTAIL LLC, CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: ASAP SOFTWARE EXPRESS, INC., ILLINOIS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: ASAP SOFTWARE EXPRESS, INC., ILLINOIS Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: AVENTAIL LLC, CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: CREDANT TECHNOLOGIES, INC., TEXAS Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: DELL USA L.P., TEXAS Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: DELL INTERNATIONAL, L.L.C., TEXAS Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: DELL MARKETING L.P., TEXAS Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: DELL PRODUCTS L.P., TEXAS Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: DELL SOFTWARE INC., CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: DELL SYSTEMS CORPORATION, TEXAS Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: EMC CORPORATION, MASSACHUSETTS Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: EMC IP HOLDING COMPANY LLC, TEXAS Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: FORCE10 NETWORKS, INC., CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: MAGINATICS LLC, CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: MOZY, INC., WASHINGTON Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: SCALEIO LLC, MASSACHUSETTS Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 Owner name: WYSE TECHNOLOGY L.L.C., CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058216/0001 Effective date: 20211101 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
| AS | Assignment |
Owner name: SCALEIO LLC, MASSACHUSETTS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001 Effective date: 20220329 Owner name: EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.), TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001 Effective date: 20220329 Owner name: EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC), MASSACHUSETTS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001 Effective date: 20220329 Owner name: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.), TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001 Effective date: 20220329 Owner name: DELL PRODUCTS L.P., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001 Effective date: 20220329 Owner name: DELL INTERNATIONAL L.L.C., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001 Effective date: 20220329 Owner name: DELL USA L.P., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001 Effective date: 20220329 Owner name: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.), TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001 Effective date: 20220329 Owner name: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.), TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061324/0001 Effective date: 20220329 |
|
| AS | Assignment |
Owner name: SCALEIO LLC, MASSACHUSETTS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001 Effective date: 20220329 Owner name: EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.), TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001 Effective date: 20220329 Owner name: EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC), MASSACHUSETTS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001 Effective date: 20220329 Owner name: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.), TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001 Effective date: 20220329 Owner name: DELL PRODUCTS L.P., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001 Effective date: 20220329 Owner name: DELL INTERNATIONAL L.L.C., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001 Effective date: 20220329 Owner name: DELL USA L.P., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001 Effective date: 20220329 Owner name: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.), TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001 Effective date: 20220329 Owner name: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.), TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:061753/0001 Effective date: 20220329 |
|
| AS | Assignment |
Owner name: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.), TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:071642/0001 Effective date: 20220329 Owner name: DELL INTERNATIONAL L.L.C., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:071642/0001 Effective date: 20220329 Owner name: DELL PRODUCTS L.P., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:071642/0001 Effective date: 20220329 Owner name: DELL USA L.P., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:071642/0001 Effective date: 20220329 Owner name: EMC CORPORATION, MASSACHUSETTS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:071642/0001 Effective date: 20220329 Owner name: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.), TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:071642/0001 Effective date: 20220329 Owner name: EMC IP HOLDING COMPANY LLC, TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:071642/0001 Effective date: 20220329 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |