# US 12,602,171 B2 · Storage device and method with flexible power loss protection

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

- Number: US 12,602,171 B2
- Document ID: US12602171B2
- Status: Granted
- Kind: B2
- Application number: 18/764,491
- Filed: 2024-07-05
- Published: 2025-05-22
- Granted: 2026-04-14
- Earliest claimed: 2023-11-21
- Assignees: Samsung Electronics Co., Ltd.
- Applicants: Samsung Electronics Co., Ltd.
- Inventors: Jooeun Lee; Jeayoung Kwon; Jaesub Kim; Yangwoo Roh; Kyungho Shin
- Web page: https://patentgrep.com/patent/US12602171B2

## CPC

- G06F 1/26: Power supply means, e.g. regulation thereof (for memories G11C)
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 1/28: Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
- G06F 1/30: Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations (for resetting only G06F1/24)
- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/0634: {by changing the state or mode of one or more devices}
- G06F 3/0656: {Data buffering arrangements}
- G06F 3/0673: {Single storage device}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 11/008: {Reliability or availability analysis}
- G06F 11/2015: {Redundant power supplies (power supply failure G06F1/30)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A storage device includes a multi-function controller configured to control a plurality of functions requested from a host, a power loss protection (PLP) capacitor configured to supply auxiliary power to the storage device, and a PLP controller configured to periodically monitor a status of the PLP capacitor and manage a performance list including pieces of performance information supportable for the plurality of functions according to the status of the PLP capacitor. The PLP controller is further configured to provide the performance list to the host in response to a first command received from the host, and set a performance level for at least one function from among the plurality of functions by adjusting internal resources of the storage device, in response to a second command received from the host.

## Claims

### Claim 1

A storage device comprising:
a multi-function controller configured to control a plurality of functions requested from a host, wherein the plurality of functions comprises a physical function supporting one or more dependent virtual functions;
a power loss protection (PLP) capacitor configured to supply auxiliary power to the storage device; and
a PLP controller configured to
periodically monitor a status of the PLP capacitor, and
manage a performance list including pieces of performance information supportable for the plurality of functions according to the status of the PLP capacitor, wherein managing the performance list comprises updating the pieces of performance information supportable for the plurality of functions according to a change in the status of the PLP capacitor,
wherein the PLP controller is further configured to
provide the performance list to the host in response to a first command received from the host, and
set a performance level for at least one function from among the plurality of functions by adjusting internal resources of the storage device, in response to a second command received from the host, wherein the internal resources comprise at least one of a PLP data size, or a flush cycle in which write data is flushed from a buffer memory to a nonvolatile memory.

### Claim 2 (depends on 1)

The storage device of claim 1, wherein the PLP controller is further configured to
increase the internal resources in response to the second command, when first performance information corresponding to the at least one function is equal to or greater than a reference value, and
reduce the internal resources in response to the second command, when the first performance information corresponding to the at least one function is less than the reference value.

### Claim 3 (depends on 1)

The storage device of claim 1, wherein the PLP controller comprises:
a capacitor monitor configured to periodically monitor the status of the PLP capacitor; and
a performance manager configured to manage the performance list according to the status of the PLP capacitor.

### Claim 4 (depends on 1)

The storage device of claim 1, further comprising:
a host interface configured to
receive, from the host, the first command for requesting the performance list,
transmit the performance list to the host in response to the first command, and
receive, from the host, the second command for setting the performance level for the at least one function.

### Claim 5 (depends on 4)

The storage device of claim 4, wherein
the host interface is further configured to receive the write data from the host, and
the storage device further comprises,
the buffer memory configured to buffer the write data, and
the nonvolatile memory configured to store the write data buffered in the buffer memory.

### Claim 6 (depends on 5)

The storage device of claim 5, wherein
the PLP controller is further configured to
determine the PLP data size allowed by PLP for each of the plurality of functions, and
update performance information corresponding to each of the plurality of functions, based on the PLP data size, and
the PLP data size corresponds to a size of data flushed from the buffer memory to the nonvolatile memory.

### Claim 7 (depends on 6)

The storage device of claim 6, wherein, when sudden power-off (SPO) occurs, the storage device is configured to store the write data corresponding to the PLP data size and buffered in the buffer memory, in the nonvolatile memory.

### Claim 8 (depends on 4)

The storage device of claim 4, wherein the host interface is further configured to
receive, from the host, a third command for checking the performance level for the at least one function, and
transmit the performance level to the host in response to the third command.

### Claim 9 (depends on 4)

The storage device of claim 4, wherein
the PLP controller is further configured to, when the status of the PLP capacitor changes, update the performance list based on a changed status of the PLP capacitor, and
the host interface is further configured to transmit, to the host, a status change event indicating that the status of the PLP capacitor has changed.

### Claim 10 (depends on 9)

The storage device of claim 9, wherein the host interface is further configured to
receive, from the host, a fourth command for requesting the updated performance list, and
transmit the updated performance list to the host in response to the fourth command.

### Claim 11 (depends on 1)

The storage device of claim 1, wherein
the performance list further includes valid bits corresponding to the plurality of functions, respectively, each of the valid bits indicating whether a corresponding piece of performance information is valid, and
the PLP controller is further configured to, when a piece of performance information corresponding to the at least one function included in the second command is not valid, transmit an error message to the host.

### Claim 12

An operating method of a storage device, the operating method comprising:
periodically monitoring a status of a power loss protection (PLP) capacitor included in the storage device;
managing a performance list including pieces of performance information supportable for a plurality of functions according to the status of the PLP capacitor, wherein the plurality of functions comprises a physical function supporting one or more dependent virtual functions, and managing the performance list comprises updating the pieces of performance information supportable for the plurality of functions according to a change in the status of the PLP capacitor;
receiving, from a host, a first command for requesting the performance list;
transmitting the performance list to the host in response to the first command;
receiving, from the host, a second command for setting a performance level for at least one function from among the plurality of functions; and
setting the performance level for the at least one function by adjusting internal resources of the storage device, in response to the second command, wherein the internal resources comprise at least one of a PLP data size, or a flush cycle in which write data received from the host is flushed from a buffer memory to a nonvolatile memory.

### Claim 13 (depends on 12)

The operating method of claim 12, wherein
the managing the performance list comprises
determining the PLP data size corresponding to each of the plurality of functions, according to the status of the PLP capacitor, and
updating performance information corresponding to each of the plurality of functions, based on the PLP data size, and
the PLP data size corresponds to a size of data flushed from the buffer memory to the nonvolatile memory included in the storage device.

### Claim 14 (depends on 12)

The operating method of claim 12, further comprising:
when sudden power-off (SPO) occurs, storing the write data corresponding to the PLP data size and buffered in the buffer memory in the nonvolatile memory.

### Claim 15 (depends on 12)

The operating method of claim 12, further comprising:
receiving, from the host, a third command for checking the performance level for the at least one function; and
transmitting the performance level to the host in response to the third command.

### Claim 16 (depends on 12)

The operating method of claim 12, further comprising:
when the status of the PLP capacitor changes, updating the performance list based on a changed status of the PLP capacitor; and
transmitting, to the host, a status change event indicating that the status of the PLP capacitor has changed.

### Claim 17 (depends on 16)

The operating method of claim 16, further comprising:
receiving, from the host, a fourth command for requesting the updated performance list; and
transmitting the updated performance list to the host in response to the fourth command.

### Claim 18 (depends on 12)

The operating method of claim 12, wherein
the performance list further includes valid bits corresponding to the plurality of functions, respectively, each of the valid bits indicating whether a corresponding piece of performance information is valid, and
the operating method further comprises, when a piece of performance information corresponding to the at least one function included in the second command is not valid, transmitting an error message to the host.

### Claim 19 (depends on 12)

The operating method of claim 12, further comprising:
increasing the internal resources in response to the second command, when first performance information corresponding to the at least one function is equal to or greater than a reference value; and
reducing the internal resources in response to the second command, when the first performance information corresponding to the at least one function is less than the reference value.

### Claim 20 (depends on 12)

The operating method of claim 12, further comprising:
determining the PLP data size allowed by PLP for each of the plurality of functions; and
updating performance information corresponding to each of the plurality of functions, based on the PLP data size.
