# US 11,907,587 B2 · Managing persistent memory regions across multiple protocols

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,907,587 B2
- Document ID: US11907587B2
- Status: Granted
- Kind: B2
- Application number: 17/343,357
- Filed: 2021-06-09
- Published: 2022-12-15
- Granted: 2024-02-20
- Earliest claimed: 2021-06-09
- Assignees: Western Digital Technologies, Inc.
- Applicants: Western Digital Technologies, Inc.
- Inventors: Pradeep Sreedhar; Ramanathan Muthiah
- Web page: https://patentgrep.com/patent/US11907587B2

## CPC

- G06F 3/0661: {Format or protocol conversion arrangements}
- G06F 3/061: {Improving I/O performance}
- G06F 3/0676: {Magnetic disk device}
- G06F 3/0677: {Optical disk device, e.g. CD-ROM, DVD}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 3/0682: {Tape device}
- G06F 3/0688: {Non-volatile semiconductor memory arrays}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Storage devices are described herein that are capable of communicating with host-computing devices using multiple protocols. These Multi-Protocol Storage Devices (MPSDs) can be configured to utilize a persistent memory region (PMR) across a variety of protocols. Often, one of these protocols is the Non-Volatile Memory express (NVMe) protocol which provides for the ability to utilize and manage a PMR within the storage device. Other protocols may not have native support for PMR like the NVMe protocol does. Therefore, MPSDs are disclosed that may determine which protocol is in use in response to an initialization event and adjust the use of the PMR as needed based on the determined protocol. These adjustments may allow for the direct access of the PMR as an extension of general memory storage or may be configured to provide increased performance of the storage device overall. These storage devices may be hot-swappable between numerous host-computing systems.

## Claims

### Claim 1

A method of managing a persistent memory region (PMR) within a device, comprising:
configuring operation under a plurality of protocols through a single interface, wherein at least one of the plurality of protocols is a Non-Volatile Memory Express (NVMe) protocol;
initializing the device;
determining a protocol for operation:
wherein if the determined protocol is an NVMe protocol:
a PMR usage threshold is determined;
data associated with the PMR is loaded; and
the device is operated under the determined NVMe protocol; and
wherein if the determined protocol is a second protocol, the device is operated under the determined second protocol;
physically decoupling the device from a first host-computing device;
physically coupling the device to a second host-computing device operating under a second protocol; and
determining the second protocol.

### Claim 2 (depends on 1)

The method of claim 1, wherein the device is configured as a Secure Digital Express (SDX) device.

### Claim 3 (depends on 1)

The method of claim 1, wherein the device is coupled to a first host-computing device operating under a first protocol.

### Claim 4 (depends on 1)

The method of claim 1, wherein the determination of the second protocol is triggered by an initialization event.

### Claim 5 (depends on 4)

The method of claim 4, wherein the initialization event occurs in response to the coupling of the device to the second host-computing device.

### Claim 6 (depends on 4)

The method of claim 4, wherein the first and second host-computing devices provide power to the device.

### Claim 7 (depends on 6)

The method of claim 6, wherein the initialization event occurs in response to a restoration of power upon coupling the device to the second host-computing device.

### Claim 8

A device, comprising:
a processor;
a memory comprising a Persistent Memory Region (PMR) configured to operate under multiple protocols through a single interface wherein a first protocol is a Non-Volatile Memory Express (NVMe) protocol;
a Non-Volatile Memory (NVM) array organized into logical blocks; and
a persistent memory device (PMD) organized into logical blocks:
wherein PMR data is loaded into the PMD from the NVM array under the NVMe protocol;
wherein the PMD comprises extended logical blocks to the NVM array under a second protocol; and
a protocol-switching logic configured to direct the processor to:
determine a protocol for use within the device;
wherein if the determined protocol is an NVMe protocol:
PMR usage is determined;
data associated with the PMR is loaded; and
the device is operated under the determined NVMe protocol;
wherein if the determined protocol is a second protocol, the device is operated under the determined second protocol; and
wherein the protocol-switching logic is further configured to initialize the device after determining a protocol.

### Claim 9 (depends on 8)

The device of claim 8, wherein the second protocol is selected from the group consisting of: Peripheral Component Interconnect Express (PCIe), Serial Attached SCSI (SAS), Serial AT Attachment (SATA), Secure Digital (SD), Secure Digital Express (SDX), MultiMediaCard (MMC), and extended MMC (eMMC).

### Claim 10 (depends on 8)

The device of claim 8, wherein the protocol-switching logic is further configured to:
receive an initialization event;
store the PMR data into the NVM array; and
initialize the device.

### Claim 11 (depends on 8)

The device of claim 8, wherein the protocol-switching logic is further configured to:
receive a power cycle event;
store the PMR data into the NVM array; and
power down the device.

### Claim 12

A device, comprising:
a processor;
a memory comprising a Persistent Memory Region (PMR) configured to operate under multiple protocols through a single interface wherein a first protocol is a Non-Volatile Memory Express (NVMe) protocol and a second protocol is a Secure Digital Express (SDX) protocol; and
a protocol-switching logic configured to direct the processor to:
initialize the device; and
determine a protocol for use with the device:
wherein if the determined protocol is an NVMe protocol:
a PMR usage threshold is determined;
data associated with the PMR is loaded; and
the device is operated under the determined NVMe protocol;
wherein if the determined protocol is an SDX protocol, the PMR is operated under the SDX protocol;
wherein the PMR is configured to provide performance enhancements under the SDX protocol;
wherein the device is configured to physically couple with multiple host-computing devices; and
wherein the device is further configured to be hot-swappable between multiple host-computing devices.

### Claim 13 (depends on 12)

The device of claim 12, wherein the determination of a protocol occurs in response to coupling the device to a new host-computing device.

### Claim 14 (depends on 13)

The device of claim 13, wherein the determination of the protocol can occur by analyzing data transferred on one or more data channels.
