IP Library Granted Patent US 9,081,666
Granted Patent B2
US 9,081,666 · App. 13/768,215 · Granted Jul 14, 2015

Non-volatile memory channel control using a general purpose programmable processor in combination with a low level programmable sequencer

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,081,666
App. No.
13/768,215
Granted
Jul 14, 2015
Kind
B2
Abstract

A system includes a control processor, a non-volatile memory device interface, and a micro-sequencer. The control processor may be configured to receive commands and send responses via a command interface. The non-volatile memory device interface may be configured to couple the system to one or more non-volatile memory devices. The micro-sequencer is generally coupled to (i) the control processor and (ii) the non-volatile memory device interface. The micro-sequencer includes a control store readable by the micro-sequencer and writable by the control processor. In response to receiving a particular one of the commands, the control processor is enabled to cause the micro-sequencer to begin executing at a location in the control store according to the particular command and the micro-sequencer is enabled to perform at least a portion of the particular command according to a protocol of the one or more non-volatile memory devices coupled to the non-volatile memory device interface.

Claims (26)

1. A system comprising:

a control processor configured to receive commands and send responses via a command interface;

a non-volatile memory device interface configured to couple said system to one or more non-volatile memory devices; and

a micro-sequencer coupled to (i) said control processor and (ii) said non-volatile memory device interface, said micro-sequencer comprising a control store readable by said micro-sequencer and writable by said control processor, wherein, in response to receiving a particular one of said commands,

said control processor is enabled to cause said micro-sequencer to begin executing at a location in the control store according to said particular one of said commands and

said micro-sequencer is enabled to perform at least a portion of said particular one of said commands according to a protocol of said one or more non-volatile memory devices coupled to said non-volatile memory device interface.

2. The system according to claim 1 , wherein said non-volatile memory device interface comprises a plurality of data I/O pins and a plurality of control I/O pins.

3. The system according to claim 2 , wherein said micro-sequencer is enabled to change a state of the control I/O pins and the data I/O pins to perform said particular one of said commands according to said protocol.

4. The system according to claim 1 , wherein said control store is programmed by said control processor to perform one or more protocols associated with said one or more non-volatile memory devices attached to said non-volatile memory device interface.

5. The system according to claim 4 , wherein said control processor is further configured to:

initially enable said control processor to program said control store to perform a low-speed protocol compatible with a plurality of types of non-volatile memory devices; and

subsequently enable said control processor to program said control store to perform a higher-speed protocol compatible with the one or more non-volatile memory devices.

6. The system according to claim 1 , further comprising:

an output data interface coupled to said non-volatile memory device interface via said micro-sequencer, said output data interface comprising an output data buffer enabled to receive data to be sent to said non-volatile memory device interface; and

an input data interface coupled to said non-volatile memory device interface via said micro-sequencer, said input data interface comprising an input data buffer enabled to receive data received from said non-volatile memory device interface.

7. The system according to claim 6 , wherein said micro-sequencer is further enabled to (i) detect a full condition of said input data buffer, and (ii) jump in response to detecting said full condition to a determined location in the control store.

8. The system according to claim 1 , wherein said system is part of a solid state drive (SSD) device.

9. The system according to claim 1 , wherein said system is implemented as one or more integrated circuits.

10. A method of controlling a non-volatile memory channel comprising the steps of:

receiving commands and sending responses via a command interface coupled to a control processor; and

using a micro-sequencer coupled to said control processor to begin executing instructions at a location in a control store, wherein said location is determined by said control processor according to a particular one of said commands received, wherein said micro-sequencer performs at least a portion of said particular one of said commands according to a protocol of one or more non-volatile memory devices coupled to said micro-sequencer by a non-volatile memory device interface.

11. The method according to claim 10 , further comprising:

using said control processor to program said control store to perform one or more protocols associated with said one or more non-volatile memory devices attached to said non-volatile memory device interface.

12. The method according to claim 11 , further comprising:

initially enabling said control processor to program said control store to perform a low-speed protocol compatible with a plurality of types of non-volatile memory devices; and

subsequently enabling said control processor to program said control store to perform a higher-speed protocol compatible with the one or more non-volatile memory devices.

Assignments (4)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2015
From: LSI CORPORATION
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 034770/0859 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2013
From: BREWER, CHRISTOPHER; COHEN, EARL T.
To: LSI CORPORATION
Reel/Frame 029821/0558 →