IP Library Granted Patent US 11,567,777
Granted Patent B2
US 11,567,777 · App. 17/582,642 · Granted Jan 31, 2023

Storage system and method for implementing an encoder, decoder, and/or buffer using a field programmable gate array

Inventors: Ariel Navon (Revava, IL); Ran Zamir (Ramat Gan, IL); Shay Benisty (Beer Sheva, IL)
Assignee: Western Digital Technologies, Inc.
G06F9/3836G06F3/0613G06F3/0616G06F3/0656G06F3/0659G06F3/0679G06F9/44505G06F11/076G06F11/0727
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 11,567,777
App. No.
17/582,642
Granted
Jan 31, 2023
Kind
B2
Abstract

A storage system and method for implementing an encoder, decoder, and/or buffer using a field programmable gate array are provided. In one embodiment, a storage system is provided with a field programmable gate array and a memory that stores sets of instruction code for the field programmable gate array. The sets of instruction code can be for different error decoder implementations, for providing an additional encoder and/or decoder, or for implementing a host memory buffer or a controller memory buffer.

Claims (40)

1. A storage system, comprising:

a decoder;

an encoder;

a memory configured to store first instruction code for implementing an additional decoder and second instruction code for implementing an additional encoder; and

a controller configured to:

execute the first instruction code in response to a first condition being satisfied; and

execute the second instruction code in response to a second condition being satisfied.

2. The storage system of claim 1 , wherein the first condition is satisfied during a read-intensive period, and wherein the second condition is satisfied during a write-intensive period.

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

track the read and write host requests or performance of the storage system; and

compare the tracked read and write host requests or performance of the storage system to a benchmark.

4. The storage system of claim 1 , wherein the first and second conditions relate to one or more of the following: type of application, type of configuration, type of virtual host, queue depth, a power condition, and a temperature condition.

5. The storage system of claim 1 , wherein the second condition is satisfied when the storage system is in burst mode.

6. The storage system of claim 5 , wherein the burst mode is detected using a predictable latency period configured by the host.

7. The storage system of claim 1 , wherein the controller comprises a field programmable gate array either programmed only once to support a specific product configuration or programmed a plurality of times throughout a lifetime of the storage system.

8. A storage system, comprising:

a decoder;

an encoder;

controller means;

a memory configured to store first instruction code for implementing an additional decoder and second instruction code for implementing an additional encoder;

means for programming the controller means with the first instruction code in response to a first condition being satisfied; and

means for programming the controller means with second instruction code in response to a second condition being satisfied.

9. The storage system of claim 8 , wherein the first condition is satisfied during a read-intensive period, and wherein the second condition is satisfied during a write-intensive period.

10. storage system of claim 8 , further comprising:

means for tracking the read and write host requests or performance of the storage system; and

means for comparing the tracked read and write host requests or performance of the storage system to a benchmark.

11. The storage system of claim 8 , wherein the first and second conditions relate to one or more of the following: type of application, type of configuration, type of virtual host, queue depth, a power condition, and a temperature condition.

12. The storage system of claim 8 , wherein the second condition is satisfied when the storage system is in burst mode.

13. The storage system of claim 12 , wherein the burst mode is detected using a predictable latency period configured by the host.

14. The storage system of claim 8 , wherein the controller means comprises a field programmable gate array either programmed only once to support a specific product configuration or programmed a plurality of times throughout a lifetime of the storage system.

15. In a storage system including a controller, a decoder, an encoder, a memory configured to store first instruction code for implementing an additional decoder and second instruction code for implementing an additional encoder, the method comprising:

programming the controller with the first instruction code in response to a first condition being satisfied; and

programming the controller with second instruction code in response to a second condition being satisfied.

16. The method of claim 15 , wherein the first condition is satisfied during a read-intensive period, and wherein the second condition is satisfied during a write-intensive period.

17. The method of claim 15 , further comprising:

tracking the read and write host requests or performance of the storage system; and

comparing the tracked read and write host requests or performance of the storage system to a benchmark.

18. The method of claim 15 , wherein the first and second conditions relate to one or more of the following: type of application, type of configuration, type of virtual host, queue depth, a power condition, and a temperature condition.

19. The method of claim 15 , wherein the second condition is satisfied when the storage system is in burst mode.

20. The method of claim 15 , wherein the controller comprises a field programmable gate array either programmed only once to support a specific product configuration or programmed a plurality of times throughout a lifetime of the storage system.

Assignments (8)
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 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/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 - 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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2022
From: NAVON, ARIEL; ZAMIR, RAN; BENISTY, SHAY
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058747/0424 →
Continuity (2)
Division 16815860 · Mar 11, 2020
Related Publication 20220147282A1 · May 12, 2022
Cited By (1)
US 12,651,495