IP Library Granted Patent US 10,649,674
Granted Patent B2
US 10,649,674 · App. 15/970,408 · Granted May 12, 2020

Extended controller pre-initialization using boot partitions in solid state systems

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,649,674
App. No.
15/970,408
Granted
May 12, 2020
Kind
B2
Abstract

The present disclosure describes technologies and techniques for use by a data storage controller—such as a controller for use with a NAND device or other non-volatile memory (NVM)—to retrieve configuration information from a NAND boot partition during an initialization procedure initiated by a host. Within illustrative examples described herein, the configuration information stored in the NAND boot partition is provided in addition to configuration information stored within physical layer register sets of the data storage controller. In the examples, the data storage controller is configured for use with versions of Peripheral Component Interconnect (PCI) Express—Non-Volatile Memory express (NVMe) that provide support for NAND boot partitions. In these examples, the use of the NAND boot partition allows an NVM device manufacturer to implement at least some new features in firmware or software within an existing NVM card, without modifying the physical layer registers.

Claims (46)

1. A method for use by a data storage system having a data storage controller and a non-volatile memory (NVM) device, comprising:

transferring initial configuration information from a hardware component of the data storage controller to a host device;

transferring additional configuration information from a boot partition of the NVM device to the host device;

receiving initialization commands from the host device that are based on the initial configuration information and the additional configuration information; and

enabling one or more processing components of the data storage system in response to the initialization commands received from the host device.

2. The method of claim 1 , wherein the initial configuration information includes information identifying a first set of capabilities or features of the data storage system and wherein the additional configuration information includes information identifying a second set of capabilities or features of the data storage system.

3. The method of claim 2 , wherein the initial configuration information lacks Vital Product Information Data (VPD).

4. The method of claim 2 , wherein the additional configuration information includes one or more of Vital Product Information Data (VPD) and original equipment manufacturer (OEM)-specific information.

5. The method of claim 2 , further comprising performing at least one operation based on the second set of capabilities or features of the data storage system using one or more of the processing components enabled in response to the initialization commands received from the host device.

6. The method of claim 1 , wherein the NVM device comprises a NAND device, and wherein the boot partition of the NVM device is a NAND boot partition.

7. The method of claim 1 , wherein the data storage system is a removable data storage system removably connectable to the host device.

8. A data storage system for use with a host device, comprising:

a non-volatile memory (NVM) device configured to include a boot partition; and

a data storage controller including

a hardware register configured to store initial configuration information,

a first configuration information transference controller configured to transfer the initial configuration information from the hardware register to the host device,

a second configuration information transference controller configured to transfer additional configuration information from the boot partition of the NVM device to the host device, and

a command reception controller configured to receive commands from the host device based on the initial configuration information and the additional configuration information.

9. The data storage system of claim 8 , further comprising:

a processing component enablement system configured to enable one or more processing components of the data storage system in response to the commands received from the host device.

10. The data storage system of claim 8 , wherein the data storage controller further includes a physical layer configured for use with Peripheral Component Interconnect (PCI) Express (PCIe).

11. The data storage system of claim 10 , wherein the first and second configuration information transference controllers are configured to transfer information to the host device using PCIe protocols.

12. The data storage system of claim 8 , wherein the NVM device comprises a NAND device, and wherein the boot partition of the NVM device is a NAND boot partition.

13. The data storage system of claim 8 , wherein the data storage system is a removable data storage system removably connectable to the host device.

14. A data storage system for use with a host device, comprising:

a non-volatile memory (NVM) device; and

a data storage controller configured to

transfer initial configuration information from a hardware component of the data storage controller to the host device,

transfer additional configuration information from a boot partition of the NVM device to the host device,

receive initialization commands from the host device that are based on the initial configuration information and the additional configuration information, and

enable one or more processing components of the data storage system in response to the initialization commands received from the host device.

15. The data storage system of claim 14 , wherein the initial configuration information lacks Vital Product Information Data (VPD), and wherein the additional configuration information includes Vital Product Information Data (VPD).

16. The data storage system of claim 14 , wherein the hardware component includes a register set formed within a physical layer of the data storage controller.

17. The data storage system of claim 14 , wherein the data storage controller is further configured to execute one or more memory access requests received from the host device by accessing non-boot partition portions of the NVM device.

18. The data storage system of claim 14 , wherein the NVM device comprises a NAND device.

19. The data storage system of claim 14 , wherein the data storage system is a removable data storage system removably connectable to the host device.

20. The data storage system of claim 14 , wherein the NVM device is configured in accordance with Non-Volatile Memory express (NVMe), and wherein the boot partition of the NVM device is an NVMe boot partition.

21. An apparatus for use in a data storage system having a data storage controller and a non-volatile memory (NVM) device, comprising:

means for transferring initial configuration information from a hardware component of the data storage controller to a host device;

means for transferring additional configuration information from a boot partition of the NVM device to the host device;

means for receiving initialization commands from the host device that are based on the initial configuration information and the additional configuration information; and

means for enabling one or more processing components of the data storage system in response to the initialization commands received from the host device.

22. The apparatus of claim 21 ,

wherein the means for transferring the initial configuration information includes means for transferring information identifying a first set of capabilities or features of the data storage system, and

wherein the means for transferring the additional configuration information includes means for transferring information identifying a second set of capabilities or features of the data storage system.

23. The apparatus of claim 21 , further including means for executing one or more memory access requests received from the host device by accessing non-boot partition portions of the NVM device.

Assignments (10)
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2018
From: SASIDHARAN, VINOD; MAHAJAN, RISHABH; MOURYA, ABHISHEK
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 045710/0302 →