IP Library Granted Patent US 9,948,322
Granted Patent B1
US 9,948,322 · App. 14/698,766 · Granted Apr 17, 2018

High performance read-modify-write system providing line-rate merging of dataframe segments in hardware

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 9,948,322
App. No.
14/698,766
Granted
Apr 17, 2018
Kind
B1
Abstract

A method of merging data frames includes: receiving a first data frame having a plurality of sectors; receiving a second data frame having a plurality of sectors; generating a merged output data frame by merging, using a plurality of data paths including a plurality of multiplexers, sectors of the second data frame with sectors of the first data frame; and performing an error check on at least one check-data frame having sectors corresponding to those in the first data frame or the second data frame, where at least some of the sectors in the check-data frame are transmitted on a subset of the plurality of data paths that transmits sectors of the merged output data frame, and where the error check verifies the merged output data frame.

Claims (42)

1. A circuit, comprising:

a merge multiplexer;

first and second multiplexers, wherein the first multiplexer is configured to output sectors of a second data frame to the second multiplexer and the merge multiplexer;

third and fourth multiplexers, wherein the third multiplexer is configured to output sectors of a first data frame to the fourth multiplexer and the merge multiplexer; and

a logic device configured to:

input sectors of the first data frame and the second data frame that are output from the fourth multiplexer and the second multiplexer, respectively; and

perform an error check on a first check-data frame comprising the sectors corresponding to sectors in the first data frame and a second check-data frame comprising the sectors corresponding to sectors in the second data frame;

wherein the merge multiplexer is configured to merge one or more sectors from the first multiplexer with one or more sectors from the second multiplexer based on a merge mask to form a merged output data frame,

wherein at least some of the sectors in the first and second check-data frames are transmitted on a subset of a plurality of data paths different from a subset of the plurality of data paths that transmits sectors of the merged output data frame, and

wherein the error check verifies the merged output data frame.

2. The circuit of claim 1 , further comprising:

an output multiplexer configured to:

input sectors of the merged output data frame that are output from the merge multiplexer;

output the sectors of the merged output data frame to the second multiplexer if the sectors of the merged output data frame were selected at the merge multiplexer from the second data frame; and

output the sectors of the merged output data frame to the fourth multiplexer if the sectors of the merged output data frame were selected at the merge multiplexer from the first data frame.

3. The circuit of claim 2 , wherein the output multiplexer is further configured to output the sectors of the merged output data frame on at least a portion of the plurality of data paths that transmits the sectors of the merged output data frame to the logic device.

4. The circuit of claim 1 , wherein the merge mask indicates the sectors of the first and second data frames to be merged into the output data frame.

5. The circuit of claim 1 , wherein the logic device is further configured to reconstruct the first check-data frame and the second check-data frame with their respective sectors that correspond to the first and second data frames after the sectors that correspond to the first and second data frames are transmitted through selected ones of the multiplexers.

6. The circuit of claim 1 , wherein the logic device is further configured to:

calculate an error check code for at least one of the first check-data frame and the second check-data frame; and

compare the calculated error check code with an error check code for the at least one of the first data frame and the second data frame, respectively.

7. The circuit of claim 6 , wherein the calculated error check codes and the error check codes for the first data frame and the second data frame comprise cyclic redundancy codes.

8. A data storage device comprising the circuit of claim 1 .

9. A method, comprising:

outputting sectors of a second data frame from a first multiplexer to a second multiplexer and a merge multiplexer;

outputting sectors of a first data frame from a third multiplexer to a fourth multiplexer and the merge multiplexer;

inputting sectors of the first data frame and the second data frame that are output from the fourth multiplexer and the second multiplexer, respectively, to a logic device;

performing, by the logic device, an error check on a first check-data frame comprising the sectors corresponding to sectors in the first data frame and a second check-data frame comprising sectors corresponding to sectors in the second data frame; and

merging, by the merge multiplexer, one or more sectors from the first multiplexer with one or more sectors from the second multiplexer based on a merge mask to form a merged output data frame,

wherein at least some of the sectors in the first and second check-data frames are transmitted on a subset of a plurality of data paths different from a subset of the plurality of data paths that transmits sectors of the merged output data frame, and

wherein the error check verifies the merged output data frame.

10. The method of claim 9 , further comprising:

inputting to an output multiplexer sectors of the merged output data frame that are output from the merge multiplexer;

outputting from the output multiplexer the sectors of the merged output data frame to the second multiplexer if the sectors of the merged output data frame were selected at the merge multiplexer from the second data frame; and

outputting from the output multiplexer the sectors of the merged output data frame to the fourth multiplexer if the sectors of the merged output data frame were selected at the merge multiplexer from the first data frame.

11. The method of claim 10 , further comprising outputting by the output multiplexer the sectors of the merged output data frame on at least a portion of the plurality of data paths that transmits the sectors of the merged output data frame to the logic device.

12. The method of claim 9 , wherein the merge mask indicates the sectors of the first and second data frames to be merged into the output data frame.

13. The method of claim 9 , further comprising reconstructing by the logic device the first check-data frame and the second check-data frame with their respective sectors that correspond to the first and second data frames after the sectors that correspond to the first and second data frames are transmitted through selected ones of the multiplexers.

14. The method of claim 9 , further comprising:

calculating by the logic device an error check code for at least one of the first check-data frame and the second check-data frame; and

comparing by the logic device the calculated error check code with an error check code for the at least one of the first data frame and the second data frame, respectively.

15. The method of claim 14 , wherein the calculated error check codes and the error check codes for the first data frame and the second data frame comprise cyclic redundancy codes.

Assignments (16)
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Nov 14, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069411/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2024
From: SANDISK TECHNOLOGIES, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 069168/0273 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
RELEASE OF SECURITY INTEREST AT REEL 038744 FRAME 0481 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0556 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2018
From: SKYERA, LLC
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 046726/0328 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 045501/0714 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038744/0281 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038722/0229 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038744/0481 →
ENTITY CONVERSION Recorded Apr 12, 2016
From: SKYERA, INC.
To: SKYERA, LLC
Reel/Frame 038465/0248 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2015
From: FLINSBAUGH, JACK W.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 035520/0409 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2015
From: MULLENDORE, RODNEY N.
To: SKYERA, INC.
Reel/Frame 035520/0418 →