IP Library Granted Patent US 11,199,992
Granted Patent B2
US 11,199,992 · App. 16/512,312 · Granted Dec 14, 2021

Automatic host buffer pointer pattern detection

Inventors: Elkana Richter (Tene-Omarim, IL); Shay Benisty (Beer Sheva, IL)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G06F3/0655G06F3/0604G06F3/0679
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,199,992
App. No.
16/512,312
Granted
Dec 14, 2021
Kind
B2
Abstract

The present disclosure generally relates to a method and device for detecting patterns in host command pointers. When a new command is received by a storage device from a host computer, host command pointers sent to the storage device are analyzed to detect any patterns within the host command pointers. If a pattern is detected, the storage device can store the host command pointers in a reduced pointer storage structure. Thereafter, the storage device can perform the command indicated by the host command pointers using the reduced pointer storage structure.

Claims (38)

1. A storage device configured to be coupled to a host computer with a host data buffer, comprising:

a non-volatile memory; and

a controller configured to:

receive a host command with a plurality of host command pointers from the host computer;

upon receipt of the host command from the host computer, analyze the plurality of host command pointers associated with the host command for a host command pattern;

upon detecting the host command pattern, update existing pointers associated with the plurality of host command pointers; and

store the updated existing pointers in a reduced pointer structure, wherein the reduced pointer structure comprises a command header and pointers, wherein the command header comprises the details of the host command pattern, wherein the pointers comprise parts of the host command pointers differing from the host command pattern, and wherein the entire reduced pointer structure is stored together.

2. The storage device of claim 1 , wherein the controller is further configured to execute the host command based on the reduced pointer structure.

3. The storage device of claim 1 , wherein the host computer interfaces with the storage device via non-volatile memory express (NVMe) protocol.

4. The storage device of claim 3 , wherein the host command is indicated by a physical request page (PRP) entry.

5. The storage device of claim 3 , wherein the host command is indicated by a scatter gather list (SGL).

6. The storage device of claim 1 , wherein the reduced pointer structure stores a command header for the host command, wherein the command header indicates a pattern type of the host command pattern.

7. The storage device of claim 1 , further comprising a pattern pointer detector.

8. The storage device of claim 1 , further comprising a pointer fetch controller.

9. A storage device configured to be coupled to a host computer with a host data buffer, comprising:

a non-volatile memory; and

a controller coupled to the non-volatile memory, the controller is configured to:

receive from the host computer, a plurality of host command pointer associated with a host command;

detect, based on the plurality of host command pointers, a host command pattern of the host command;

update existing pointers associated with the plurality of host command pointers;

store, in a reduced pointer structure, the updated existing pointers, wherein the reduced pointer structure comprises a command header and pointers, wherein the command header comprises the details of the host command pattern, wherein the pointers comprise parts of the host command pointers differing from the host command pattern, and wherein the entire reduced pointer structure is stored together; and

search the reduced pointer structure for a particular host command pointer of the plurality of host command pointers to conduct a data transfer between a physical location in the host data buffer indicated by the particular host command pointer and the non-volatile memory.

10. The storage device of claim 9 , wherein the controller is further configured to execute the host command based on the reduced pointer structure.

11. The storage device of claim 9 , wherein the controller is further configured to update any existing pointers.

12. The storage device of claim 11 , wherein the host command is indicated by a physical request page (PRP) entry.

13. The storage device of claim 11 , wherein the host command is indicated by a scatter gather list (SGL).

14. The storage device of claim 9 , wherein the reduced pointer structure stores a command header for the host command, wherein the command header indicates a pattern type of the host command pattern.

15. The storage device of claim 9 , further comprising a pointer fetch control coupled to a control path.

16. The storage device of claim 15 , further comprising a pointer pattern detector coupled to the pointer fetch control.

17. A storage device, comprising:

a non-volatile memory; and

a pointer pattern detection means for:

detecting, based on a plurality of host command pointers, a host command pattern of a host command;

creating a reduced pointer structure based upon the detected host command pattern, wherein the reduced pointer structure comprises a command header and pointers, wherein the command header comprises the details of the host command pattern, wherein the pointers comprise parts of the host command pointers differing from the host command pattern, and wherein the entire reduced pointer structure is stored together; and

updating existing pointers of the reduced pointer structure based on the detected host command pattern.

18. The storage device of claim 17 , further comprising a command executer means for executing the host command based on the reduced pointer structure.

19. The storage device of claim 17 , wherein the host command is indicated by a physical request page (PRP) entry.

20. The storage device of claim 17 , wherein the host command is indicated by a scatter gather list (SGL).

Assignments (10)
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2019
From: RICHTER, ELKANA; BENISTY, SHAY
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 049766/0048 →
Continuity (1)
Related Publication 20210019077A1 · Jan 21, 2021
Cited By (2)
US 12,277,345 US 12,417,184