IP Library Granted Patent US 10,120,590
Granted Patent B2
US 10,120,590 · App. 15/271,527 · Granted Nov 6, 2018

Method for providing read data flow control or error reporting using a read data strobe

Inventors: Mark Alan McClain (San Diego, CA); Qamrul Hasan (Santa Clara, CA); Clifford Alan Zitlaw (San Jose, CA)
Assignee: Cypress Semiconductor Corporation
G06F3/0614G06F3/0653G06F3/0659G06F3/0665G06F3/0673G06F11/0745G06F11/0757G06F11/0769G06F11/0772
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,120,590
App. No.
15/271,527
Granted
Nov 6, 2018
Kind
B2
Abstract

Disclosed herein are system, apparatus, methods and/or combinations and sub-combinations thereof, for using a read data strobe signal received at a host device from a peripheral device to convey variable latency (flow) control or report an error in the data content read from the peripheral device. Reception of the read data strobe signal before a predetermined maximum latency time, provides variable latency control back to the host by indicating when valid data is available for capture. If the read data strobe signal is not received before expiration of a predetermined maximum latency time, the peripheral controller is indicating a read data error back to the host.

Claims (46)

1. A method comprising:

programming, by a host interface of a host device, a first predetermined latency of a plurality of predetermined latencies;

counting, by the host interface, a counter value for receipt of a read data strobe signal from a peripheral device;

capturing valid data by the host interface when the counter value is not above the first predetermined latency when the read data strobe signal is received; and

sending an error response to a processing unit of the host device when the counter value is above the first predetermined latency before the read data strobe signal has been received.

2. The method of claim 1 , further comprising sending the valid data to the processing unit of the host device.

3. The method of claim 1 , wherein programming the first predetermined latency is performed by software during an idle state.

4. The method of claim 1 , wherein programming the first predetermined latency comprises setting a first number of clock pulses that corresponds to the first predetermined latency.

5. The method of claim 1 , wherein the first predetermined latency is an initial access latency.

6. The method of claim 1 , further comprising:

programming, by the host interface, a second predetermined latency of the plurality of predetermined latencies;

wherein the second predetermined latency corresponds to a delay in reading data at a boundary between data pages in the peripheral device; and

sending a read data error to the processing unit when the read data strobe signal has not been received before expiration of the second predetermined latency.

7. A host device comprising:

a processing unit; and

a host interface coupled to the processing unit, the host interface configured at least to:

program a first predetermined latency of a plurality of predetermined latencies;

count a counter value for receipt of a read data strobe signal from a peripheral device;

capture valid data when the counter value is not above the first predetermined latency when the read data strobe signal is received; and

send an error response to the processing unit when the counter value is above the first predetermined latency before the read data strobe signal has been received.

8. The device of claim 7 , wherein the host interface is further configured to send the valid data to the processing unit.

9. The device of claim 7 , wherein the host interface comprises software configured to program the first predetermined latency during an idle state.

10. The device of claim 7 , wherein, to program the first predetermined latency, the host interface is configured to set a first number of clock pulses that corresponds to the first predetermined latency.

11. The device of claim 7 , wherein the first predetermined latency is an initial access latency.

12. The device of claim 7 , wherein the host interface is further configured to:

program a second predetermined latency of the plurality of predetermined latencies;

wherein the second predetermined latency corresponds to a delay in reading data at a boundary between data pages in the peripheral device; and

send a read data error to the processing unit when the read data strobe signal has not been received before expiration of the second predetermined latency.

13. The device of claim 7 , wherein the device is a system-on-chip (SoC).

14. A system comprising:

a peripheral device;

an interface bus coupled to the peripheral device; and

a host device comprising a processing unit and a host interface that is coupled to the interface bus, the host interface configured at least to:

program a first predetermined latency of a plurality of predetermined latencies;

count a counter value for receipt of a read data strobe signal from the peripheral device;

capture valid data when the counter value is not above the first predetermined latency when the read data strobe signal is received; and

send an error response to the processing unit when the counter value is above the first predetermined latency before the read data strobe signal has been received.

15. The system of claim 14 , wherein the host interface is further configured to send the valid data to the processing unit.

16. The system of claim 14 , wherein the host interface comprises software configured to program the first predetermined latency during an idle state.

17. The system of claim 14 , wherein, to program the first predetermined latency, the host interface is configured to set a first number of clock pulses that corresponds to the first predetermined latency.

18. The system of claim 14 , wherein the first predetermined latency is an initial access latency.

19. The system of claim 14 , wherein the host interface is further configured to:

program a second predetermined latency of the plurality of predetermined latencies;

wherein the second predetermined latency corresponds to a delay in reading data at a boundary between data pages in the peripheral device; and

send a read data error to the processing unit when the read data strobe signal has not been received before expiration of the second predetermined latency.

20. The system of claim 14 , wherein the peripheral device comprises flash memory and the host device is a system-on-chip (SoC).

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2022
From: CYPRESS SEMICONDUCTOR CORPORATION
To: INFINEON TECHNOLOGIES LLC
Reel/Frame 059721/0467 →
RELEASE OF SECURITY INTEREST Recorded Mar 16, 2022
From: MUFG UNION BANK, N.A.
To: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
Reel/Frame 059410/0438 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Oct 28, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MUFG UNION BANK, N.A.
Reel/Frame 050896/0366 →
PATENT SECURITY AGREEMENT Recorded Apr 25, 2017
From: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 042326/0396 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2017
From: MCCLAIN, MARK ALAN; HASAN, QAMRUL; ZITLAW, CLIFFORD ALAN
To: SPANSION LLC
Reel/Frame 040905/0313 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2017
From: SPANSION LLC
To: CYPRESS SEMICONDUCTOR CORPORATION
Reel/Frame 041309/0001 →
Continuity (2)
Continuation 14054265 · Oct 15, 2013
Related Publication 20170090781A1 · Mar 30, 2017