IP Library Granted Patent US 7,921,336
Granted Patent B1
US 7,921,336 · App. 12/038,413 · Granted Apr 5, 2011

System and method for avoiding categorizing potential link error events as actual link error events based on a proximity to a physical layer signal state change

Assignee: NetApp, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,921,336
App. No.
12/038,413
Granted
Apr 5, 2011
Kind
B1
Abstract

A system and method are provided for avoiding categorization of non-error events as actual error events. This is accomplished by categorizing potential error events as actual error events or non-error events based on a proximity to a physical layer signal state change. By this feature, the result of the categorization may be used to more effectively avoid categorizing non-error events and accompanying noise, etc., as actual error events. To this end, in various embodiments, more accurate error counting is afforded to preclude inadvertent disabling, etc. of a mass storage device or associated link that would otherwise result from a flawed error count.

Claims (39)

1. A method for being performed by expander logic to categorize potential error events associated with a storage device as actual error events and non-error events based on a physical layer signal state change associated with the storage device, comprising:

identifying a potential error event in association with at least one of a storage device and a link to a storage device;

identifying a physical layer signal state change in association with the at least one of the storage device and the link to the storage device;

determining if the potential error event occurred within a predetermined time of the physical layer signal state change for categorizing the potential error event as an actual error event or a non-error event, the predetermined time being stored in memory;

if it is determined that the potential error event occurred within the predetermined time of the physical layer signal state change, categorizing the potential error event as the non-error event;

if it is determined that the potential error event did not occur within the predetermined time of the physical layer signal state change, categorizing the potential error event as the actual error event; and

outputting a result of the categorization;

wherein determining if the potential error event occurred within the predetermined time of the physical layer signal state change includes comparing a first timestamp associated with the potential error event and a second timestamp associated with the physical layer signal state change, for determining a difference, and further comparing the difference to the predetermined time.

2. The method of claim 1 , wherein the predetermined time selected based on heuristics indicating a time period that avoids counting non-error events as error events.

3. The method of claim 1 , wherein the physical layer signal state change involves a PHY change event.

4. The method of claim 1 , wherein the physical layer signal state change indicates whether a PHY is ready.

5. The method of claim 1 , and further comprising filtering the non-error event to avoid categorizing the non-error event as an actual error event.

6. The method of claim 1 , wherein only a plurality of the actual error events is counted.

7. The method of claim 1 , wherein the result includes a tally of a plurality of the actual error events.

8. The method of claim 1 , wherein a plurality of different counters are used for counting actual error events of different types.

9. The method of claim 1 , and further comprising setting a state change flag in response to a change event occurring in a previous polling cycle, wherein the potential error event is further categorized based on the state change flag.

10. The method of claim 1 , and further comprising counting a number of change events, wherein the potential error event is further categorized based on the number of change events.

11. A method for being performed by expander logic to categorize potential error events associated with a storage device as actual error events and non-error events based on a state change associated with the storage device, comprising:

identifying potential error events in association with at least one of a storage device and a link to a storage device;

identifying a state change in association with the at least one of the storage device and the link to the storage device;

determining if the potential error events occurred within a predetermined time of the state change for categorizing the potential error event as an actual error event or a non-error event, the predetermined time being stored in memory;

if it is determined that the potential error events occurred within the predetermined time of the state change, categorizing the potential error events as non-error events;

if it is determined that the potential error events did not occur within the predetermined time of the state change, categorizing the potential error events as actual error events;

counting only the actual error events, thereby excluding the non-error events from a resulting error count; and

outputting a result based on the error count

wherein determining if the potential error events occurred within the predetermined time of the state change includes comparing a first timestamp associated with each of the potential error events and a second timestamp associated with the state change, for determining a difference, and further comparing the difference to the predetermined time.

12. The method of claim 11 , wherein the state change includes a physical layer signal state change.

13. The method of claim 11 , wherein the state change includes a loss of synchronization signal.

14. A system, comprising:

a storage device;

an expander coupled to the storage device via a link, the expander including logic for identifying potential error events in association with at least one of the storage device and the link to determine if the potential error events occurred within a predetermined time of a physical layer signal state change, the predetermined time being stored in memory, wherein, if it is determined that the potential error events occurred within the predetermined time of the physical layer signal state change, the logic categorizes the potential error events as non-error events; and if it is determined that the potential error events did not occur within the predetermined time of the physical layer signal state change, the logic categorizes the potential error events as actual error events; and

a counter in communication with the expander, the counter stored for counting only the actual error events, thereby excluding the non-error events from a resulting error count;

wherein determining if the potential error events occurred within the predetermined time of the physical layer signal state change includes comparing a first timestamp associated with each of the potential error events and a second timestamp associated with the physical layer signal state change, for determining a difference, and further comparing the difference to the predetermined time.

15. The system of claim 14 , wherein the physical layer signal state change involves a PHY change event.

16. The system of claim 14 , wherein the physical layer signal state change indicates whether a PHY is ready.

17. The system of claim 14 , wherein the non-error event is filtered to avoid categorizing the non-error event as an actual error event.

18. The system of claim 14 , wherein only a plurality of the actual error events is counted.

19. The system of claim 14 , wherein the result includes a tally of a plurality of the actual error events.

20. The system of claim 14 , wherein a plurality of different counters are used for counting actual error events of different types.

Assignments (2)
CHANGE OF NAME Recorded Dec 21, 2010
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 025541/0011 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2008
From: BOOTH, WAYNE; WANG, FENG
To: NETWORK APPLIANCE, INC.
Reel/Frame 020768/0956 →