Method and apparatus for reducing TLB shootdown overheads in accelerator-based systems
US-10282308-B2 · May 7, 2019 · US
US10942879B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10942879-B2 |
| Application number | US-202016886656-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 28, 2020 |
| Priority date | Dec 17, 2018 |
| Publication date | Mar 9, 2021 |
| Grant date | Mar 9, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A first operation identifier is assigned to a current operation directed to a memory component, the first operation identifier having a first entry in a first data structure that associates the first operation identifier with a first buffer identifier. It is determined whether the current operation collides with a prior operation assigned a second operation identifier, the second operation identifier having a second entry in the first data structure that associates the second operation identifier with a second buffer identifier. A latest flag is updated to indicate that the first entry is a latest operation directed to an address (1) in response to determining that the current operation collides with the prior operation and that the current and prior operations are read operations, or (2) in response to determining to determining that the current operation does not collide with a prior operation.
Opening claim text (preview).
What is claimed is: 1. A method comprising: assigning a first operation identifier to a current operation directed to a memory component, the first operation identifier having a first entry in a first data structure that associates the first operation identifier with a first buffer identifier; determining whether the current operation collides with a prior operation assigned a second operation identifier, the second operation identifier having a second entry in the first data structure that associates the second operation identifier with a second buffer identifier; and updating a latest flag to indicate that the first entry is a latest operation directed to an address, wherein the latest flag is updated: (1) in response to determining that the current operation collides with the prior operation and that the current and prior operations are read operations, or (2) in response to determining that the current operation does not collide with a prior operation. 2. The method of claim 1 , wherein the determining whether the current operation collides with the prior operation comprises checking a second data structure for an entry that has an address value that matches the address to which the current operation is directed. 3. The method of claim 1 , further comprising incrementing a counter associated with the first buffer identifier. 4. The method of claim 1 , wherein the first data structure is stored in a memory outside of the memory component. 5. The method of claim 1 , further comprising: assigning a third operation identifier to a subsequent operation directed to a memory component, the third operation identifier having a third entry in the first data structure that associates the third operation identifier with a third buffer identifier; and updating, in response to determining that the subsequent operation collides with the current operation and that the subsequent operation is a read operation, the third buffer identifier to include the first buffer identifier associated with the current operation. 6. The method of claim 5 , wherein the updating comprises replacing the third buffer identifier with the first buffer identifier. 7. The method of claim 5 , further comprising: determining that the current operation is a read operation; and updating, in response to determining that the subsequent operation collides with the current operation and that the current operation is a read operation, the first entry in the first data structure associated with the first operation identifier to identify the third operation identifier. 8. A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to: assign a first operation identifier to a current operation directed to a memory component, the first operation identifier having a first entry in a first data structure that associates the first operation identifier with a first buffer identifier; determine whether the current operation collides with a prior operation assigned a second operation identifier, the second operation identifier having a second entry in the first data structure that associates the second operation identifier with a second buffer identifier; and update a latest flag to indicate that the first entry is a latest operation directed to an address, wherein the latest flag is updated: (1) in response to determining that the current operation collides with the prior operation and that the current and prior operations are read operations, or (2) in response to determining that the current operation does not collide with a prior operation. 9. The non-transitory computer-readable storage medium of claim 8 , wherein the determining whether the current operation collides with the prior operation comprises checking a second data structure for an entry that has an address value that matches the address to which the current operation is directed. 10. The non-transitory computer-readable storage medium of claim 8 , wherein the processing device is further to increment a counter associated with the first buffer identifier. 11. The non-transitory computer-readable storage medium of claim 8 , wherein the first data structure is stored in a memory outside of the memory component. 12. The non-transitory computer-readable storage medium of claim 8 , wherein the processing device is further to: assign a third operation identifier to a subsequent operation directed to a memory component, the third operation identifier having a third entry in the first data structure that associates the third operation identifier with a third buffer identifier; and update, in response to determining that the subsequent operation collides with the current operation and that the subsequent operation is a read operation, the third buffer identifier to include the first buffer identifier associated with the current operation. 13. The non-transitory computer-readable storage medium of claim 12 , wherein the updating comprises replacing the third buffer identifier with the first buffer identifier. 14. The non-transitory computer-readable storage medium of claim 12 , wherein the processing device is further to: determine that the prior operation is a read operation; and update, in response to determining that the subsequent operation collides with the current operation and that the current operation is a read operation, the first entry in the first data structure associated with the first operation identifier to identify the third operation identifier. 15. A system comprising: a memory component; and a processing device, operatively coupled with the memory component, to: assign a first operation identifier to a current operation directed to a memory component, the first operation identifier having a first entry in a first data structure that associates the first operation identifier with a first buffer identifier; determine whether the current operation collides with a prior operation assigned a second operation identifier, the second operation identifier having a second entry in the first data structure that associates the second operation identifier with a second buffer identifier; update a latest flag to indicate that the first entry is a latest operation directed to an address, wherein the latest flag is updated: (1) in response to determining that the current operation collides with the prior operation and that the current and prior operations are read operations, or (2) in response to determining that the current operation does not collide with a prior operation; and increment a counter associated with the first buffer identifier. 16. The system of claim 15 , wherein the determining whether the current operation collides with the prior operation comprises checking a second data structure for an entry that has an address value that matches the address to which the current operation is directed. 17. The system of claim 15 , wherein the first data structure is stored in a memory outside of the memory component. 18. The system of claim 15 , wherein the processing device is further to: assign a third operation identifier to a subsequent operation directed to a memory component, the third operation identifier having a third entry in the first data structure that associates the third operation identifier with a third buffer identifier; and update, in response to determining that the subsequent operation collides with the current operation and that the subsequent operation is a read operation, the third buffer identifier to inclu
using a contention resolving method, e.g. collision detection, collision avoidance · CPC title
based on priority control (G06F13/1605 takes precedence) · CPC title
using buffers · CPC title
Access to shared memory · CPC title
through address comparison · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.