IP Library › Granted Patent US 11,256,444
Granted Patent B2
US 11,256,444 · App. 17/039,669 · Granted Feb 22, 2022

Method for processing read/write data, apparatus, and computer readable storage medium thereof

Inventor: Yi-Lang Kao (New Taipei, TW)
Assignee: HON HAI PRECISION INDUSTRY CO., LTD.
G06F3/0659G06F3/0604G06F3/0611G06F3/0629G06F3/0673
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 11,256,444
App. No.
17/039,669
Granted
Feb 22, 2022
Kind
B2
Abstract

A method for processing data read/write includes receiving a data read/write request. The data read/write request includes a command type, data, an address, a resource identifier, and a priority level. If the read/write request is the read request, determining whether the read request meets a first placement rule, the first rule being that the address of the read request is different from any and all write request addresses in the write command queue. If the first placement rule is not satisfied, the data stored in the conflicting (i.e., duplicated) address of the write request in the write command queue is acquired as the read data. A data read/write processing apparatus and a computer readable medium related to the data read/write processing method are also disclosed.

Claims (40)

1. A method for processing read/write data in a data read/write processing apparatus, the data read/write processing apparatus comprises a storage medium and a processor; the storage medium stores instructions being executed by the processor to implement following steps:

receiving a data read/write request; the data read/write request comprises a request type, data, an address, and a resource identifier;

determining whether the read/write request is a read request;

determining whether the read request meets a first placement rule, when the read/write request is the read request; the first placement rule is that an address of the read request is different from an address in any write request in a write command queue;

acquiring data stored in a conflict address of the write request in the write command queue as a read data when the read request does not to meet the first placement rule;

determining whether the read request meets a second placement rule when the data read/write request meets the first placement rule; the second placement rule is that the resource identifier of the read request is different from the resource identifier in any write request in the write command queue; and

storing the read request in a read command queue based on a time of receiving when the read request does not to meet the second placement rule.

2. The method of claim 1 , wherein the data read/write request further comprises a priority level; the method further comprises:

storing the read request in the read command queue based on a third placement rule when the read request meets the second placement rule; the third placement rule is that the read command queue is inserted in the read command queue based on the priority level.

3. The method of claim 2 , wherein the method further comprises:

determining whether the write request meets a fourth placement rule when the data read/write request is a write request; the fourth placement rule is that the address and the resource identifier of the write request are different from an address and a resource identifier in any read request in the read command queue; and

storing the write request in a write command queue based on a time of receiving when the write request does not to meet the fourth placement rule.

4. The method of claim 3 , wherein the method further comprises:

storing the write request in the write command queue based on a fifth placement rule when the write request meets the fourth placement rule; the fifth placement rule is that the write request is inserted in the write command queue based on the priority level.

5. The method of claim 4 , wherein each first to fifth placement rules correspond a state identifier; the state identifier can be set to enabled or to disabled; when the state identifier is enabled, the corresponding placement rule is active, and when state identifier is disabled, the corresponding placement rule is disabled.

6. A data read/write processing apparatus; the data read/write processing apparatus comprising a non-transitory storage medium; the non-transitory storage medium storing program codes being executed by a processor, which forms modules; the modules comprising:

a receiving module, configured to receive a data read/write request; the data read/write request comprises a request type, data an address, and a resource identifier;

a determining module, configured to determine whether the read/write request is the read request; the determining module further determines whether the read request meets a first placement rule; the first placement rule is that the address of the read request is different from an address of each write request in the write command queue;

an acquiring module, configured to acquire the data stored in a conflict address of the write request in the write command queue as a read data when the read request does not to meet the first placement rule; and

an inserting module;

wherein the data read/write request comprises a resource identifier; the determining module further determines whether the read request meets a second placement rule when the data read/write request meets the first placement rule; the second placement rule is that the resource identifier of the read request is different from the resource identifier in any write request in the write command queue; when the read request does not to meet the second placement rule, the inserting module stores the read request in a read command queue based on a time of receiving.

7. The data read/write processing apparatus of claim 6 , wherein the data read/write request further comprises a priority level; when the read request meets the second placement rule, the inserting module stores the read request in the read command queue based on a third placement rule; the third placement rule is that the read request is inserted in the read command queue based on the priority level.

8. The data read/write processing apparatus of claim 7 , wherein the determining module further determines whether the write request meets a fourth placement rule when the data read/write request is a write request; the fourth placement rule is that the address and the resource identifier of the write request are different from an address and a resource identifier in any read request in the read command queue; when the write request does not to meet the fourth placement rule, the inserting module stores the write request in a write command queue based on a time of receiving.

9. The data read/write processing apparatus of claim 8 , wherein the inserting module further stores the write request in the write command queue based on a fifth placement rule; the fifth placement rule is that the write request is inserted in the write command queue based on the priority level.

10. The data read/write processing apparatus of claim 9 , wherein each first to fifth placement rules correspond a state identifier; the state identifier can be set to enabled or to disabled; when the state identifier is enabled, the corresponding placement rule is active, and when state identifier is disabled, the corresponding placement rule is disabled.

11. A non-transitory computer readable medium storing instructions being executed by a processor to implement following steps:

receiving a data read/write request; the data read/write request comprises a request type, data an address, and a resource identifier;

determining whether the read/write request is a read request;

determining whether the read request meets a first placement rule, when the read/write request is the read request; the first placement rule is that an address of the read request is different from an address in any write request in a write command queue;

acquiring data stored in a conflict address of the write request in the write command queue as a read data when the read request does not to meet the first placement rule;

determining whether the read request meets a second placement rule when the data read/write request meets the first placement rule; the second placement rule is that the resource identifier of the read request is different from the resource identifier in any write request in the write command queue; and

storing the read request in a read command queue based on a time of receiving when the read request does not to meet the second placement rule.

12. The computer readable medium of claim 11 , wherein the data read/write request further comprises a priority level; the computer readable medium further comprises:

storing the read request in the read command queue based on a third placement rule when the read request meets the second placement rule; the third placement rule is that the read request is inserted in the read command queue based on the priority level.

13. The computer readable medium of claim 12 , wherein the computer readable medium further comprises:

determining whether the write request meets a fourth placement rule when the data read/write request is a write request; the fourth placement rule is that the address and the resource identifier of the write request are different from an address and a resource identifier in any read request in the read command queue; and

storing the write request in a write command queue based on a time of receiving when the write request does not to meet the fourth placement rule.

14. The computer readable medium of claim 13 , wherein the computer readable medium further comprises:

storing the write request in the write command queue based on a fifth placement rule when the write request meets the fourth placement rule; the fifth placement rule is that the write request is inserted in the write command queue based on the priority level.

15. The computer readable medium of claim 14 , wherein each first to fifth placement rules correspond a state identifier; the state identifier can be set to enabled or to disabled; when the state identifier is enabled, the corresponding placement rule is active, and when state identifier is disabled, the corresponding placement rule is disabled.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2020
From: KAO, YI-LANG
To: HON HAI PRECISION INDUSTRY CO., LTD.
Reel/Frame 053940/0092 →
Priority Claims (1)
CN 202010664093.3 · Jul 10, 2020 · national
Continuity (1)
Related Publication 20220011971A1 · Jan 13, 2022