Serial attached SCSI expander management and alarm reporting using SNMP
Summary by NHIP
SAS Expander Alarm Reporting
The Serial Attached SCSI expander receives failure indications from coupled storage devices and reports impending failures via Simple Network Management Protocol. It sends these alarm indicators through an Ethernet interface using TCP/IP, specifically utilizing SNMP trap messages generated by an onboard SNMP agent.
Claim Score by NHIP
Abstract
Disclosed is a Serial Attached SCSI (SAS) expander. The SAS expander is configured with an Ethernet interface and at least one SAS interface. The Ethernet interface is configured to communicate using TCP/IP protocol. The SAS expander is also configured to send an indicator of an alarm condition using Simple Network Management Protocol (SNMP). The indicator of the alarm condition is sent via the Ethernet interface. Configuration functions and status reads or writes of values stored in the SAS expander, or devices coupled to it may also be exchanged using SNMP.

Term
Projected expiry 6 March 2032.
- Priority and filed
- Granted
- Today
- Projected expiry
13 claims: 3 independent, 10 dependent
- 1Broadest claimClaim Score 52, average(NHIP)A Serial Attached SCSI (SAS) expander, comprising:a SAS interface, the SAS interface configured to receive an indication that a storage device coupled to the SAS expander is about to fail;an Ethernet interface configured to communicate using TCP/IP protocol, the SAS expander configured to receive a Simple Network Management Protocol (SNMP) get message that includes an object identifier that causes the SAS expander to retrieve said SAS expanders vendor identification string and send said vendor identification string via a SNMP get response message, the SAS expander further configured to send an indicator of an alarm condition using Simple Network Management Protocol (SNMP), said indicator of said alarm condition to be sent via said Ethernet interface, said indicator of said alarm condition indicating, for said storage device coupled to the SAS expander, an impending failure of the storage device.
- 6A method of reporting an alarm condition associated with a Serial Attached SCSI (SAS) expander, comprising:receiving, via an Ethernet interface of said SAS expander, a Simple Network Management Protocol (SNMP) get message that includes an object identifier that causes the SAS expander to retrieve said SAS expanders vendor identification string and send said vendor identification string via a SNMP get response message;receiving, via a SAS interface of said SAS expander, an indicator from a storage device coupled to said SAS expander that said storage device is about to fail;and, sending an alarm indicator using Simple Network Management Protocol (SNMP), said indicator of said alarm condition to be sent via said Ethernet interface of said SAS expander, said alarm indicator indicating, for said storage device coupled to the SAS expander, an impending failure of the storage device.
- 10A non-transitory computer readable medium having instructions stored thereon for reporting an alarm condition associated with a Serial Attached SCSI (SAS) expander that, when executed by a computer, at least instruct the computer to:receive, via an Ethernet interface of said SAS expander, a Simple Network Management Protocol (SNMP) get message that includes an object identifier that causes the SAS expander to retrieve said SAS expanders vendor identification string and send said vendor identification string via a SNMP get response message;receive, via a SAS interface of said SAS expander, an indicator, said indicator indicating, for a storage device coupled to the SAS expander, an impending failure of the storage device;and, send an alarm indicator using Simple Network Management Protocol (SNMP), said alarm indicator to be sent via an Ethernet interface of said SAS expander, said alarm indicator indicating, for said storage device, an impending failure of the storage device.
Independent claims3
29 paragraphs in 4 sections, as filed
BACKGROUND OF THE INVENTION
p-0002Mass storage systems continue to provide increased storage capacities to satisfy user demands. Photo and movie storage, and photo and movie sharing are examples of applications that fuel the growth in demand for larger and larger storage systems.
p-0003A solution to these increasing demands is the use of arrays of multiple inexpensive disks. These arrays may be configured in ways that provide redundancy and error recovery without any loss of data. These arrays may also be configured to increase read and write performance by allowing data to be read or written simultaneously to multiple disk drives. These arrays may also be configured to allow “hot-swapping” which allows a failed disk to be replaced without interrupting the storage services of the array. Whether or not any redundancy is provided, these arrays are commonly referred to as redundant arrays of independent disks (or more commonly by the acronym RAID). The 1987 publication by David A. Patterson, et al., from the University of California at Berkeley titled “A Case for Redundant Arrays of Inexpensive Disks (RAID)” discusses the fundamental concepts and levels of RAID technology.
p-0004RAID storage systems typically utilize a controller that shields the user or host system from the details of managing the storage array. The controller makes the storage array appear as one or more disk drives (or volumes). This is accomplished in spite of the fact that the data (or redundant data) for a particular volume may be spread across multiple disk drives.
SUMMARY OF THE INVENTION
p-0005An embodiment of the invention may therefore comprise a Serial Attached SCSI (SAS) expander, comprising: an Ethernet interface configured to communicate using TCP/IP protocol, the SAS expander configured to send an indicator of an alarm condition using Simple Network Management Protocol (SNMP), said indicator of said alarm condition to be sent via said Ethernet interface; and, at least one SAS interface.
p-0006An embodiment of the invention may therefore further comprise a method of reporting an alarm condition associated with a Serial Attached SCSI (SAS) expander, comprising: receiving an alarm indicator; and, sending an indicator of said alarm using Simple Network Management Protocol (SNMP), said indicator of said alarm condition to be sent via an Ethernet interface of said SAS expander.
BRIEF DESCRIPTION OF THE DRAWINGS
p-0007<figref idrefs="DRAWINGS">FIG. 1</figref> is a block diagram of a storage management system.
p-0008<figref idrefs="DRAWINGS">FIG. 2</figref> is a flowchart of a method of managing a storage system.
p-0009<figref idrefs="DRAWINGS">FIG. 3</figref> is a flow diagram illustrating the fetching of a Vendor ID string from a serial attached SCSI (SAS) expander.
p-0010<figref idrefs="DRAWINGS">FIG. 4</figref> is a flow diagram illustrating the setting of a password on a SAS expander.
p-0011<figref idrefs="DRAWINGS">FIG. 5</figref> is a flow diagram illustrating the disabling of a SAS expander physical interface (PHY).
p-0012<figref idrefs="DRAWINGS">FIG. 6</figref> is a block diagram of a computer system.
DETAILED DESCRIPTION OF THE EMBODIMENTS
p-0013<figref idrefs="DRAWINGS">FIG. 1</figref> is a block diagram of a storage management system. In <figref idrefs="DRAWINGS">FIG. 1</figref>, storage management system <b>100</b> comprises computer <b>110</b>, network <b>120</b>, and storage system <b>140</b>. Storage system <b>140</b> includes, but is not limited to, SAS expander <b>150</b> and disk drives <b>130</b>-<b>132</b>. Computer <b>110</b> is operatively coupled to network <b>120</b>. SAS expander <b>150</b> is operatively coupled to network <b>120</b>. Disk drives <b>130</b>-<b>132</b> are operatively coupled to SAS expander <b>150</b>. Thus, computer <b>110</b> may be operatively coupled to SAS expander <b>150</b> and/or disk drives <b>130</b>-<b>132</b> via network <b>120</b>.
p-0014Network <b>120</b> may be any network or collection of networks that couple, link, or otherwise operatively connect computer <b>110</b> with other devices or systems and is also operatively coupled to storage system <b>140</b> and SAS expander <b>150</b>. Network <b>120</b> may include other secondary data networks. In an example, network <b>120</b> may include a backhaul network, a local network, a long distance network, a packet network, the Internet, or any combination thereof, as well as other types of networks.
p-0015In an embodiment, SAS expander <b>150</b> includes an Ethernet interface to communicate with network <b>120</b>. SAS expander <b>150</b> may support TCP/IP protocol in order to communicate with network <b>120</b>. SAS expander <b>150</b> may also support performing tasks using the SAS Serial Management Protocol (SMP). In particular, SAS expander <b>150</b> may be configured to perform SMP tasks and activities in response to messages received or sent using SNMP protocol. These tasks and activities may be performed in response to SNMP messages received from computer <b>110</b> via network <b>120</b>.
p-0016SNMP is a protocol for managing devices in a network. An SNMP managed device (in managed storage system <b>100</b>, this includes but is not limited to, SAS expander <b>150</b>) runs an SNMP agent. An SNMP agent which is typically a software module or task which listens for SNMP requests coming from a managing node (in managed storage system <b>100</b>, this includes, but is not limited to computer <b>110</b>).
p-0017To be SNMP managed, SAS expander <b>150</b> defines a Management Information Base (MIB). A MIB is a collection of unique object identifiers (called OIDs) which identify an attribute of a managed device. For example, an attribute could be a data store (e.g., a Vendor Identification string of SAS Expander <b>150</b>). In another example, an OID can be a logical entity which identifies a functionality (e.g., an OID can be used to cause SAS expander <b>150</b> to reset). The MIB can be visualized as a tree structure which should be shared between the manager (computer <b>110</b>) and the agent. Both the manager and agent should be able to understand the MIB tree in the same manner. However, the manager typically has a larger MIB tree because it may manage many other devices. Once the MIB is defined, the SAS expander <b>150</b> can be managed using SNMP primitives. In particular, SAS expander <b>150</b> can be managed using, but not limited to, the SNMP-GET and SNMP-SET primitives.
p-0018In an embodiment, SAS expander <b>150</b> may receive an indicator of an alarm condition. This alarm condition may be received via a SAS interface from a disk drive <b>130</b>-<b>132</b>. The alarm condition may be generated internally to SAS expander <b>150</b>. For example, SAS expander <b>150</b> may detect an over-temperature condition using an internal sensor. This condition may be reported to computer <b>110</b> using SNMP protocol via network <b>120</b>. Other conditions, internally stored values, registers, and the like may be set or reported by SAS expander <b>150</b> to computer <b>110</b> using SNMP protocol. Alarm conditions may be reported to computer <b>110</b> using a SNMP trap message. SAS expander <b>150</b> may be configured to only report certain, predetermined alarm conditions.
p-0019By having SAS expander <b>150</b> configured to quickly report any alarming conditions which occur on SAS expander <b>150</b> (or are reported to SAS expander <b>150</b>) to computer <b>110</b>, it allows a system administrator to take quick action. Taking quick action may avoid potentially large financial consequences or losses.
p-0020<figref idrefs="DRAWINGS">FIG. 2</figref> is a flowchart of a method of managing a storage system. The steps illustrated in <figref idrefs="DRAWINGS">FIG. 2</figref> may be performed by one or more elements of managed storage system <b>100</b>. A configuration message is received using SNMP protocol (<b>202</b>). For example, SAS expander <b>150</b> may receive a configuration message using SNMP protocol via an Ethernet interface coupled to network <b>120</b>. This configuration message may have been sent from computer <b>110</b> using SNMP protocol. This configuration message may have the form of an SNMP SET message. A response to the configuration message is sent (<b>204</b>). For example, SAS expander <b>150</b> may send a response message (e.g., success or fail) associated with the received configuration message via its Ethernet interface which is coupled to network <b>120</b>. This response message may have the form of an SNMP SET response message.
p-0021An alarm indicator is received (<b>206</b>). For example, SAS expander <b>150</b> may receive an indicator showing that an over-temperature condition exists. In another example, SAS expander <b>150</b> may receive, via a SAS interface, and indication that one of disk drives <b>130</b>-<b>132</b> is about to fail, or has failed. An indicator of the alarm is sent using SNMP protocol (<b>208</b>). For example, SAS expander <b>150</b> may generate an SNMP trap message to inform computer <b>110</b> of the alarm indication. It should be understood that the steps shown in <figref idrefs="DRAWINGS">FIG. 2</figref> are independent of each other. In particular, steps <b>202</b> and <b>204</b> may be performed without performing steps <b>206</b> and <b>208</b>, and visa versa.
p-0022<figref idrefs="DRAWINGS">FIG. 3</figref> is a flow diagram illustrating the fetching of a Vendor ID string from a serial attached SCSI (SAS) expander. A network manager running on computer <b>110</b> sends an SNMP GET message to an SNMP agent running of SAS expander <b>150</b>. The SNMP GET message may include an OID to retrieve SAS expander <b>150</b>'s Vendor identification. In response, the SNMP agent calls a SNMP service application programming interface (API) to return the vendor identification of SAS expander <b>150</b> (e.g., GetVendorID( )). In response, the SNMP service API returns the requested vendor ID string. In response, the SNMP agent sends an SNMP GET response message with the vendor ID string of SAS expander <b>150</b> to the network manager running on computer <b>110</b>.
p-0023<figref idrefs="DRAWINGS">FIG. 4</figref> is a flow diagram illustrating the setting of a password on a SAS expander. A network manager running on computer <b>110</b> sends an SNMP SET message to an SNMP agent running of SAS expander <b>150</b>. The SNMP SET message may include an OID to set a password and a password string. In response, the SNMP agent calls the SNMP service API to set a password of SAS expander <b>150</b> (e.g., SetZoneMgrPassword(“password”)). In response, the SNMP service API returns an indication of the success (or failure) of the API call. In response, the SNMP agent sends an SNMP SET response message indicating the success (or failure) of the SNMP SET request to the network manager running on computer <b>110</b>.
p-0024<figref idrefs="DRAWINGS">FIG. 5</figref> is a flow diagram illustrating the disabling of a SAS expander physical interface (PHY). A network manager running on computer <b>110</b> sends an SNMP SET message to an SNMP agent running of SAS expander <b>150</b>. The SNMP SET message may include an OID to disable a physical interface and an identifier associated with that interface. In response, the SNMP agent calls the SNMP service API to disable a physical interface of SAS expander <b>150</b> (e.g., DisablePhy(PhyID)). In response, the SNMP service API returns an indication of the success (or failure) of the API call. In response, the SNMP agent sends an SNMP SET response message indicating the success (or failure) of the SNMP SET request to the network manager running on computer <b>110</b>.
p-0025The systems, software, computers, expanders, networks, and functions described above may be implemented with or executed by one or more computer systems. The methods described above may be stored on a computer readable medium. Many of the elements of managed storage system <b>100</b> may be, comprise, or include computers systems. This includes, but is not limited to computer <b>110</b>, network <b>120</b>, storage system <b>140</b>, SAS expander <b>150</b>, and disk drives <b>130</b>-<b>132</b>.
p-0026<figref idrefs="DRAWINGS">FIG. 6</figref> illustrates a block diagram of a computer system. Computer system <b>600</b> includes communication interface <b>620</b>, processing system <b>630</b>, storage system <b>640</b>, and user interface <b>660</b>. Processing system <b>630</b> is operatively coupled to storage system <b>640</b>. Storage system <b>640</b> stores software <b>650</b> and data <b>670</b>. Processing system <b>630</b> is operatively coupled to communication interface <b>620</b> and user interface <b>660</b>. Computer system <b>600</b> may comprise a programmed general-purpose computer. Computer system <b>600</b> may include a microprocessor. Computer system <b>600</b> may comprise programmable or special purpose circuitry. Computer system <b>600</b> may be distributed among multiple devices, processors, storage, and/or interfaces that together comprise elements <b>620</b>-<b>670</b>.
p-0027Communication interface <b>620</b> may comprise a network interface, modem, port, bus, link, transceiver, or other communication device. Communication interface <b>620</b> may be distributed among multiple communication devices. Processing system <b>630</b> may comprise a microprocessor, microcontroller, logic circuit, or other processing device. Processing system <b>630</b> may be distributed among multiple processing devices. User interface <b>660</b> may comprise a keyboard, mouse, voice recognition interface, microphone and speakers, graphical display, touch screen, or other type of user interface device. User interface <b>660</b> may be distributed among multiple interface devices. Storage system <b>640</b> may comprise a disk, tape, integrated circuit, RAM, ROM, network storage, server, or other memory function. Storage system <b>640</b> may be a computer readable medium. Storage system <b>640</b> may be distributed among multiple memory devices.
p-0028Processing system <b>630</b> retrieves and executes software <b>650</b> from storage system <b>640</b>. Processing system may retrieve and store data <b>670</b>. Processing system may also retrieve and store data via communication interface <b>620</b>. Processing system <b>630</b> may create or modify software <b>650</b> or data <b>670</b> to achieve a tangible result. Processing system may control communication interface <b>620</b> or user interface <b>660</b> to achieve a tangible result. Processing system may retrieve and execute remotely stored software via communication interface <b>620</b>.
p-0029Software <b>650</b> and remotely stored software may comprise an operating system, utilities, drivers, networking software, and other software typically executed by a computer system. Software <b>650</b> may comprise an application program, applet, firmware, or other form of machine-readable processing instructions typically executed by a computer system. When executed by processing system <b>630</b>, software <b>650</b> or remotely stored software may direct computer system <b>600</b> to operate as described herein.
p-0030The foregoing description of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and other modifications and variations may be possible in light of the above teachings. The embodiment was chosen and described in order to best explain the principles of the invention and its practical application to thereby enable others skilled in the art to best utilize the invention in various embodiments and various modifications as are suited to the particular use contemplated. It is intended that the appended claims be construed to include other alternative embodiments of the invention except insofar as limited by the prior art.
Contents4
7 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| CN104579463A | Cited by | China | Search report |
| TWI569134B | Cited by | Taiwan Province of China | Examiner |
| US2006236198A1 | Cites | United States of America | Search report |
| US2007064623A1 | Cites | United States of America | Search report |
| US2007299952A1 | Cites | United States of America | Search report |
| US2009125655A1 | Cites | United States of America | Search report |
| US2010077075A1 | Cites | United States of America | Search report |
| US2011145452A1 | Cites | United States of America | Search report |
| US2011231571A1 | Cites | United States of America | Search report |
| US7194538B1 | Cites | United States of America | Search report |
| US7644168B2 | Cites | United States of America | Search report |
| US7711989B2 | Cites | United States of America | Search report |
| US8024773B2 | Cites | United States of America | Search report |
| US8051334B2 | Cites | United States of America | Search report |
| US8552839B2 | Cites | United States of America | Search report |
| US8667110B2 | Cites | United States of America | Search report |
2 members in 1 office; this record represents the family
Members2
| Document | Office | Kind | |
|---|---|---|---|
| US2012239843A1 | United States of America | A1 | |
| US8775609B2This record | United States of America | B2 |
46 transactions on the USPTO file
Allowed after 1 non-final rejection, 1 final rejection and 1 RCE.
- Non-final rejections
- 1
- Final rejections
- 1
- RCEs
- 1
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Expire PatentEXP. | EXP. | |
| Maintenance Fee Reminder MailedREM. | REM. | |
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Payment of Maintenance Fee, 4th Year, Large EntityM1551 | M1551 | |
| Correspondence Address ChangeC.ADB | C.ADB | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Reasons for AllowanceEX.R | EX.R | |
| Examiner's Amendment CommunicationEX.A | EX.A | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Mail Advisory Action (PTOL - 303)MCTAV | MCTAV | |
| Advisory Action (PTOL-303)CTAV | CTAV | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Final ActionA.NE | A.NE | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Transfer Inquiry to GAUTI1050 | TI1050 | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Sent to Classification ContractorPGPC | PGPC | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
15 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapse for failure to pay maintenance feesLapsedPATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYLAPS | LAPS | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Fee payment procedureMAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 08775609
- Application
- 13048971
Titles
- English
- Serial attached SCSI expander management and alarm reporting using SNMP
Patent term adjustment
- A delay
- +356 daysthe office missed an examination deadline
- Net adjustment
- 356 days
Classification
- CPC, 4
- G06F3/0605
- G06F3/0614
- G06F3/0653
- G06F3/067
- IPC, 1
- G06F15 16