IP Library Granted Patent US 9,141,546
Granted Patent B2
US 9,141,546 · App. 13/682,781 · Granted Sep 22, 2015

System and method for managing transactions

Inventors: Adi Habusha (Moshav Alonee-Abba, IL); Gil Stoler (Nofit, IL); Said Bshara (Tira, IL); Nafea Bshara (San Jose, CA)
Assignee: Annapuma Labs Ltd.
G06F12/0831
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 9,141,546
App. No.
13/682,781
Granted
Sep 22, 2015
Kind
B2
Abstract

A method for writing data, the method may include: receiving or generating, by an interfacing module, a data unit coherent write request for performing a coherent write operation of a data unit to a first address; receiving, by the interfacing module and from a circuit that comprises a cache and a cache controller, a cache coherency indicator that indicates that a most updated version of the content stored at the first address is stored in the cache; and instructing, by the interfacing module, the cache controller to invalidate a cache line of the cache that stored the most updated version of the first address without sending the most updated version of the content stored at the first address from the cache to a memory module that differs from the cache if a length of the data unit equals a length of the cache line.

Claims (21)

1. A method for writing data, the method comprising: receiving or generating, by an interfacing module, a data unit coherent write request for performing a coherent write operation of a data unit to a first address; receiving, by the interfacing module and from a circuit that comprises a cache and a cache controller, a cache coherency indicator that indicates that a most updated version of the content stored at the first address is stored in the cache; and instructing, by the interfacing module, the cache controller to invalidate a cache line of the cache that stored the most updated version of the first address without sending the most updated version of the content stored at the first address from the cache to a memory module that differs from the cache if a length of the data unit equals a length of the cache line.

2. The method according to claim 1 , further comprising instructing the cache controller to send the content of the first address from the cache to the memory module and to invalidate the cache line of the cache that stored the most updated version of the first address if the length of the data unit equals a portion of a length of the cache line.

3. The method according to claim 1 , comprising receiving by the interfacing module the data unit coherent write request.

4. The method according to claim 1 , comprising generating by the interfacing module the data unit coherent write request.

5. The method according to claim 4 , comprising: receiving a data chunk coherent write request for performing a coherent write operation of a data chunk of a length that exceeds the length of the cache line; and converting the data chunk coherent write request to multiple data unit coherent write requests.

6. The method according to claim 1 , comprising performing, by an interconnect that is coupled between the cache controller and the interfacing module, a snoop transaction that involves invalidating the cache line of the cache that stored the most updated version of the content stored at the first address without sending the most updated version of the content stored at the first address from the cache to the memory module.

7. A method for writing data, the method comprising:

receiving or generating, by an interfacing module, a data unit coherent write request for performing a coherent write operation of a data unit;

receiving, by the interfacing module and from a circuit that comprises a cache controller and a cache, a cache coherency indicator that indicates that a most updated version of the data unit is stored in the cache; and

instructing, by the interfacing module, the processor to send the most updated version of the content stored at the first address from the cache to hierarchy memory module that differs from the cache and to invalidate a cache line of the cache that stored the most updated version of the content stored at the first address if a length of the data unit is shorter than a length of the cache line.

8. The method according to claim 7 , comprising instructing, by the interfacing module, the cache controller to invalidate the cache line of the cache that stored the most updated version of the content stored at the first address without sending the most updated version of the content stored at the first address from the cache to the memory module if the length of the data unit equals the length of the cache line.

9. The method according to claim 7 , comprising receiving by the interfacing module the data unit coherent write request.

10. The method according to claim 7 , comprising generating by the interfacing module the data unit coherent write request.

11. The method according to claim 10 , comprising: receiving a data chunk coherent write request for performing a coherent write operation of a data chunk of a length that exceeds the length of the cache line; and converting the data chunk coherent write request to multiple data unit coherent write requests.

12. A system, comprising an interfacing module that comprises: an input output (I/O) circuit and a transaction request processor that is coupled to the I/O circuit; wherein the I/O circuit is arranged to: receive a data unit coherent write request for performing a coherent write operation of a data unit; and receive a cache coherency indicator that indicates that a most updated version of the data unit is stored in a cache of a processor; and wherein the transaction request processor is arranged to receive the data unit coherent write request and the cache coherency indicator and to instruct the processor to invalidate a cache line of the cache that stored the most updated version of the content stored at the first address without sending the most updated version of the content stored at the first address from the cache to a memory module that differs from the cache if a length of the data unit equals a length of the cache line.

13. The system according to claim 12 , further comprising an interconnect that is coupled between the processor and the interfacing module.

14. The system according to claim 13 , wherein the interconnect is arranged to perform a snoop transaction that involves invalidating the cache line of the cache that stored the most updated version of the content stored at the first address without sending the most updated version of the content stored at the first address from the cache to the memory module.

15. The system according to claim 12 , further comprising a write compressor and a memory controller; wherein the memory controller is coupled to the memory module via a memory bus that is narrower than a width of an interconnect bus; wherein the write compressor is coupled between the interconnect bus and the memory controller; wherein the write compressor is arranged to: receive an information entity that comprises irrelevant bits and data, the data having a data length that does not exceed a width of the memory bus, and remove at least some of the irrelevant bits to provide a modified information entity that comprises the data and zero or more irrelevant bits.

16. The system according to claim 12 , wherein the interfacing module is arranged to instruct the processor to send the most updated version of the content stored at the first address from the cache to the memory module and to invalidate the cache line of the cache that stored the most updated version of the content stored at the first address if the length of the data unit equals a portion of the length of the cache line.

17. A system, comprising an interfacing module that comprises: an input output (I/O) circuit and a transaction request processor that is coupled to the I/O circuit; wherein the I/O circuit is arranged to: receive a data unit coherent write request for performing a coherent write operation of a data unit; and receive a cache coherency indicator that indicates that a most updated version of the data unit is stored in a cache of a processor; and wherein the transaction request processor is arranged to receive the data unit coherent write request and the cache coherency indicator from the I/O circuit and to instruct the processor to send the most updated version of the content stored at the first address from the cache to a memory module that differs from the cache and to invalidate a cache line of the cache that stored the most updated version of the content stored at the first address if a length of the data unit is shorter than a length of the cache line.

18. The system according to claim 17 , wherein the interfacing module is arranged to instruct the processor to invalidate the cache line of the cache that stored the most updated version of the content stored at the first address without sending the most updated version of the content stored at the first address from the cache to the memory module if the length of the data unit equals the length of the cache line.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2017
From: ANNAPURNA LABS LTD.
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 042934/0057 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2014
From: HABUSHA, ADI; STOLER, GIL; BSHARA, SAID; BSHARA, NAFEA
To: ANNAPURNA LABS LTD.
Reel/Frame 034536/0292 →
Continuity (1)
Related Publication 20140143487A1 · May 22, 2014