IP Library Granted Patent US 6,957,312
Granted Patent B1
US 6,957,312 · App. 10/431,995 · Granted Oct 18, 2005

NVRAM control protocol

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 6,957,312
App. No.
10/431,995
Granted
Oct 18, 2005
Kind
B1
Abstract

In one embodiment, a method for facilitating detection of, and recovery from, data contamination in a non-volatile storage device coupled to an interconnect device includes receiving data to be written to a content area on a non-volatile storage device coupled to an interconnect device, updating a contamination indicator stored in a supplemental area of the non-volatile storage device with a first value indicating potential data contamination in the content area, and transferring the data to the non-volatile storage device for a write to the content area. Further, if a determination is made that the write of the transferred data has completed, the contamination indicator is updated with a second value indicating lack of data contamination in the content area.

Claims (80)

1. A method comprising:

receiving data to be written to a content area in a non-volatile storage device;

updating a contamination indicator stored in a supplemental area of the non-volatile storage device with a first value indicating potential data contamination in the content area;

transferring the data to the non-volatile storage device for a write to the content area; and

updating the contamination indicator with a second value indicating lack of data contamination in the content area if determining that the write of the transferred data has completed.

2. The method of claim 1 wherein the non-volatile storage device is a non-volatile random access memory (NVRAM).

3. The method of claim 1 wherein the content area stores at least one of authentication data pertaining to an interconnect device coupled to the non-volatile storage device and configuration information pertaining to the interconnect device.

4. The method of claim 1 further comprising:

prior to setting the contamination indicator to the first value, issuing a request to write the received data to a pre-write area in the supplemental area in the non-volatile storage device and determining that the write to the pre-write area has completed.

5. The method of claim 4 wherein the pre-write area and the contamination indicator are part of an active update control region within the supplemental area, the active update control region being one of a plurality of update control regions within the supplemental area.

6. The method of claim 5 further comprising:

determining which one of the plurality of update control regions is the active update control region using an active update control region pointer.

7. The method of claim 6 further comprising:

determining that an update counter associated with the active update control region exceeds a predefined threshold; and

updating the active update control region pointer to point to a next update control region.

8. The method of claim 1 wherein:

a size of the data is larger than a width of a bus connecting the non-volatile storage device and an interconnect device; and

the data is transferred to the interconnect device for the write to the content area in two or more cycles.

9. The method of claim 1 further comprising:

receiving a request for data stored in the content area; and

determining whether the requested data is likely to be contaminated based on a current value of the contamination indicator.

10. A method comprising:

receiving a request for data stored in a content area of a non-volatile storage device;

determining whether the requested data is contaminated based on a current value of a contamination indicator stored in a supplemental area of the non-volatile storage device; and

retrieving the requested data from the content area if the requested data is not contaminated.

11. The method of claim 10 wherein the non-volatile storage device is a non-volatile random access memory (NVRAM).

12. The method of claim 10 wherein the content area stores at least one of authentication data pertaining to the interconnect device and configuration information pertaining to the interconnect device.

13. The method of claim 10 wherein the request for the requested data is received during initialization of the interconnect device.

14. The method of claim 10 further comprising:

determining that the requested data is likely to be contaminated;

reading data from a pre-write area in the supplemental area of the non-volatile storage device;

writing the read data to the content area of the non-volatile storage device; and

retrieving the requested data from the content area of the non-volatile storage device.

15. The method of claim 14 wherein the pre-write area and the contamination indicator are part of an active update control region within the supplemental area of the non-volatile storage device, the active update control region being one of a plurality of update control regions within the supplemental area.

16. The method of claim 15 further comprising:

determining which one of the plurality of update control regions is the active update control region using an active update control region pointer.

17. A system comprising:

a non-volatile storage device including a content area to store data associated with an interconnect device and a supplemental area to store a contamination indicator specifying whether the data in the content area is likely to be contaminated; and

a port of the interconnect device, coupled to the non-volatile storage device via a bus, the port including an interface controller to receive data to be written to the content area, to update the contamination indicator with a first value indicating potential data contamination in the content area, to transfer the data to the non-volatile storage device for a write to the content area, and to update the contamination indicator with a second value indicating lack of data contamination in the content area if determining that the write to the content area has completed.

18. The system of claim 17 wherein:

a size of the data to be written to the content area is larger than a width of the bus; and

the data is transferred to the non-volatile storage device for the write to the content area in two or more cycles.

19. The system of claim 17 wherein the port is a management port.

20. The system of claim 19 wherein:

the non-volatile storage device is a non-volatile random access memory (NVRAM); and

the bus is an Inter-IC (I2C) bus.

21. The system of claim 19 wherein:

the non-volatile storage device is part of a processor subsystem; and

the bus is a processor bus.

22. The system of claim 17 wherein the content area stores at least one of authentication data pertaining to the interconnect device and configuration information pertaining to the interconnect device.

