IP Library Granted Patent US 7,334,059
Granted Patent B2
US 7,334,059 · App. 10/792,591 · Granted Feb 19, 2008

Multiple burst protocol device controller

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 7,334,059
App. No.
10/792,591
Granted
Feb 19, 2008
Kind
B2
Abstract

Multiple burst memory access handling protocols may be implemented at the hardware level or evaluated and selected during design of the hardware. The appropriate burst protocol may be selectable based on burst characteristics such as burst types and the identity of the current bus master. This allows, for example, the ability for a slave to support multiple error protocols in a multi-master system on a chip (SoC), or to design slaves capable of interfacing with a variety of masters which use different burst handling protocols. Inputs such as a programmable control register or configuration pins or variables may be provided to as part of the slave or slave interface block (e.g., a memory controller) to facilitate the implementation of alternate burst protocols. When a burst request is received from a master, a burst characteristic corresponding to the requested burst is determined and one of a plurality of burst error protocols is selected based on the burst characteristic. The burst request is then processed according to the selected burst error protocol.

Claims (56)

1. A method comprising:

receiving a burst request from a master;

determining a burst characteristic corresponding to the requested burst;

selecting one of a plurality of burst error protocols based on the burst characteristics, wherein determining the burst characteristic comprises determining a burst type corresponding to the requested burst, and the selected burst error protocol is selected based on the burst type; and

responding to the burst request according to the selected burst error protocol.

2. The method of claim 1 , wherein the burst type comprises one of a read burst type and a write burst type.

3. The method of claim 1 , wherein the burst type comprises one of a bounded burst type and an unbounded burst type.

4. The method of claim 1 , wherein the burst type comprises one of an incrementing burst type and a wrapping burst type.

5. The method of claim 1 , wherein determining the burst characteristic comprises determining an identity of the master corresponding to the requested burst, and the selected burst error protocol is selected based on the identity of the master.

6. The method of claim 1 , wherein responding to the burst request according to the selected burst error protocol comprises:

initiating a burst transfer;

detecting an error during the burst transfer; and

selectively terminating the burst transfer based on the selected burst error protocol.

7. A memory controller executed at least in part by one or more processors, comprising:

burst protocol selection logic which determines at least one burst characteristic corresponding to a requested burst transfer and selects a burst error protocol based on the at least one burst characteristic, wherein the at least one burst characteristic comprises a burst type of the requested burst transfer;

control logic, coupled to the burst protocol selection logic, which responds to a requested burst according to the selected burst error protocol, wherein the control logic initiates the requested burst transfer in response to the requested burst and further comprises:

error detection logic which detects an error during the requested burst transfer; and

termination control logic which selectively terminates the requested burst transfer based on the selected burst error protocol provided by the burst protocol selection logic; and

a control register, coupled to the burst protocol selection logic, wherein the burst protocol selection logic selects the burst error protocol based on the at least one burst characteristic and information stored in the control register, wherein the information stored in the control register indicates a plurality of burst error protocols, and wherein the burst protocol selection logic selects the burst error protocol from the plurality of burst error protocols, wherein each of the plurality of burst error protocols corresponds to a burst type, the burst type comprising at least one of a read burst type, write burst type, bounded burst type, and unbounded burst type.

8. The memory controller of claim 7 , wherein the memory controller is configurable to communicate with a plurality of masters, and wherein each of the plurality of burst error protocols corresponds to a master of the plurality of masters.

9. The memory controller of claim 8 , wherein the at least one burst characteristic comprises an identifier of a master requesting the requested burst transfer.

10. The memory controller of claim 7 , wherein the burst protocol selection logic selects the burst error protocol based on the at least one burst characteristic and information provided via configuration inputs.

11. The memory controller of claim 10 , wherein the information provided via the configuration inputs indicates a burst error protocol to the burst protocol selection logic.

12. The memory controller of claim 7 , wherein the memory controller is implemented in hardware.

13. The memory controller of claim 7 , wherein the memory controller is implemented in software that is encoded on a computer readable medium.

14. A memory controller executed at least in part by one or more processors, comprising:

means for receiving a burst request from a master;

