IP Library Granted Patent US 11,853,555
Granted Patent B2
US 11,853,555 · App. 17/450,525 · Granted Dec 26, 2023

NVMe dual port enterprise SSD optimization

Inventor: Shay Benisty (Beer Sheva, IL)
Assignee: Western Digital Technologies, Inc.
G06F3/0613G06F3/0634G06F3/0659G06F3/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,853,555
App. No.
17/450,525
Granted
Dec 26, 2023
Kind
B2
Abstract

The present disclosure generally relates to a non-volatile memory express (NVMe) dual port controller occupying less real estate on an application specific integrated circuit (ASIC). Rather than utilizing separate NVMe modules in the controller, with each module dedicated to a single port, the dual ports can share the same module. The host device believes that there are dedicated module resources because the module has two NVMe registers to provide the host device with the feeling that there are dedicated modules. Additionally, an interconnect between the ports and the registers contributes to providing the host device the feeling that there are dedicated modules. Furthermore, the rather than losing the capabilities of a second module when operating in single port mode, all of the capabilities of the only module are available when operating in either single port mode or dual port mode.

Claims (65)

1. A data storage device, comprising:

a memory device; and

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

at least one physical layer (phy);

a peripheral component interconnect express (PCIe) endpoint;

a non-volatile memory express (NVMe) module, wherein the NVMe module comprises:

a subqueue;

a command parser;

a buffer pointer manager;

a command fetcher;

a completion queue;

a read queue;

a high priority write queue;

a low priority write queue;

a command queue; and

a host interface module (HIM), wherein the controller is configured to enable a single PCIe endpoint and a single NVMe register while disabling other logic, wherein the other logic is both other PCIe endpoints and other NVMe registers, wherein the controller is further configured to direct a plurality of transactions to the enabled single PCIe endpoint, wherein the controller is further configured to pass the plurality of transactions through the single PCIe endpoint and the single NVMe register; and

an interconnect coupled between the PCIe endpoint and the NVMe module.

2. The data storage device of claim 1 , wherein the data storage device is configured to operate in either single port or dual port mode.

3. The data storage device of claim 2 , wherein a number of virtual functions that can be performed in single port mode is equal to a number of virtual functions that can be performed in dual port mode.

4. The data storage device of claim 2 , wherein a number of outstanding input/output (I/O) commands that can be processed simultaneously in single port mode is equal to a number of I/O commands that can be processed simultaneously in dual port mode.

5. The data storage device of claim 2 , wherein a number of administrative commands that can be processed simultaneously in single port mode is equal to a number of administrative commands that can be processed simultaneously in dual port mode.

6. The data storage device of claim 2 , wherein a number of queue pairs in single port mode is equal to a number of queue pairs in dual port mode.

7. The data storage device of claim 1 , wherein the controller is configured to interact with a host device and configure a link with the host device as either a single port or a dual port.

8. The data storage device of claim 1 , wherein the controller is configured to enable two PCIe endpoints and two NVMe registers when operating in dual mode.

9. The data storage device of claim 8 , wherein the controller is further configured to direct transactions to a correct PCIe endpoint.

10. The data storage device of claim 9 , wherein the controller is further configured to direct transactions to a correct NVMe register.

11. A data storage device, comprising:

a memory device; and

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

at least two peripheral component interconnect express (PCIe) endpoints; and

at least one non-volatile memory express (NVMe) module, wherein a number of NVMe modules is less than a number of PCIe endpoints, wherein the at least one NVMe module comprises:

a subqueue;

a command parser;

a buffer pointer manager;

a command fetcher;

a completion queue;

a read queue;

a high priority write queue;

a low priority write queue;

a command queue; and

a host interface module (HIM), wherein the controller is configured to enable a single PCIe endpoint and a single NVMe register while disabling other logic, wherein the other logic is both other PCIe endpoints and other NVMe registers, wherein the controller is further configured to direct a plurality of transactions to the enabled single PCIe endpoint, wherein the controller is further configured to pass the plurality of transactions through the single PCIe endpoint and the single NVMe register.

12. The data storage device of claim 11 , wherein the controller is configured to determine whether a host device will be a single port configuration or a dual port configuration.

13. The data storage device of claim 11 , wherein the controller is configured to work with a single PCIe endpoint and NVMe register of the NVMe module.

14. The data storage device of claim 11 , wherein the controller is configured to enable two PCIe endpoints and wherein the controller is configured to enable two NVMe registers of a single NVMe module.

15. The data storage device of claim 11 , wherein the controller is configured to direct transactions to a correct PCIe endpoint or an NVMe register through an interconnect disposed therebetween.

16. A data storage device, comprising:

memory means; and

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

at least two peripheral component interconnect express (PCIe) endpoints; and

a non-volatile memory express (NVMe) module comprising:

at least two NVMe registers, wherein a number of NVMe registers is equal to a number of PCIe endpoints;

a command parser, wherein a number of command parsers is less than the number of PCIe endpoints,

a subqueue;

a buffer pointer manager;

a command fetcher;

a completion queue;

a read queue;

a high priority write queue;

a low priority write queue;

a command queue; and

a host interface module (HIM), wherein the controller is configured to enable a single PCIe endpoint and a single NVMe register while disabling other logic, wherein the other logic is both other PCIe endpoints and other NVMe registers, wherein the controller is further configured to direct a plurality of transactions to the enabled single PCIe endpoint, wherein the controller is further configured to pass the plurality of transactions through the single PCIe endpoint and the single NVMe register.

17. The data storage device of claim 16 , wherein a number of NVMe registers is equal to a number of PCIe endpoints.

18. The data storage device of claim 16 , wherein a number of NVMe modules is less than a number of PCIe endpoints.

19. The data storage device of claim 16 , further comprising an interconnect coupled between the at least two PCIe endpoints and the NVMe module.

20. The data storage device of claim 16 , wherein during operation of single port mode, all logic containing in the NVMe module is available for use by a single PCIe endpoint, and wherein only one NVMe register is in operation in single port mode.

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 - 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 058426 FRAME 0815 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058965/0679 →
SECURITY INTEREST Recorded Dec 9, 2021
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 058426/0815 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2021
From: BENISTY, SHAY
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 057755/0645 →
Continuity (1)
Related Publication 20230116254A1 · Apr 13, 2023