23. The system of claim 17 wherein the supplemental area comprises an active update control region containing the contamination indicator and a pre-write area.

24. The system of claim 23 wherein the interface controller is to update the contamination indicator with the first value after requesting a write of the data to the pre-write area and determining that the write to the pre-write area has completed.

25. The system of claim 23 wherein the supplemental area further includes one or more inactive update control regions and a pointer to the active update control region.

26. The system of claim 25 wherein the interface controller is to determine which one of a plurality of update control regions is the active update control region using the active update control region pointer.

27. The system of claim 26 wherein the interface controller is to designate a new active update control region upon determining that an update counter associated with the current active update control region exceeds a predefined threshold, and to update the active update control region pointer to point to the new active update control region.

28. The system of claim 17 wherein the interface controller is further to receive a request for data stored in the content area, and to determine whether the requested data is likely to be contaminated based on a current value of the contamination indicator.

29. A system comprising:

a non-volatile storage device including a content area to store data associated with an interconnect device and a supplemental area to store a contamination indicator specifying whether the data in the content area is likely to be contaminated; and

a port of the interconnect device, coupled to the non-volatile storage device via a bus, the port including an interface controller to receive a request for data stored in the content area, to determine whether the requested data is contaminated based on a current value of the contamination indicator, and to retrieve the requested data from the content area if the requested data is not contaminated.

30. The apparatus of claim 29 wherein the non-volatile storage device is a non-volatile random access memory (NVRAM).

31. The apparatus of claim 29 wherein the content area stores at least one of authentication data pertaining to the interconnect device and configuration information pertaining to the interconnect device.

32. The apparatus of claim 29 wherein the request for the data is received during initialization of the interconnect device.

33. The apparatus of claim 29 wherein the interface controller is further to determine that the requested data is likely to be contaminated, to read data from a pre-write area in the supplemental area of the non-volatile storage device, to write the read data to the content area, and to retrieve the requested data from the content area.

34. The apparatus of claim 33 wherein the pre-write area and the contamination indicator are part of an active update control region within the supplemental area, the active update control region being one of a plurality of update control regions within the supplemental area.

35. The apparatus of claim 34 wherein the interface controller is further to determine which one of the plurality of update control regions is the active update control region using an active update control region pointer.

36. A system comprising:

means for receiving data to be written to a content area in a non-volatile storage device;

means for updating a contamination indicator stored in a supplemental area of the non-volatile storage device with a first value indicating potential data contamination in the content area;

means for transferring the data to the non-volatile storage device for a write to the content area; and

means for updating the contamination indicator with a second value indicating lack of data contamination in the content area if determining that the write of the transferred data has completed.

37. A system comprising:

means for receiving a request for data stored in a content area of a non-volatile storage device;

means for determining whether the requested data is contaminated based on a current value of a contamination indicator stored in a supplemental area of the non-volatile storage device; and

means for retrieving the requested data from the content area if the requested data is not contaminated.

38. A machine-readable medium storing a description of a circuit, said circuit comprising:

a sub-network management agent (SMA) to request an update pertaining to a non-volatile storage device including a content area to store data associated with an interconnect device and a supplemental area to store a contamination indicator specifying whether the data in the content area is likely to be contaminated; and

an interface controller, coupled to the SMA, to receive data to be written to the content area from the SMA, to update the contamination indicator with a first value indicating potential data contamination in the content area, to transfer the data to the non-volatile storage device for a write to the content area, and to update the contamination indicator with a second value indicating lack of data contamination in the content area if determining that the write to the content area has completed.

39. A machine-readable medium storing a description of a circuit, said circuit comprising:

an initialization agent to issue a request for data stored in a content area of a non-volatile storage device that also includes a supplemental area to store a contamination indicator specifying whether the data in the content area is likely to be contaminated; and

an interface controller, coupled to the initialization agent, to receive the request from the initialization agent, to determine whether the requested data is contaminated based on a current value of the contamination indicator, and to retrieve the requested data from the content area if the requested data is not contaminated.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 017207 FRAME 0020. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 6, 2016
From: AGILENT TECHNOLOGIES, INC.
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 038633/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2006
From: AGILENT TECHNOLOGIES, INC.
To: AVAGO TECHNOLOGIES GENERAL IP PTE. LTD.
Reel/Frame 017207/0020 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2003
From: REDSWITCH, INC., A WHOLLY OWNED SUBSIDIARY OF AGILENT TECHNOLOGIES INC.
To: AGILENT TECHNOLOGIES, INC.
Reel/Frame 014089/0038 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 17, 2003
From: CHOU, NORMAN C.; VAJJHAIA, PRASAD; BOURKE, DANIEL
To: AGILENT TECHNOLOGIES, INC.
Reel/Frame 014056/0492 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2003
From: CHOU, NORMAN; VAJJHALA, PRASAD; BOURKE, DANIEL
To: REDSWITCH, INC.
Reel/Frame 014061/0991 →