IP Library Granted Patent US 9,053,008
Granted Patent B1
US 9,053,008 · App. 13/430,447 · Granted Jun 9, 2015

Systems and methods for providing inline parameter service in data storage devices

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,053,008
App. No.
13/430,447
Granted
Jun 9, 2015
Kind
B1
Abstract

Disclosed herein is a controller architecture that pairs a controller with a NVM (non-volatile memory) storage system over a high-level, high speed interface such as PCIe. In one embodiment, the NVM storage system includes a bridge that communicates with the controller via the high-level interface, and controls the NVM via an interface. The controller is provided a rich set of physical level of controls over individual elements of the NVM. In one embodiment, the controller includes a volatile memory (e.g., DRAM) that stores parameters related to the operation of the NVM as provided by the bridge. The parameters may be related to optimizing use of the NVM and are automatically appended by the controller to appropriate data storage commands to the bridge. The parameters may be stored in a table format in which each entry is indexed by a physical address of the NVM.

Claims (43)

1. A data storage drive, comprising:

an array of one or more solid-state storage devices;

a bridge device coupled with the array of one or more solid-state storage devices over an Open NAND Flash Interface (ONFI) interface, the bridge device comprising a first processor configured to perform channel management processing for the one or more solid-state storage devices; and

a controller comprising a second processor and a volatile memory storing a parameter table including optimal read threshold data associated with each of a plurality of addresses of the one or more solid-state storage devices, wherein the controller is configured to:

provide a data access command including physical address information to the bridge device over a Peripheral Component Interconnect Express (PCIe) interface using the second processor; and

automatically retrieve read threshold data from the parameter table based on the physical address information and append the read threshold data to the data access command;

wherein the bridge device is configured to:

determine the read threshold data based at least in part on a current condition of at least a portion of the one or more solid-state storage devices;

provide the read threshold data to the controller using the first processor, thereby causing the read threshold data to be stored in the parameter table;

receive, from the controller, the data access command including the read threshold data and the physical address information; and

use the first processor in executing the data access command in the array of one or more solid-state storage devices based at least in part on the read threshold data and the physical address information.

2. The data storage drive of claim 1 , wherein the bridge device is further configured to:

determine updated read threshold data based at least in part on an updated condition of the at least a portion of the one or more solid-state storage devices; and

cause the updated read threshold data to be stored in the parameter table.

3. The data storage drive of claim 1 , wherein the controller is configured to automatically append the read threshold data to the data access command by at least:

locating an entry in the parameter table with an address that matches an address of the data access command; and

appending the read threshold data to the data access command;

wherein the read threshold data was stored in the located entry.

4. The data storage drive of claim 3 , wherein appending the read threshold data further comprises determining a type of the data access command and appending read threshold data associated with the determined type of data access command.

5. The data storage drive of claim 1 , wherein the controller is configured to, upon initialization, retrieve a persistent copy of the parameter table from the one or more solid-state storage devices and load the parameter table into the volatile memory.

6. A method for managing parameters related to storage access operations in a data storage drive, the method comprising:

by a first processor of a bridge device coupled with an array of one or more solid-state storage devices, the first processor being configured to perform channel management processing for the one or more solid-state storage devices:

determining read threshold data based at least in part on a current condition of at least a portion of the one or more solid-state storage devices;

providing the read threshold data to a controller over a Peripheral Component Interconnect Express (PCIe) interface, thereby causing the read threshold data to be stored in a parameter table including optimal read threshold data associated with each of a plurality of addresses of the one or more solid-state storage devices, the parameter table being stored in a volatile memory of the controller;

receiving, from the controller, a data access command including the read threshold data from the parameter table and physical address information; and

executing the data access command in the array of one or more solid-state storage devices over an Open NAND Flash Interface (ONFI) interface based at least in part on the read threshold data;

wherein the controller comprises a second processor, the controller being configured to automatically retrieve the read threshold data from the parameter table based on the physical address information and append the read threshold data to the data access command using the second processor.

7. The method of claim 6 , wherein the controller is configured to automatically append the read threshold data to the data access command at least in part by determining a type of the data access command, wherein the read threshold data is associated with the determined type of data access command.

8. The method of claim 6 , further comprising, by the bridge device:

determining updated read threshold data based on an updated condition of the one or more solid-state storage devices; and

storing the updated read threshold data in the parameter table.

9. A bridge device usable for managing data in a data storage drive, the bridge device comprising:

a first processor;

wherein the bridge device is coupled with an array of one or more solid-state storage devices over an Open NAND Flash Interface (ONFI) interface and configured to perform channel management processing for the one or more solid-state storage devices; and

wherein the bridge device is configured to:

periodically send, to a controller of the data storage drive over a Peripheral Component Interconnect Express (PCIe) interface, parameter data related to one or more of endurance, error rate, and performance of the array of one or more solid-state storage devices, thereby causing the parameter data to be stored in a parameter table including parameter data entries associated with each of a plurality of addresses of the one or more solid-state storage devices, the parameter table being stored in volatile memory of the controller;

receive a data access command from the controller, wherein the data access command includes at least a portion of the parameter data and physical address information;

extract the at least a portion of the parameter data from the commands; and

execute the data access command in the array of one or more solid-state storage devices based at least in part on the extracted parameter data;

wherein the controller is configured to automatically retrieve the at least a portion of the parameter data from the parameter table based on the physical address information and append the at least a portion of the parameter data to the data access command.

10. The bridge device of claim 9 , wherein the at least a portion of the parameter data is associated with one or more addresses for the data access command.

11. The bridge device of claim 9 , wherein the parameter data includes data related to a read voltage threshold of a page.

12. The bridge device of claim 9 , wherein the controller is configured to execute data storage commands in a magnetic data storage module.

Assignments (7)
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 →
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 →
RELEASE OF SECURITY INTEREST AT REEL 038744 FRAME 0481 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0556 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 045501/0714 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038722/0229 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038744/0281 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038744/0481 →