Data read-write scheduler and reservation station for vector operations
US-2018321943-A1 · Nov 8, 2018 · US
US10489058B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10489058-B2 |
| Application number | US-201815995192-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 1, 2018 |
| Priority date | Jun 2, 2017 |
| Publication date | Nov 26, 2019 |
| Grant date | Nov 26, 2019 |
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.
Embodiments of the present disclosure relate to method and device for data read/write. The method comprises: in response to receiving a first read/write request for a first target area, determining whether there is a second read/write request under execution in conflict with the first read/write request, a second target area for the second read/write request at least partially overlapping with the first target area, and at least one of the first read/write request and the second read/write request being a write request; and in response to determining there being the second read/write request in conflict, suspending the first read/write request while maintaining a sub-area of the first target area in an unlocked state, the sub-area not overlapping with the second target area.
Opening claim text (preview).
We claim: 1. A method for data read and write, comprising: in response to receiving a first read/write request for a first target area, determining whether there is a second read/write request under execution in conflict with the first read/write request, a second target area for the second read/write request at least partially overlapping with the first target area, and at least one of the first read/write request and the second read/write request being a write request; in response to determining there being the second conflicted read/write request, suspending the first read/write request while maintaining a sub-area of the first target area in an unlocked state, the sub-area not overlapping with the second target area; in response to receiving a third read/write request in conflict with the first read/write request after the first read/write request and the third read/write request being executed prior to the first read/write request, incrementing a counter associated with the first read/write request; and in response that a value of the counter reaches a predetermined threshold, promoting an execution priority of the first read/write request. 2. The method of claim 1 , further comprising: in response to determining there not being the second conflicted read/write request, executing the first read/write request without checking whether the first read/write request is in conflict with other read/write requests which are currently suspended. 3. The method of claim 1 , further comprising: in response to completion of the first read/write request, only activating a currently waiting request which is in conflict with the first read/write request. 4. The method of claim 1 , further comprising: in response to receiving a fourth read/write request, a fourth target area for the fourth read/write request at least partially overlapping with the first target area, and the fourth target area being available, comparing the execution priority of the first read/write request with an execution priority of the fourth read/write request; and in response that the execution priority of the fourth read/write request is lower than the execution priority of the first read/write request, suspending the fourth read/write request. 5. An electronic device, comprising: at least one processing unit; at least one memory coupled to the at least one processing unit and stored with instructions executed by the at least processing unit, the instructions, when executed by the at least one processing unit, causing the device to execute actions comprising: in response to receiving a first read/write request for a first target area, determining whether there is a second read/write request under execution in conflict with the first read/write request, a second target area for the second read/write request at least partially overlapping with the first target area and at least one of the first read/write request, and the second read/write request being a write request; in response to determining there being the second conflicted read/write request in conflict, suspending the first read/write request while maintaining a sub-area of the first target area in an unlocked state, the sub-area not overlapping with the second target area; in response to receiving a third read/write request in conflict with the first read/write request after the first read/write request and the third read/write request being executed prior to the first read/write request, incrementing a counter associated with the first read/write request; and in response that a value of the counter reaches a predetermined threshold, promoting an execution priority of the first read/write request. 6. The device of claim 5 , the actions further comprise: in response to determining there not being the second conflicted read/write request in conflict, executing the first read/write request without checking whether the first read/write request is in conflict with other read/write requests which are currently suspended. 7. The device of claim 5 , the actions further comprise: in response to completion of the first read/write request, only activating a currently waiting request which is in conflict with the first read/write request. 8. The device of claim 5 , the actions further comprise: in response to receiving a fourth read/write request, a fourth target area for the fourth read/write request at least partially overlapping with the first target area, and the fourth target area being available, comparing the execution priority of the first read/write request with an execution priority of the fourth read/write request; and in response that the execution priority of the fourth read/write request is lower than the execution priority of the first read/write request, suspending the fourth read/write request. 9. A computer program product for data read and write, the computer program product comprising: a non-transitory computer readable medium encoded with computer-executable code, the code configured for the execution of: in response to receiving a first read/write request for a first target area, determining whether there is a second read/write request under execution in conflict with the first read/write request, a second target area for the second read/write request at least partially overlapping with the first target area, and at least one of the first read/write request and the second read/write request being a write request; in response to determining there being the second conflicted read/write request, suspending the first read/write request while maintaining a sub-area of the first target area in an unlocked state, the sub-area not overlapping with the second target area, in response to receiving a third read/write request in conflict with the first read/write request after the first read/write request and the third read/write request being executed prior to the first read/write request, incrementing a counter associated with the first read/write request; and in response that a value of the counter reaches a predetermined threshold, promoting an execution priority of the first read/write request. 10. The computer program product of claim 9 , the code further configured for the execution of: in response to determining there not being the second conflicted read/write request, executing the first read/write request without checking whether the first read/write request is in conflict with other read/write requests which are currently suspended. 11. The computer program product of claim 9 , the code further configured for the execution of: in response to completion of the first read/write request, only activating a currently waiting request which is in conflict with the first read/write request. 12. The computer program product of claim 9 , the code further configured for the execution of: in response to receiving a fourth read/write request, a fourth target area for the fourth read/write request at least partially overlapping with the first target area, and the fourth target area being available, comparing the execution priority of the first read/write request with an execution priority of the fourth read/write request; and in response that the execution priority of the fourth read/write request is lower than the execution priority of the first read/write request, suspending the fourth read/write request. 13. The method of claim 1 , wherein: in response to receiving a first write request for a file system, splitting the first write request into at least one sub-request on the basis of logic data unit of the file system; determining whether there is a first sub-request for a data block whose size
Single storage device · CPC title
Concurrency control, e.g. optimistic or pessimistic approaches · CPC title
in relation to throughput · CPC title
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Mutual exclusion algorithms · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.