IP Library Granted Patent US 7,028,131
Granted Patent B1
US 7,028,131 · App. 10/422,581 · Granted Apr 11, 2006

Reverse message writes and reads

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,028,131
App. No.
10/422,581
Granted
Apr 11, 2006
Kind
B1
Abstract

A system, method, software and firmware configured to write a message comprising a plurality of words into a memory, such that a last word of the message is written first at a first memory address and a first word of the message is written last at a memory address higher than the first memory address. The system may comprise two software applications sending messages to each other via a bus, such as a PCI bus.

Claims (35)

1. A computer system comprising a host processor and one or more memories, the one or more memories further comprising:

a first software application; and

a second software application, the first software application being configured to write a message in reverse order to a first memory from the one or more memories, such that a last word of the message is written first to a first memory address specifying a location in the first memory and a first word of the message is written last to a second memory address specifying a location in the first memory higher than the first memory address, the second software application being configured to read the message from the first word to the last word.

2. The system of claim 1 , wherein writing the first word last into the first memory notifies the second software application that the message is complete.

3. The system of claim 1 , wherein the first software application writes the message in a circular buffer in the first memory.

4. The system of claim 1 , further comprising a host bus adapter executing the first software application.

5. The system of claim 1 , further comprising a host bus adapter executing the second software application.

6. The system of claim 1 , wherein the host processor executes the first software application.

7. The system of claim 1 , wherein the host processor executes the second software application.

8. The system of claim 1 , wherein the message relates to a completion of a data transfer across a network.

9. The system of claim 1 , further comprising a Peripheral Component Interface (PCI) bus configured to transfer the message from the first software application to the first memory.

10. The system of claim 1 , further comprising a network interface card (NIC) executing at least one of the first software application or the second software application.

11. The system of claim 1 , further comprising a plug-in PCI card executing at least one of the first software application or the second software application.

12. The system of claim 1 , further comprising a disk controller executing at least one of the first software application or the second software application.

13. The system of claim 1 , further comprising a video card executing at least one of the first software application or the second software application.

14. The system of claim 1 , further comprising a graphics card executing at least one of the first software application or the second software application.

15. The system of claim 1 , further comprising an audio card executing at least one of the first software application or the second software application.

16. The system of claim 1 , further comprising:

an adapter executing at least one of the first software application or the second software application; and

a network coupled to the adapter.

17. A device comprising a device memory,

the device memory comprising a firmware application executable by a processor, and a message stored in reverse order so that the first word of the message has a higher memory address in the device memory than the last word of the message,

the firmware application being configured to store the message in reverse order in a destination memory such that a last word of the message is stored at a first memory address and a first word of the message is stored last at a memory address higher than the first memory address, the storing being performed without reversing the order of the message.

18. The device of claim 17 , further comprising a connection to a Peripheral Component Interface (PCI) bus, the device being configured to transfer messages to another firmware application via the bus.

19. The device of claim 17 , further comprising a connection to an Ethernet network.

20. The device of claim 17 , wherein the destination memory is comprised by a destination device, which is configured to read the message in normal order so that the destination device reads the first word of the message first and the last word of the message last.

21. A computer readable media comprising a firmware application executable by a processor, the firmware application being configured to:

copy a message comprising a plurality of words from a source memory into a destination memory, such that a in the source memory the message is stored in reverse order so that the first word of the message has a higher memory address in the device memory than the last word of the message and in the destination memory the message is stored in reverse order, so that a last word of the message is written first at a first memory address and a first word of the message is written last at a memory address higher than the first memory address.

22. A method comprising:

providing a message comprising a plurality of words a source memory, the message being stored in reverse order in the source memory so that the first word of the message has a higher memory address in the source memory than the last word of the message

copying the message in a destination memory in reverse order so that the last word of the message is written first at a first memory address and the first word of the message is written last at a memory address higher than the first memory address, the copying step being performed without reversing the order of the message.

23. The method of claim 22 , further comprising the step of reading the message.

24. The method of claim 23 , wherein writing the message comprises writing into a circular queue.

25. The method of claim 23 , further comprising determining when the message has been completely written into the memory by examining a message length field in the first word of the message.

26. The method of claim 22 further comprising reading the message from the destination memory in normal order so that the first word of the message stored at a higher memory address is read first and the last word of the message stored at a lower memory address is read last.

Assignments (8)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0702 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047422/0464 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2015
From: EMULEX CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 036942/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2014
From: EMULEX DESIGN AND MANUFACTURING CORPORATION
To: EMULEX CORPORATION
Reel/Frame 032087/0842 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2004
From: EMULEX CORPORATION
To: EMULEX DESIGN & MANUFACTURING CORPORATION
Reel/Frame 014486/0712 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2003
From: WILLIAMS, JAMES B.
To: EMULEX CORPORATION
Reel/Frame 014005/0119 →