Scheduling of read operations and write operations based on a data bus mode
US-2024104030-A1 · Mar 28, 2024 · US
US9703493B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9703493-B2 |
| Application number | US-201615008192-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 27, 2016 |
| Priority date | Dec 14, 2015 |
| Publication date | Jul 11, 2017 |
| Grant date | Jul 11, 2017 |
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.
Systems, methods, and computer programs are disclosed for scheduling memory transactions. An embodiment of a method comprises determining future memory state data of a dynamic random access memory (DRAM) for a predetermined number of future clock cycles. The DRAM is electrically coupled to a system on chip (SoC). Based on the future memory state data, one of a plurality of pending memory transactions is selected that speculatively optimizes DRAM efficiency. The selected memory transaction is sent to a shared cache controller. If the selected memory transaction results in a cache miss, the selected memory transaction is sent to a DRAM controller.
Opening claim text (preview).
What is claimed is: 1. A method for scheduling transactions for a memory system, the method comprising: determining future memory state data of a dynamic random access memory (DRAM) for a predetermined number of future clock cycles, the DRAM electrically coupled to a system on chip (SoC); based on the future memory state data, selecting one of a plurality of pending memory transactions that speculatively optimizes DRAM efficiency; sending the selected memory transaction to a shared cache controller; and if the selected memory transaction results in a cache miss, sending the selected memory transaction to a DRAM controller. 2. The method of claim 1 , wherein the selected pending memory transaction is determined based on the future memory state data and priority level data corresponding to the plurality of pending memory transactions. 3. The method of claim 1 , wherein the selectively optimizing DRAM efficiency comprises reducing a number of DRAM clock cycles. 4. The method of claim 1 , wherein the future memory state data comprises a bank state for each of a plurality of banks comprising the DRAM. 5. The method of claim 4 , wherein the bank state comprises a free state or a busy state. 6. The method of claim 4 , wherein the future memory state further comprises: a DRAM data bus state; and a DRAM command address bus state. 7. The method of claim 1 , wherein the predetermined number of future clock cycles corresponds to a latency of the shared cache controller. 8. The method of claim 1 , further comprising: if the selected memory transaction results in a cache hit, updating the future memory state data to reflect that the selected memory transaction did not reach the DRAM controller. 9. A system for scheduling memory transactions comprising: means for determining future memory state data of a dynamic random access memory (DRAM) for a predetermined number of future clock cycles, the DRAM electrically coupled to a system on chip (SoC); means for selecting one of a plurality of pending memory transactions that speculatively optimizes DRAM efficiency based on the future memory state data; means for sending the selected memory transaction to a shared cache controller; and means for sending the selected memory transaction to a DRAM controller if the selected memory transaction results in a cache miss. 10. The system of claim 9 , wherein the means for selecting the one of the plurality of pending memory transactions that speculatively optimizes DRAM efficiency comprises: means for reducing a number of DRAM clock cycles. 11. The system of claim 9 , wherein the future memory state data comprises a bank state for each of a plurality of banks comprising the DRAM. 12. The system of claim 11 , wherein the bank state comprises a free state or a busy state. 13. The system of claim 11 , wherein the future memory state further comprises: a DRAM data bus state; and a DRAM command address bus state. 14. The system of claim 9 , wherein the predetermined number of future clock cycles corresponds to a latency of the shared cache controller. 15. The system of claim 9 , further comprising: means for updating the future memory state data, if the selected memory transaction results in a cache hit, to reflect that the selected memory transaction did not reach the DRAM controller. 16. A system for scheduling memory transactions comprising: a volatile memory device; a system on chip (SoC) electrically coupled to the volatile memory, the SoC comprising a shared cached, a cache controller, and a transaction scheduler for scheduling pending memory transactions received from a plurality of memory clients, the transaction scheduler configured to: determine future state data of the volatile memory for a predetermined number of future clock cycles; based on the future state data, select one of the plurality of pending memory transactions that speculatively optimizes an efficiency of the volatile memory; send the selected memory transaction to the shared cache controller; and send the selected memory transaction to the volatile memory if the selected memory transaction results in a cache miss. 17. The system of claim 16 , wherein the volatile memory comprises a dynamic random access memory (DRAM) comprising a plurality of banks. 18. The system of claim 17 , wherein the future state data comprises a bank state for each of the plurality of banks. 19. The system of claim 18 , wherein the bank state comprises a free state or a busy state. 20. The system of claim 18 , wherein the future state data further comprises: a DRAM data bus state; and a DRAM command address bus state. 21. The system of claim 16 , wherein the predetermined number of future clock cycles corresponds to a latency of the shared cache controller. 22. The system of claim 16 , wherein the transaction scheduler is further configured to update the future state data of the volatile memory to reflect that the selected memory transaction did not reach the volatile memory. 23. The system of claim 16 , incorporated in a portable communication device. 24. A computer program embodied in a memory and executable by a processor for scheduling memory transactions, the computer program comprising logic configured to: determine future memory state data of a dynamic random access memory (DRAM) for a predetermined number of future clock cycles, the DRAM electrically coupled to a system on chip (SoC); based on the future memory state data, select one of a plurality of pending memory transactions that speculatively optimizes DRAM efficiency; send the selected memory transaction to a shared cache controller; and if the selected memory transaction results in a cache miss, send the selected memory transaction to a DRAM controller. 25. The computer program of claim 24 , wherein the selectively optimizing DRAM efficiency comprises reducing a number of DRAM clock cycles. 26. The computer program of claim 24 , wherein the future memory state data comprises a bank state for each of a plurality of banks comprising the DRAM. 27. The computer program of claim 26 , wherein the bank state comprises a free state or a busy state. 28. The computer program of claim 26 , wherein the future memory state further comprises: a DRAM data bus state; and a DRAM command address bus state. 29. The computer program of claim 24 , wherein the predetermined number of future clock cycles corresponds to a latency of the shared cache controller. 30. The computer program of claim 24 , further comprising logic configured to: if the selected memory transaction results in a cache hit, update the future memory state data to reflect that the selected memory transaction did not reach the DRAM controller.
by reordering requests · CPC title
being part of a memory device, e.g. cache DRAM · CPC title
with look ahead addressing means · CPC title
being part of a memory device, e.g. cache DRAM · CPC title
Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.