IP Library Granted Patent US 9,626,127
Granted Patent B2
US 9,626,127 · App. 13/810,350 · Granted Apr 18, 2017

Integrated circuit device, data storage array system and method therefor

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,626,127
App. No.
13/810,350
Granted
Apr 18, 2017
Kind
B2
Abstract

An integrated circuit device comprises a data storage array controller for providing data storage array functionality for at least one data storage array. The data storage array controller comprises an address window controller arranged to receive at least one data storage device access command, and upon receipt of the at least one data storage device access command the address window controller is arranged to compare a target address of the at least one data storage device access command to an address window for a target storage device of the at least one data storage device access command, and if the target address is outside of the address window for the target storage device, block the at least one data storage device access command.

Claims (34)

1. An integrated circuit device comprising:

a data storage array controller comprising an address window controller to receive a data storage device access command, to compare a first target address of the data storage device access command to a first address window for a first target storage device of the data storage device access command, and, if the first target address is outside of the first address window, to block the data storage device access command, substitute pseudo data for data corresponding to the first target address of the first target storage device, and initiate data recovery to recover data stored at the first target address of the first target storage device using the pseudo data to re-compute recovery information, wherein the first target storage device is one of a plurality of data storage devices of a data storage array, and each of the plurality of data storage devices has a different size, wherein the address window controller configures address windows for each of the plurality of data storage devices based on each of the different sizes.

2. The integrated circuit device of claim 1 wherein, upon receipt of a data storage device read command, the address window controller is further to compare a second target address of the data storage device read command to a second address window for a second target storage device of the data storage device read command, and if the second target address is outside of the second address window for the second target storage device, to substitute the pseudo data for data to be read for that data storage device read command, wherein the second address window is associated with a second size of the second target storage device.

3. The integrated circuit device of claim 2 wherein the data storage array controller further comprises a command decoder to receive an array access command, and upon receipt of the array access command to generate the data storage device access command in accordance with the received array access command.

4. The integrated circuit device of claim 3 wherein the data storage array controller further comprises a memory access module to receive the data storage device access command, and to perform an access operation on the data storage array in accordance with the data storage device access command.

5. The integrated circuit device of claim 4 wherein the address window controller is operably coupled between the command decoder and the memory access module such that the data storage device access command from the command decoder is conveyed to the memory access module via the address window controller.

6. The integrated circuit device of claim 4 wherein the data storage array controller further comprises a data manipulation module to perform data manipulation in accordance with the array access command, and the memory access module is further to make available to the data manipulation module data read from the data storage array in accordance with the data storage device read command.

7. The integrated circuit device of claim 6 wherein the address window controller is further to make available to the data manipulation module the pseudo data in place of data to be read from the data storage array if the second target address for the data to be read from the second target storage device is outside of the second address window for the second target storage device.

8. The integrated circuit device of claim 6 wherein the memory access module is further to perform read operations from the data storage array in accordance with the data storage device read command, and to load read data resulting from such read operations into a buffer accessible to the data manipulation module.

9. The integrated circuit device of claim 8 wherein the address window controller is further configured to load the pseudo data into the buffer accessible to the data manipulation module in place of data to be read from the data storage array if the second target address for the data to be read from the second target storage device is outside of the second address window for the second target storage device.

10. The integrated circuit device of claim 6 wherein the data manipulation module is further to perform, on data made available there to, in accordance with the array access command, one from a group consisting of: data protection; code generation; data recovery; data mirroring; data striping; and data redundancy.

11. The integrated circuit device of claim 3 wherein the address window controller is operably coupled to an address window register arranged to store address window information, and upon receipt of the data storage device access command from the command decoder, to store the first address window to the address window register.

12. The integrated circuit device of claim 11 wherein the address window controller is arranged to:

identify the first target storage device of the data storage device access command;

retrieve the address window information corresponding to the identified target storage device from the address window register;

compare the first target address of the data storage device access command to the retrieved address window information; and

if the first target address is outside of the address window for the first target storage device, block the at least one data storage device access command.

13. The integrated circuit device of claim 11 wherein the address window register comprises a configurable memory element capable of having its contents configured by a device external to the data storage array controller.

14. A data storage array system comprising:

a data storage array controller comprising an address window controller to receive a data storage device access command, and upon receipt of the data storage device access command, to compare a target address of the data storage device access command to an address window for a target storage device of the data storage device access command and if the target address is outside of the address window for the target storage device, to block the data storage device access command, substitute pseudo data for data corresponding to the target address of the target storage device, and initiate data recovery to recover data stored at the target address of the target storage device using the pseudo data to re-compute recovery information, wherein the target storage device is one of a plurality of data storage devices of a data storage array, and each of the plurality of data storage devices has a different size, wherein the address window controller configures address windows for each of the plurality of data storage devices based on each of the different sizes.

15. The data storage array system of claim 14 wherein the data storage array system comprises a signal processing module operably coupled to the data storage array controller, the signal processing module to provide array access commands to the data storage array controller.

16. The data storage array system of claim 15 wherein the address window controller is operably coupled to an address window register, the address window register to store address window information, and the signal processing module is further to configure the address window information within the address window register.

17. The data storage array system of claim 16 wherein, upon determination that a data storage device within the data storage array has become unavailable, the signal processing module is further to configure a null address window for the unavailable data storage device.

18. A method for providing data storage array functionality for a data storage array, the method comprising:

receiving a data storage device access command for performing an access operation with the data storage array;

comparing a target address of the data storage device access command to an address window for a target storage device of the data storage device access command, wherein the target storage device is one of a plurality of data storage devices, and each of the plurality of data storage devices has a different size, wherein the address window controller configures address windows for each of the plurality of data storage devices based on each of the different sizes;

if the target address is outside of the address window for the target storage device, blocking the data storage device access command;

substituting pseudo data for data corresponding to the target address of the target storage device; and

initiating data recovery to recover data stored at the target address of the target storage device using the pseudo data to re-compute recovery information.

19. The method of claim 18 further comprising:

providing, by a signal processing module coupled to a data storage array controller, array access commands to the data storage array controller.

20. The method of claim 19 further comprising:

storing, by an address window register coupled to an address window controller, address window information; and

configuring, by the signal processing module, the address window information within the address window register.

Assignments (32)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2025
From: NXP USA, INC.
To: TAIWAN SEMICONDUCTOR MANUFACTURING COMPANY LIMITED
Reel/Frame 072889/0939 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHENZHEN XINGUODU TECHNOLOGY CO., LTD.
Reel/Frame 048734/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 1, 2017
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041703/0536 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 040626 FRAME: 0683. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME EFFECTIVE NOVEMBER 7, 2016. Recorded Jan 12, 2017
From: NXP SEMICONDUCTORS USA, INC. (MERGED INTO); FREESCALE SEMICONDUCTOR, INC. (UNDER)
To: NXP USA, INC.
Reel/Frame 041414/0883 →
CHANGE OF NAME Recorded Nov 16, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040626/0683 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 13, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037518/0292 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0704 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0744 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0725 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →
SECURITY AGREEMENT Recorded Jun 18, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030633/0424 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded May 20, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 030445/0737 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded May 20, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030445/0709 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded May 20, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030445/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2013
From: GLICKMAN, ERAN; BAR, RON; MICHALOVICH, BENNY
To: FREESCALE SEMICONDUCTOR INC
Reel/Frame 029632/0195 →