IP Library Patent Application 18823094
Patent Application
App. No. 18/823,094

Configurable Arithmetic HW Accelerator

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 None
App. No.
18/823,094
Abstract

A data storage device includes a memory device and a controller coupled to the memory device. The controller includes a decoder multiplexer (mux) module, a plurality of request/response channels coupled to the decoder mux module, an arithmetic pipeline module coupled to the plurality of request/response channels, an arbiter module coupled to the plurality of request/response channels and the arithmetic pipeline module, a mux/arbiter module coupled to the arithmetic pipeline module, a random access memory (RAM) access module coupled to the decoder mux module and the mux/arbiter module, and a RAM coupled to the mux/arbiter module. The controller is configured to determine a pipeline depth value and a calculation parallelism value of the arithmetic pipeline module and configure the arithmetic pipeline module based on the determining.

Claims (34)

1 . A data storage device, comprising:

a memory device; and

a controller coupled to the memory device, wherein the controller comprises an arithmetic pipeline module, and wherein the controller is configured to:

determine a pipeline depth value and a calculation parallelism value of the arithmetic pipeline module, wherein the pipeline depth value is a number of stages to perform a series of calculations and the calculation parallelism value is a number of parallel arithmetic elements of each calculation of the series of calculations, wherein each calculation of the series of calculations comprises a plurality of distinct arithmetic elements; and

configure the arithmetic pipeline module based on the determining.

2 . The data storage device of claim 1 , wherein the arithmetic pipeline module comprises a pipeline control module coupled to the arithmetic pipeline module, and wherein the pipeline control module is configured to:

control an operation of the arithmetic pipeline module according to values of one or more registers located in a calculation configuration storage location of the controller.

3 . The data storage device of claim 2 , wherein the values are used to determine the pipeline depth value and the calculation parallelism value.

4 . The data storage device of claim 1 , wherein the plurality of distinct arithmetic elements further includes an arithmetic element having a configurable, algorithm-specific calculation.

5 . The data storage device of claim 1 , wherein the pipeline depth value is a first value and the calculation parallelism value is a second value, and wherein the first value and the second value are configured based on a tradeoff between latency, timing, area, and power per application.

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

receive one or more read/write commands; and

provide each of the one or more read/write commands to one or a plurality of request/response channels.

7 . The data storage device of claim 6 , wherein the controller is further configured to determine pipeline parameters based on a workload of the received one or more read/write commands.

8 . The data storage device of claim 7 , wherein the controller is further configured to configure the arithmetic pipeline module based on the determined pipeline parameters.

9 . The data storage device of claim 8 , wherein the controller is further configured to apply a round robin scheme to provide a read/write command from the plurality of request/response channels to the arithmetic pipeline module.

10 . The data storage device of claim 9 , wherein the controller is further configured to perform, by the arithmetic pipeline module, a series of calculations on the provided read/write command.

11 . The data storage device of claim 10 , wherein the controller is further configured to output a result of the series of calculations on the provided read/write command.

12 . A data storage device, comprising:

memory means; and

a controller coupled to the memory means, wherein the controller comprises:

a plurality of multiplexers;

a plurality of arithmetic elements; and

a plurality of registers and/or a plurality of flip-flops; and wherein the controller is configured to:

determine a pipeline depth value and a calculation parallelism value; and

configure an arithmetic pipeline module based on the pipeline depth value and the calculation parallelism value, wherein configuring comprises selecting and deselecting one or more multiplexers of the plurality of multiplexers, one or more arithmetic elements of the plurality of arithmetic elements, and one or more registers of the plurality of registers and/or one or more flip-flops of the plurality of flip-flops.

13 . The data storage device of claim 12 , wherein the plurality of arithmetic elements is selected from a group consisting of dividers, multipliers, adders, subtractors, comparators, shifters, multiplexers, and combinations thereof.

14 . The data storage device of claim 13 , wherein the plurality of arithmetic elements is predetermined.

15 . The data storage device of claim 12 , wherein the controller comprises a calculation accelerator.

16 . The data storage device of claim 15 , wherein the calculation accelerator comprises a decoder, request/response channels, an arbiter, and an arithmetic pipeline module.

17 . The data storage device of claim 16 , wherein the arithmetic pipeline module comprises a plurality of interconnects and an interface.

18 . The data storage device of claim 16 , wherein the arithmetic pipeline module is coupled to a static configuration parameters module.

19 . The data storage device of claim 16 , wherein the arithmetic pipeline module is coupled to a calculation configuration module.

20 . The data storage device of claim 16 , wherein the arithmetic pipeline includes a pipeline control module.

Assignments (5)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2024
From: RYABININ, YURI; BENISTY, SHAY
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 069399/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069440/0669 →
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Nov 14, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069411/0486 →