IP Library Granted Patent US 9,330,143
Granted Patent B2
US 9,330,143 · App. 14/133,302 · Granted May 3, 2016

Data storage device supporting accelerated database operations

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,330,143
App. No.
14/133,302
Granted
May 3, 2016
Kind
B2
Abstract

Disclosed herein are data storage device embodiments for accelerating database operations and associated methods. In one embodiment, the data storage device includes a controller; an array of one or more solid-state memory storage devices; a first memory for storing processor executable instructions associated with database operations; and a second memory for storing data related to the database operations; wherein the controller is configured to execute the instructions to: cause data to be read from the solid-state memory storage devices into the second memory; determine whether the data match a query specified by the instructions; and perform a database operation based on the query match determination.

Claims (46)

1. A non-volatile data storage device, comprising:

a controller;

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

wherein the array of one or more solid-state memory storage devices is configured to:

store a plurality of logical pages, the size of the logical pages configured to correspond to a size of a tuple of a database; and

store data that is indexable based on a plurality of logical addresses corresponding to the plurality of logical pages;

a first memory for storing processor executable instructions associated with database operation; and

a second memory for storing data related to the database operations;

wherein the controller is configured to execute the instructions, the instructions causing the controller to:

cause data to be read from the solid-state memory storage devices into the second memory;

determine whether the data match a query specified by the instructions; and

perform a database operation based on the query match determination.

2. The non-volatile data storage device of claim 1 wherein the database operation performed includes returning data matching the query to a host system coupled to the data storage device.

3. The non-volatile data storage device of claim 1 wherein the database operation performed includes adding an indication to an index when the data matches the query.

4. The non-volatile data storage device of claim 1 wherein the database operation performed includes modifying the data matching the query and writing the modified data back to the solid-state memory storage devices.

5. The non-volatile data storage device of claim 1 , wherein the first memory is configured to store database operations that are configurable by a host system coupled to the data storage device.

6. The non-volatile data storage device of claim 1 , wherein the controller is further configured to perform a query-related database operation by selectively skipping reading of the logical pages.

7. The non-volatile data storage device of claim 6 , wherein the selectively skipping is based on logic associated with user data access privilege.

8. The non-volatile data storage device of claim 6 , wherein the selectively skipping is based on logic associated with a query.

9. The non-volatile data storage device of claim 6 , wherein the selectively skipping is performed by a modulo operation on a logical address associated with one or more of the logical pages.

10. The non-volatile data storage device of claim 1 , wherein the controller is further configured to initiate a watchdog timer upon execution of the instructions to prevent a hung condition.

11. The non-volatile data storage device of claim 1 , wherein the controller is further configured to perform one or more logic operations on the data in the second memory.

12. The non-volatile data storage device of claim 11 , wherein the logic operations include an aggregation operation and a summing operation.

13. The non-volatile data storage device of claim 1 , wherein the controller comprises a processor dedicated to execute the instructions.

14. The non-volatile data storage device of claim 1 , wherein the instructions are received from a host system coupled to the data storage device.

15. A method of performing data operation in a non-volatile data storage device comprising an array of one or more solid-state memory storage devices, a first memory, and a second memory, the method comprising:

storing a plurality of logical pages in one or more solid-state memory storage devices, the size of the logical pages configured to correspond to a size of a tuple of a database;

storing data pages in one or more solid-state memory storage devices, wherein the data is indexable based on a plurality of logical addresses corresponding to the plurality of logical pages;

reading data from the solid-state memory storage devices of the non-volatile data storage device into the second memory;

determining whether the data match a query specified; and

performing a database operation based on the query match determination, wherein:

the first memory is configured to store processor executable instructions associated with database operations and the query is specified by the instructions; and

the second memory is configured to store data related to the database operations.

16. The method of claim 15 wherein the database operation performed includes returning data matching the query to a host system coupled to the data storage device.

17. The method of claim 15 wherein the database operation performed includes adding an indication to an index when the data matches the query.

18. The method of claim 15 wherein the database operation performed includes modifying the data matching the query and writing the modified data back to the solid-state memory storage devices.

19. The method of claim 15 , wherein the first memory is configured to store database operations that are configurable by a host system coupled to the data storage device.

20. The method of claim 15 , further comprising: performing a query-related database operation by selectively skipping reading of the logical pages.

21. The method of claim 20 , wherein the selectively skipping is based on logic associated with user data access privilege.

22. The method of claim 20 , wherein the selectively skipping is based on logic associated with a query.

23. The method of claim 20 , wherein the selectively skipping is performed by a modulo operation on a logical address associated with one or more of the logical pages.

24. The method of claim 15 , further comprising: initiating a watchdog timer upon execution of the instructions to prevent a hung condition.

25. The method of claim 15 , further comprising: performing one or more logic operations on the data in the second memory.

26. The method of claim 25 , wherein the logic operations include an aggregation operation and a summing operation.

27. The method of claim 15 , wherein the instructions are executed in a dedicated processor.

28. The method of claim 15 , wherein the instructions are received from a host system coupled to the data storage device.

Assignments (13)
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 - 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 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: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038744/0481 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038744/0281 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2014
From: OBUKHOV, DMITRY S.; BOMBET, MARC A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 033577/0274 →