IP Library Granted Patent US 10,025,664
Granted Patent B2
US 10,025,664 · App. 14/979,278 · Granted Jul 17, 2018

Selective buffer protection

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,025,664
App. No.
14/979,278
Granted
Jul 17, 2018
Kind
B2
Abstract

A data storage device may include a volatile memory device and a controller. The volatile memory device may include a plurality of sections. The controller may be configured to cause data to be stored to a section of the volatile memory device. The controller may also be configured to apply data protection to the data in response to determining that the data comprises a first type of data. The controller may also be configured to refrain from applying data protection to the data in response to determining that the data comprises a second type of data.

Claims (79)

1. A data storage device comprising:

a volatile memory device;

a non-volatile memory device;

a mixed-use buffer including of a plurality of sections, each section including a plurality of pages, wherein the mixed-use buffer is configured to store customer data and non-customer data; and

a controller configured to:

receive data to be stored to a first section or a second section of the mixed-use buffer;

determine whether the data to be stored comprises a first type of data pertaining to customer data from a host device coupled to the controller or a second type of data pertaining to non-customer data internal to the storage device;

in response to determining that the data comprises the first type of data including customer data and error detection data,

apply data protection to the data; and

store the data to the first section of the mixed-use buffer, the first section comprising protected data; and

in response to determining that the data comprises a second type of data,

refrain from applying data protection to the data; and

store the data to the second section of the mixed-use buffer, the second section comprising unprotected data.

2. The data storage device of claim 1 , wherein the controller is configured to apply data protection to the data by at least appending error detection data to at least one page of the section.

3. The data storage device of claim 1 , wherein the controller is further configured to:

store, to a buffer usage lookup table, information about each section of the mixed-use buffer, wherein the information includes:

a section identifier;

a section usage identifier indicative of the type of data stored to the section; and

a protected page identifier that indicates whether at least one page of the section includes data protection.

4. The data storage device of claim 1 , wherein the controller is further configured to:

receive, from a host device, a read command, wherein the read command includes a command to read data from a particular section of the mixed-use buffer;

determine, based on a section usage identifier associated with the particular section, whether the particular section comprises the first type of data;

in response to determining that the particular section comprises the first type of data, read the data from the particular section and send the data to the host device; and

in response to determining that the particular section does not comprise the first type of data, send a message to the host device indicating that the particular section does not comprise the first type of data.

5. The data storage device of claim 1 , wherein the mixed-use buffer is accessible to store at least the customer data and the non-customer data.

6. A method comprising:

receiving, by a controller, data to be stored to a first section or a second section of a mixed-use buffer, wherein the mixed-use buffer comprises a plurality of sections, wherein the mixed-use buffer is a part of a storage device that additionally includes a non-volatile memory device and a volatile memory device;

determining whether the data to be stored comprises a first type of data pertaining to customer data from a host device coupled to the controller or a second type of data pertaining to non-customer data internal to the storage device;

in response to determining that the data comprises the first type of data,

applying, by the controller, data protection to the data; and

storing the data to the first section of the mixed-use buffer, the first section comprising protected data; and

in response to determining that the data comprises a second type of data,

refraining from applying, by the controller, data protection to the data; and storing the data to the second section of the mixed-use buffer, the second section comprising unprotected data.

7. The method of claim 6 , wherein applying data protection to the data includes at least appending error detection data to at least one page of the section.

8. The method of claim 6 , further comprising:

causing, by the controller, information about each section of the mixed-use buffer to be stored to a buffer usage lookup table, wherein the information includes:

a section identifier;

a section usage identifier indicative of the type of data stored to the section; and

a protected page identifier that indicates whether at least one page of the section includes data protection.

9. The method of claim 6 , further comprising

receiving, by the controller and from the host device, a read command, wherein the read command includes a command to read data from a particular section of the mixed-use buffer;

