# US 12,216,577 B2 · Apparatus for managing cache loss and operation method thereof

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

- Number: US 12,216,577 B2
- Document ID: US12216577B2
- Status: Granted
- Kind: B2
- Application number: 17/882,159
- Filed: 2022-08-05
- Published: 2023-04-27
- Granted: 2025-02-04
- Earliest claimed: 2021-10-25
- Assignees: Samsung Electronics Co., Ltd.
- Applicants: Samsung Electronics Co., Ltd.
- Inventors: Junwoo Lee
- Web page: https://patentgrep.com/patent/US12216577B2

## CPC

- G06F 12/0802: Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F 3/06: Digital input from, or digital output to, record carriers {, e.g. RAID, emulated record carriers or networked record carriers}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0656: {Data buffering arrangements}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 11/07: Responding to the occurrence of a fault, e.g. fault tolerance
- G06F 11/0727: {in a storage system, e.g. in a DASD or network based storage system (drivers for digital recording or reproducing units G06F3/06; circuits for error detection or correction within digital recording or reproducing units G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097)}
- G06F 11/073: {in a memory management context, e.g. virtual memory or cache management (memory management G06F12/00; testing of static memory units G11C29/00)}
- G06F 11/0772: {Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers}
- G06F 11/0793: {Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40)}
- G06F 11/10: Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F 11/14: Error detection or correction of the data by redundancy in operations (error detection or correction of the data by redundancy in hardware G06F11/16)
- G06F 11/1441: {Resetting or repowering}
- G06F 11/30: Monitoring
- G06F 12/0868: Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
- G06F 2201/82: Solving problems relating to consistency
- G06F 2212/1032: Reliability improvement, data loss prevention, degraded operation etc
- G06F 2212/214: Solid state disk
- G06F 2212/222: Non-volatile memory
- G06F 2212/282: Partitioned cache
- G06F 2212/313: In storage device
- G06F 2212/466: Metadata, control data
- G06F 2212/502: using adaptive policy
- G06F 2212/60: Details of cache memory
- G06F 2212/72: Details relating to flash memory management
- G06F 2212/7204: Capacity control, e.g. partitioning, end-of-life degradation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A host for managing a storage device is provided. The host includes a storage host interface configured to communicate with the storage device comprising a cache and a non-volatile memory and at least one processor. The at least one processor may be configured to receive information indicating cache loss from the storage device after device reset of the storage device, suspend a data input/output operation for the storage device, transmit a buffer read command to the storage device, and receive cache information related to data remaining in the cache without being stored in the non-volatile memory before the device reset from the storage device in response to the buffer read command.

## Claims

### Claim 1

A host for managing a storage device, the host comprising:
a storage host interface configured to communicate with the storage device comprising a cache and a non-volatile memory; and
at least one processor operatively coupled with the storage host interface,
wherein the at least one processor is configured to:
receive information indicating cache loss from the storage device after device reset of the storage device,
suspend a data input/output operation for the storage device in response to the information indicating cache loss,
transmit a buffer read command to the storage device, and
receive, from the storage device, cache information related to data remaining in the cache without being stored in the non-volatile memory before the device reset, based on the buffer read command.

### Claim 2 (depends on 1)

The host of claim 1, wherein the at least one processor is further configured to:
identify occurrence of an error related to the storage device;
transmit a reset command indicating the device reset to the storage device through the storage host interface according to the identification of the occurrence of the error; and
wait for reception of the information indicating the cache loss from the storage device, after transmitting the reset command.

### Claim 3 (depends on 1)

The host of claim 1, wherein the cache information includes a start address and/or a data size related to the data remaining in the cache.

### Claim 4 (depends on 1)

The host of claim 1, wherein the at least one processor is further configured to perform a consistency check for the storage device based on the cache information.

### Claim 5 (depends on 1)

The host of claim 1, wherein the at least one processor is further configured to maintain power supplied to the storage device during the device reset of the storage device.

### Claim 6 (depends on 1)

The host of claim 1,
wherein the at least one processor is further configured to:
transmit a status request message to the storage device, after the device reset, and
receive, from the storage device, a response message including the information indicating the cache loss in response to the status request message, and
wherein the information indicating the cache loss is a sense key field and an additional sense code/additional sense code qualifier (ASC/ASCQ) included in a sense data field in the response message.

### Claim 7

A method of operating a host for managing a storage device including a cache and a non-volatile memory, the method comprising:
receiving information indicating cache loss from the storage device after device reset of the storage device;
suspending a data input/output operation for the storage device in response to the information indicating cache loss;
transmitting a buffer read command to the storage device; and
receiving, from the storage device, cache information related to data remaining in the cache without being stored in the non-volatile memory before the device reset based on the buffer read command.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
identifying occurrence of an error related to the storage device;
transmitting a reset command indicating the device reset to the storage device according to the identification of the occurrence of the error; and
waiting for reception of the information indicating the cache loss from the storage device, after transmitting the reset command.

### Claim 9 (depends on 7)

The method of claim 7, wherein the cache information includes a start address and/or a data size related to the data remaining in the cache.