means for determining a burst characteristic corresponding to the requested burst;

means for selecting one of a plurality of burst error protocols based on the burst characteristic; and

means for responding to the burst request according to the selected burst error protocol, wherein the means for responding to the burst request according to the selected burst error protocol comprises:

means for initiating a burst transfer;

means for detecting an error during the burst transfer; and

means for selectively terminating the burst transfer based on the selected burst error protocol.

15. The memory controller of claim 14 , wherein the means for determining the burst characteristic comprises means for determining a burst type corresponding to the requested burst, and wherein the selected burst error protocol is selected based on the burst type.

16. The memory controller of claim 15 , wherein the burst type comprises at least one of a read burst type, a write burst type, a bounded burst type, an unbounded burst type, an incrementing burst type, and a wrapping burst type.

17. The memory controller of claim 14 , wherein the means for determining the burst characteristic comprises means for determining an identity of the master corresponding to the requested burst, and wherein the selected burst error protocol is selected based on the identity of the master.

18. A memory controller executed at least in part by one or more processors, configurable to communicate with a plurality of masters, comprising:

burst protocol selection logic which determines an identity of one of the plurality of masters corresponding to a requested burst transfer and selects a burst error protocol based on the identity of the one of the plurality of masters;

a control register, coupled to the burst protocol selection logic, wherein the burst protocol selection logic selects the burst protocol based on the identity of the one of the plurality of masters and information stored in the control register; and

control logic, coupled to the burst protocol selection logic, which responds to a requested burst according to the selected burst error protocol.

19. The memory controller of claim 18 , wherein the information stored in the control register indicates a plurality of burst protocols, each corresponding to a master of the plurality of masters, and wherein the burst protocol selection logic selects the burst protocol from the plurality of burst protocols.

20. The memory controller of claim 18 , wherein the memory controller is implemented in hardware.

21. The memory controller of claim 18 , wherein the memory controller is implemented in software that is encoded on a computer readable medium.

22. A memory controller executed at least in part by one or more processors, comprising:

burst protocol selection logic which determines at least one burst characteristic corresponding to a requested burst transfer and selects a burst error protocol from a plurality of burst error protocols based on the at least one burst characteristic, wherein the memory controller is configurable to communicate with a plurality of masters, and wherein each of the plurality of burst error protocols corresponds to a master of the plurality of masters; and

control logic, coupled to the burst protocol selection logic, which responds to a requested burst according to the selected burst error protocol.

23. The memory controller of claim 22 , wherein the control logic initiates the requested burst transfer in response to the requested burst and further comprises:

error detection logic which detects an error during the requested burst transfer; and

termination control logic which selectively terminates the requested burst transfer based on the selected burst error protocol provided by the burst protocol selection logic.

24. The memory controller of claim 22 , further comprising:

a control register, coupled to the burst protocol selection logic, wherein the burst protocol selection logic selects the burst error protocol based on the at least one burst characteristic and information stored in the control register.

25. The memory controller of claim 24 , wherein the information stored in the control register indicates a plurality of burst error protocols, and wherein the burst protocol selection logic selects the burst error protocol from the plurality of burst error protocols.

26. The memory controller of claim 25 , wherein each of the plurality of burst error protocols corresponds to a burst type, the burst type comprising at least one of a read burst type, write burst type, bounded burst type, and unbounded burst type.

27. The memory controller of claim 22 , wherein the at least one burst characteristic comprises a burst type of the requested burst transfer.

28. The memory controller of claim 22 , wherein the at least one burst characteristic comprises an identifier of a master requesting the requested burst transfer.

29. The memory controller of claim 22 , wherein the burst protocol selection logic selects the burst error protocol based on the at least one burst characteristic and information provided via configuration inputs.

Assignments (14)
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 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
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 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 LISTED CHANGE OF NAME SHOULD BE MERGER AND CHANGE PREVIOUSLY RECORDED AT REEL: 040652 FRAME: 0180. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME. Recorded Jan 12, 2017
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 041354/0148 →
CHANGE OF NAME Recorded Nov 8, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040652/0180 →
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 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037354/0225 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037354/0688 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0143 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0553 →