determining, by the controller and based on a section usage identifier associated with the particular section, whether the particular section comprises the first type of data;

in response to determining that the particular section comprises the first type of data:

reading, by the controller, data from the particular section;

sending, by the controller, the data to the host device; and

in response to determining that the particular section does not comprise the first type of data:

sending, by the controller, a message to the host device indicating that the particular section does not comprise the first type of data.

10. The method of claim 6 , wherein the mixed-use buffer is accessible to store at least the customer data and the non-customer data.

11. A non-transitory computer-readable storage medium storing instructions that, when executed, cause a controller of a data storage device to:

receive data to be stored to a first section or a second section of a mixed-use buffer, wherein the mixed-use buffer comprises a plurality of sections, wherein the mixed-use buffer is a part of the data storage device that additionally includes a non-volatile memory device and a volatile memory device;

determine whether the data to be stored comprises a first type of data pertaining to customer data from a host device coupled to the controller or a second type of data pertaining to non-customer data internal to the storage device;

in response to determining that the data comprises the first type of data including customer data and error detection data,

apply data protection to the data and

store the data to the first section of the mixed-use buffer, the first section comprising protected data; and

in response to determining that the data comprises a second type of data,

refrain from applying data protection to the data and

store the data to the second section of the mixed-use buffer, the second section comprising unprotected data.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the instructions cause the controller to apply data protection to the data by at least appending error detection data to at least one page of the section.

13. The non-transitory computer-readable storage medium of claim 11 , further comprising instructions that, when executed, cause the controller to:

store, to a buffer usage lookup table, information about each section of mixed-use buffer, wherein the information includes:

a section identifier;

a section usage identifier indicative of the type of command that caused data to be stored to the section; and

a protected page identifier that indicates whether at least one page of the section includes data protection.

14. The non-transitory computer-readable storage medium of claim 11 , further comprising instructions that, when executed, cause the controller to:

receive, from the host device, a read command, wherein the read command includes a command to read data from a particular section of the mixed-use buffer;

determine, based on a section usage identifier associated with the particular section, whether the particular section comprises the first type of data;

in response to determining that the particular section comprises the first type of data, reading the data from the particular section of the mixed-use buffer and sending the data to the host device; and

in response to determining that the particular section does not comprise the first type of data, sending a message to the host device indicating that the host device did not write the data at the particular section.

15. The non-transitory computer-readable storage medium of claim 11 , wherein the mixed-use buffer is accessible to store at least the customer data and the non-customer data.

16. A system comprising:

means for receiving data to a first section or a second section of a mixed-use buffer, wherein the mixed-use buffer comprises a plurality of sections, wherein the mixed-use buffer is a part of a storage device that additionally includes a non-volatile memory device and a volatile memory device;

means for determining whether the data to be stored comprises a first type of data pertaining to customer data from a host device coupled to the controller or a second type of data pertaining to non-customer data internal to the storage device;

means for, in response to determining that the data comprises the first type of data including customer data and error detection data,

applying data protection to the data; and

storing the data to the first section of the mixed-use buffer, the first section comprising protected data; and

means for, in response to determining that the data comprises a second type of data,

refraining from applying data protection to the data; and

storing the data to the second section of the mixed-use buffer, the second section comprising unprotected data.

17. The system of claim 16 , wherein means for applying data protection to the data includes means for at least appending error detection data to at least one page of the section.

Assignments (12)
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Nov 14, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069411/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2024
From: SANDISK TECHNOLOGIES, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 069168/0273 →
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 - 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 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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT SERIAL NO 15/025,946 PREVIOUSLY RECORDED AT REEL: 040831 FRAME: 0265. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 15, 2017
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 043973/0762 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2016
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 040831/0265 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2015
From: GERHART, DARIN EDWARD; ORTMEIER, NICHOLAS EDWARD; SUGINAKA, YASUNOBU
To: HGST NETHERLANDS B.V.
Reel/Frame 037355/0548 →