IP Library Granted Patent US 8,645,618
Granted Patent B2
US 8,645,618 · App. 13/332,849 · Granted Feb 4, 2014

Flexible flash commands

Inventors: Vinay Ashok Somanache (Pune-Maharashtra, IN); Jackson L. Ellis (Fort Collins, CO); Michael S. Hicken (Rochester, MN); Timothy W. Swatosh (Rochester, MN); Martin S. Dell (Bethlehem, PA); Pamela S. Hempstead (Oronoco, MN)
Assignee: LSI Corporation
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 8,645,618
App. No.
13/332,849
Granted
Feb 4, 2014
Kind
B2
Abstract

A method of controlling a flash media system. The method includes providing a flash lane controller having a processor control mode and creating and presenting soft contexts. The soft contexts generally place the flash lane controller into the processor control mode. In the processor control mode, the flash lane controller stores the entire soft context, finishes executing any outstanding contexts, suspends normal hardware automation, and then executes the soft context.

Claims (26)

1. A method of controlling a flash media system, said method comprising:

providing a flash lane controller having a processor control mode; and

creating and presenting soft contexts, wherein said soft contexts place the flash lane controller into said processor control mode, where the flash lane controller stores the entire soft context, finishes executing any outstanding contexts, suspends normal hardware automation, and then executes the soft context.

2. The method according to claim 1 , wherein said processor control mode is transparent to logic outside of said flash lane controller.

3. The method according to claim 1 , wherein said soft contexts present soft commands to said flash lane controller.

4. The method according to claim 3 , wherein said soft commands are configured to perform operations that are not natively supported by hardware.

5. The method according to claim 3 , wherein said soft commands comprise one or more non-automated commands.

6. The method according to claim 3 , wherein said soft commands comprise one or more vendor-specific diagnostic commands.

7. The method according to claim 3 , wherein said soft commands comprise one or more error handling commands.

8. The method according to claim 1 , wherein upon receiving a soft context said flash lane controller switches from a normal operating mode to the processor control mode, performs one or more soft flash operations specified by one or more soft commands, returns to said normal operating mode, and begins fetching contexts from one or more context lists supported by the flash lane controller.

9. An apparatus comprising:

a flash lane controller configured to execute contexts to each of a plurality of flash devices attached to said flash lane controller, said flash lane controller having a processor control mode; and

a nanosequencer disposed within said flash lane controller and configured to support processor control mode operations tailored to driving hardware resources of the flash lane controller for accessing at least one of the flash devices and moving data to and from a datapath.

10. The apparatus according to claim 9 , wherein said processor control mode operations are performed in response to a set of nano-instructions for a flash bus operation, waiting for a specified number of clock cycles, waiting for a ready/busy line to go to a certain state defined in a related field, waiting for a certain condition while polling a status register, waiting for a dataflow manager buffer to reach a particular state, setting a number of clock cycles between successive status polling attempts, setting a default number of bytes for data transfers, setting the three most significant bits of a 40-bit flash address for a flash transaction, setting the two least significant bytes of a 40-bit flash address for a flash transaction, setting a format of a status polling command, obtaining a pass/fail status of an operation using the contents of the most recently obtained status register, initiating a data prefetch operation for a program transaction using one of two local buffers in a dataflow manager, setting a local data buffer to which a next read transfer should be directed and associating a DMA context pointer with a buffer transfer, disposing of the DMA context pointer for the given operation, asserting an interrupt to the processor and placing an argument in an interrupt register so that the interrupt can be identified uniquely by firmware, fetching a next soft context pointer in processor control mode, and escaping from the processor control mode.

11. The apparatus according to claim 9 , wherein said apparatus is a flash media controller.

12. The apparatus according to claim 11 , wherein said apparatus is an integrated circuit.

13. The apparatus according to claim 12 , wherein said flash media controller comprises multiple instances of said flash lane controller.

14. The apparatus according to claim 13 , wherein said apparatus is part of a solid state storage device comprising a plurality of flash devices arranged in a plurality of flash lanes, each of said flash lanes controlled by a respective one of said multiple instances of said flash lane controller.

15. The apparatus according to claim 11 , wherein said processor control mode comprises executing soft contexts that present soft commands to said flash lane controller.

16. The apparatus according to claim 15 , wherein said soft commands are configured to perform operations that are not natively supported by hardware of said flash media controller.

17. The apparatus according to claim 9 , wherein said processor control mode is transparent to logic outside of said flash lane controller.

18. The apparatus according to claim 16 , wherein said soft commands comprise one or more of a non-automated command, a vendor-specific diagnostic command, and an error handling command.

19. The apparatus according to claim 16 , wherein said flash lane controller is configured to switch from a normal operating mode to the processor control mode upon receiving a soft context, performs one or more soft flash operations specified by one or more soft commands, returns to said normal operating mode upon completion of said soft context, and begins fetching contexts from one or more context lists supported by the flash lane controller.

20. A solid state storage device comprising:

a flash media controller comprising multiple instances of a flash lane controller, said flash lane controller having a processor control mode configured to execute soft contexts, wherein said soft contexts are configured to perform operations that are not natively supported by hardware of said flash media controller; and

a plurality of flash devices arranged in a plurality of flash lanes, each of said flash lanes controlled by a respective one of said multiple instances of said flash lane controller.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE ERROR IN RECORDING THE MERGER IN THE INCORRECT US PATENT NO. 8,876,094 PREVIOUSLY RECORDED ON REEL 047351 FRAME 0384. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 049248/0558 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF THE MERGER PREVIOUSLY RECORDED AT REEL: 047230 FRAME: 0910. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047351/0384 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047230/0910 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
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 Apr 3, 2015
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035390/0388 →
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 22, 2012
From: SOMANACHE, VINAY ASHOK; ELLIS, JACKSON L.; HICKEN, MICHAEL S; SWATOSH, TIMOTHY W.; DELL, MARTIN S.; HEMPSTEAD, PAMELA S.
To: LSI CORPORATION
Reel/Frame 027741/0805 →
Continuity (2)
Provisional Application 61507665 · Jul 14, 2011
Related Publication 20130019050A1 · Jan 17, 2013