IP Library Granted Patent US 10,969,966
Granted Patent B2
US 10,969,966 · App. 16/684,249 · Granted Apr 6, 2021

Method and device for data read and write

Inventors: Bean Bin Zhao (Tianjin, CN); Wilson Guoyu Hu (Beijing, CN); Jun Wu (Shanghai, CN); Shuo Lv (Beijing, CN); Qiaosheng Zhou (Beijing, CN); Lester Ming Zhang (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0611G06F3/0613G06F3/0659G06F3/0673G06F16/1767
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 10,969,966
App. No.
16/684,249
Granted
Apr 6, 2021
Kind
B2
Abstract

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.

Claims (40)

1. A method for managing write requests, comprising:

in response to receiving a first write request for a file system, splitting the first write request into a first set of sub-requests;

in response to receiving a second write request for the file system, splitting the second write request into a second set of sub-requests; and

in response to detecting that a first sub-request of the first set of sub-requests and a second sub-request of the second set of sub-requests are contiguous in a storage area of the file system, merging the first sub-request with the second sub-request for writing,

wherein the first write request and the second write request are directed to respective ranges of the storage area of the file system, the storage area including logic data units of uniform size, and

wherein splitting the first write request into the first set of sub-requests is performed (i) at a first boundary between a first logic data unit and a second logic data unit, and (ii) at a second boundary between the second logic data unit and a third logic data unit.

2. The method of claim 1 , wherein merging the first sub-request with the second sub-request forms an area in the storage area that does not cross any boundary between adjacent logic data units.

3. The method of claim 1 , further comprising:

in response to receiving a third write request that occupies an entire logic data unit of the logic data units, executing the third write request without splitting or merging the third write request with any other write request or sub-request.

4. The method of claim 1 , wherein splitting the first write request into the first set of sub-requests is performed in response to the first write request specifying data that extends across a boundary between adjacent logic data units.

5. The method of claim 4 , wherein merging the first sub-request with the second sub-request includes combining the first sub-request and the second sub-request in an area that does not cross any boundary between adjacent logic data units.

6. The method of claim 1 , wherein the first, second, and third logic data units each include respective portions of data specified by the first write request.

7. The method of claim 6 , further comprising:

in response to receiving a third write request for a file system, splitting the third write request into a third set of sub-requests; and

in response to detecting that a third sub-request of the third set of sub-requests and a fourth sub-request of the first set of sub-requests are contiguous in the storage area, merging the third sub-request with the fourth sub-request for writing.

8. A computerized system, comprising control circuitry that includes a set of processing units coupled to memory, the control circuitry constructed and arranged to:

in response to receiving a first write request for a file system, split the first write request into a first set of sub-requests;

in response to receiving a second write request for the file system, split the second write request into a second set of sub-requests; and

in response to detecting that a first sub-request of the first set of sub-requests and a second sub-request of the second set of sub-requests are contiguous in a storage area of the file system, merge the first sub-request with the second sub-request for writing,

wherein the first write request and the second write request are directed to respective ranges of the storage area of the file system, the storage area including logic data units of uniform size, and

wherein the control circuitry is constructed and arranged to split the first write request into the first set of sub-requests (i) at a first boundary between a first logic data unit and a second logic data unit, and (ii) at a second boundary between the second logic data unit and a third logic data unit.

9. The computerized system of claim 8 , wherein the control circuitry is further constructed and arranged to merge the first sub-request with the second sub-request to form an area in the storage area that does not cross any boundary between adjacent logic data units.

10. The computerized system of claim 8 , wherein the control circuitry is further constructed and further arranged to:

in response to receiving a third write request that occupies an entire logic data unit of the logic data units, execute the third write request without splitting or merging the third write request with any other write request or sub-request.

11. The computerized system of claim 8 , wherein the control circuitry is further constructed and further arranged to:

split the first write request into the first set of sub-requests in response to the first write request specifying data that extends across a boundary between adjacent logic data units.

12. A computer program product including a set of non-transitory, computer-readable media having instructions which, when executed by control circuitry of a computerized system, cause the control circuitry to perform a method of managing write requests, the method comprising:

in response to receiving a first write request for a file system, splitting the first write request into a first set of sub-requests;

in response to receiving a second write request for the file system, splitting the second write request into a second set of sub-requests; and

in response to detecting that a first sub-request of the first set of sub-requests and a second sub-request of the second set of sub-requests are contiguous in a storage area of the file system, merging the first sub-request with the second sub-request for writing,

wherein the first write request and the second write request are directed to respective ranges of the storage area of the file system, the storage area including logic data units of uniform size, and

wherein splitting the first write request into the first set of sub-requests is performed (i) at a first boundary between a first logic data unit and a second logic data unit, and (ii) at a second boundary between the second logic data unit and a third logic data unit.

13. The computer program product of claim 12 , wherein merging the first sub-request with the second sub-request forms an area in the storage area that does not cross any boundary between adjacent logic data units.

14. The computer program product of claim 12 , wherein the method further comprises:

in response to receiving a third write request that occupies an entire logic data unit of the logic data units, executing the third write request without splitting or merging the third write request with any other write request or sub-request.

15. The computer program product of claim 12 , wherein splitting the first write request into the first set of sub-requests is performed in response to the first write request specifying data that extends across a boundary between adjacent logic data units.

16. The computer program product of claim 12 , wherein the first, second, and third logic data units each include respective portions of data specified by the first write request.

17. The computer program product of claim 16 , wherein the method further comprises:

in response to receiving a third write request for a file system, splitting the third write request into a third set of sub-requests; and

in response to detecting that a third sub-request of the third set of sub-requests and a fourth sub-request of the first set of sub-requests are contiguous in the storage area, merging the third sub-request with the fourth sub-request for writing.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2020
From: ZHAO, BEAN BIN; HU, WILSON GUOYU; WU, JUN; LV, SHUO; ZHOU, QIAOSHENG; ZHANG, LESTER MING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051523/0651 →