Optimized read IO for mix read/write scenario by chunking write IOs
US-10509739-B1 · Dec 17, 2019 · US
US11520591B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11520591-B2 |
| Application number | US-202016832845-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 27, 2020 |
| Priority date | Mar 27, 2020 |
| Publication date | Dec 6, 2022 |
| Grant date | Dec 6, 2022 |
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.
Processing data in an information handling system is disclosed that includes: in response to an event that triggers a flushing operation, calculate a finish ratio, wherein the finish ratio is a number of finished operations to a number of at least one of the group consisting of in-flight instructions, instructions pending in a processor pipeline, instructions issued to an issue queue, and instructions being processed in a processor execution unit; compare the calculated finish ratio to a threshold; and if the finish ratio is greater than the threshold, then do not perform the flushing operation. Also disclosed is moving the flush point.
Opening claim text (preview).
What is claimed is: 1. A method of processing data in an information handling system, comprising: in response to an event that triggers a flushing operation, calculate a finish ratio, wherein the finish ratio is a number of finished operations to a number of at least one of a group consisting of in-flight instructions, instructions pending in a processor pipeline, instructions issued to an issue queue, and instructions being processed in a processor execution unit; compare the calculated finish ratio to a threshold; if the finish ratio is greater than the threshold, then do not perform the flushing operation; and if the finish ratio is not greater than the threshold, then perform the flushing operation. 2. The method of claim 1 , wherein the event triggers a balance flushing operation, and if the finish ratio is greater than the threshold, then do not perform the balance flushing operation, and if the finish ratio is not greater than the threshold, then perform the balance flushing operation. 3. The method of claim 1 , wherein the threshold is at least one of a group consisting of a fixed threshold, a predetermined threshold, a variable threshold, and a programmable threshold. 4. The method of claim 1 , wherein the threshold is set at a fixed ninety percent or greater. 5. The method of claim 1 , wherein the finish ratio is calculated on a per thread basis. 6. The method of claim 1 , wherein the finish ratio is based upon the number of finished instructions in at least one of a group consisting of an Instruction Completion Table, a Global Completion Table, and a reorder buffer. 7. The method of claim 1 , wherein the finish ratio is calculated based upon the number of instructions finished in a thread in an instruction completion table divided by the total number of instructions in the instruction completion table. 8. The method of claim 1 , further comprising: in response to the finish ratio not being greater than the threshold, move a flush point to a point other than the instruction after a next to complete instruction, wherein the flush point identifies the instruction from which younger instructions in the information handling system are flushed. 9. The method of claim 8 , further comprising moving the flush point to one of a group consisting of a next unfinished instruction after the next to complete instruction and a last consecutive finished instruction after the next to complete instruction. 10. A method of processing data in an information handling system, comprising: in response to an event that triggers a flushing operation, determine a next to complete (NTC) instruction; determine one of either a first unfinished instruction after the NTC instruction or a last consecutive finished instruction after the NTC instruction; and move a flush point to a respective one of either the first unfinished instruction after the NTC instruction or the last consecutive finished instruction after the NTC instruction, wherein the flush point identifies the instruction from which younger instructions in the information handling system are flushed; before performing a flushing operation, calculate a finish ratio, wherein the finish ratio is a number of finished operations to a number of at least one of a group consisting of in-flight instructions, instructions pending in a processor pipeline, instructions issued to an issue queue, and instructions being processed in a processor execution unit; compare the calculated finish ratio to a threshold; if the finish ratio is greater than the threshold, then do not perform the flushing operations; and if the finish ratio is equal to or less than the threshold, then perform the flushing operation. 11. The method of claim 10 , further comprising: determine a next unfinished instruction in an instruction completion table after the NTC instruction and calculate an adjusted finish ratio, wherein the adjusted finish ratio for an unfinished instruction is the number of finished instructions after the NTC instruction in the instruction completion table before that unfinished instruction divided by the number of instructions after the NTC instruction in the instruction completion table; determine whether the adjusted finish ratio for that next unfinished instruction in the instruction completion table is greater than the threshold; and if the adjusted finish ratio is not greater than the threshold, move the flush point in the instruction completion table to an unfinished instruction whose adjusted finish ratio is not greater than the threshold. 12. The method of claim 11 , further comprising: if the adjusted finish ratio is greater than the threshold, do not move the flush point to that unfinished instruction and proceed to the next unfinished instruction; determine whether the adjusted finish ratio for that next unfinished instruction in the instruction completion table is greater than a threshold; and if the adjusted finish ratio is not greater than the threshold, move the flush point in the instruction completion table to the unfinished instruction whose adjusted finish ratio is not greater than the threshold. 13. The method of claim 10 , wherein the event triggers a balance flushing operation. 14. The method of claim 11 , wherein the threshold is at least one of a group consisting of a fixed threshold, a predetermined threshold, a variable threshold, and a programmable threshold. 15. The method of claim 11 , wherein the threshold is set at a fixed sixty percent or greater. 16. The method of claim 11 , wherein the adjusted finish ratio is calculated on a per thread basis. 17. An information handling system, comprising: a processor having a processor pipeline comprising: an issue queue for holding instructions until data is local to the processor; one or more execution units for executing instructions received from the issue queue; and an instruction completion table having a plurality of entries for tracking instructions that are pending and instructions that are finished and not complete in the processor, wherein the processor is configured to issue instructions to the one or more execution units out of order and the instructions are marked as complete in order; and further wherein the processor is configured to: in response to an event that triggers a flushing operation, calculate a finish ratio, wherein the finish ratio is a number of instructions marked as finished in the instruction completion table to a number of instructions in the instruction completion table; compare the calculated finish ratio to a threshold; and if the finish ratio is greater than the threshold, then do not perform the flushing operation. 18. The system of claim 17 , wherein the processor is further configured to perform a balance flushing operation, the event triggers a balance flushing operation, and the threshold is at least one of a group consisting of a fixed threshold, a predetermined threshold, a variable threshold, and a programmable threshold, where the processor is further configured to: calculate the finish ratio on a per thread basis, not perform the balance flushing operation if the finish ratio is greater than the threshold, and perform the balanced flushing operation if the finish ratio is not greater than the threshold. 19. The system of claim 17 , wherein the processor is further configured to: in response to the finish ratio not being greater than the threshold, move a flushing point in the instruction completion table to at least one of a group consisting of the next unfinishe
using instruction pipelines · CPC title
using multiple copies of the architectural state, e.g. shadow registers · CPC title
Physics · mapped topic
from multiple instruction streams, e.g. multistreaming · CPC title
Reordering of instructions, e.g. using queues or age tags · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.