# US 11,442,852 B2 · Adaptive context metadata message for optimized two-chip performance

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

- Number: US 11,442,852 B2
- Document ID: US11442852B2
- Status: Granted
- Kind: B2
- Application number: 16/911,787
- Filed: 2020-06-25
- Published: 2021-12-30
- Granted: 2022-09-13
- Earliest claimed: 2020-06-25
- Assignees: Western Digital Technologies, Inc.
- Applicants: Western Digital Technologies, Inc.
- Inventors: Todd Lindberg; Robert Ellis; Kevin O'Toole; Vivek Shivhare
- Web page: https://patentgrep.com/patent/US11442852B2

## CPC

- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/061: {Improving I/O performance}
- G06F 3/0611: {in relation to response time}
- G06F 3/0613: {in relation to throughput}
- G06F 3/0658: {Controller construction arrangements}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 9/3877: {using a secondary processor, e.g. coprocessor (peripheral processor G06F13/12)}
- G06F 13/1668: {Details of memory controller}
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 12/0873: Mapping of cache memory to specific storage devices or parts thereof
- G06F 2212/1024: Latency reduction
- G06F 2212/7201: Logical to physical mapping or translation of blocks or pages
- G06F 2212/7204: Capacity control, e.g. partitioning, end-of-life degradation
- G06F 2212/7207: management of metadata or control data
- G06F 2212/7208: Multiple device management, e.g. distributing data over multiple flash devices
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Aspects of a storage device including a master chip controller and a slave chip processor and memory including a plurality of memory locations are provided which allow for simplified processing of descriptors associated with host commands in the slave chip based on an adaptive context metadata message from the master chip. When the controller receives a host command, the controller in the master chip provides to the processor in the slave chip a descriptor associated with a host command, an instruction to store the descriptor in the one of the memory locations, and the adaptive context metadata message mapping a type of the descriptor to the one of the memory locations. The processor may then process the descriptor stored in the one of the memory locations based on the message, for example, by refraining from identifying certain information indicated in the descriptor. Reduced latency in command execution may thereby result.

## Claims

### Claim 1

A storage device, comprising:
a processor;
a memory including a plurality of memory locations;
a controller configured to provide to the processor,
a descriptor associated with a host command, and
a message mapping a type of the descriptor to a first one of the plurality of memory locations, and a different type of another descriptor to a second one of the plurality of memory locations, wherein the message comprises a range count indicating a number of mappings in the message.

### Claim 2 (depends on 1)

The storage device of claim 1, further comprising:
a master chip and a slave chip, wherein the master chip comprises the controller and the slave chip comprises the processor.

### Claim 3 (depends on 1)

The storage device of claim 1, wherein the memory comprises a static random access memory (SRAM), and wherein the plurality of memory locations comprises a plurality of memory segments in the SRAM.

### Claim 4 (depends on 1)

The storage device of claim 1, wherein the message comprises an opcode.

### Claim 5 (depends on 4)

The storage device of claim 4, wherein the opcode corresponds to the type of the descriptor.

### Claim 6 (depends on 1)

The storage device of claim 1, wherein the message maps the type of the descriptor to at least two of the plurality of memory locations, and wherein the message comprises a plurality of indices associated with the at least two of the plurality of memory locations.

### Claim 7

A storage device, comprising:
a processor;
a memory including a plurality of memory locations; and
a controller configured to provide to the processor a message mapping a type of a descriptor to a first one of the plurality of memory locations, and a different type of another descriptor to a second one of the plurality of memory locations, wherein the message comprises a range count indicating a number of mappings in the message;
wherein the processor is configured to process the descriptor in the first one of the plurality of memory locations based on the message, the descriptor being associated with a host command.

### Claim 8 (depends on 7)

The storage device of claim 7, wherein the descriptor comprises a plurality of fields each indicating information for processing the host command.

### Claim 9 (depends on 8)

The storage device of claim 8, wherein the processor is configured to refrain from identifying the information indicated in at least one of the plurality of fields in response to a determination that the message indicates the first one of the plurality of memory locations.

### Claim 10 (depends on 8)

The storage device of claim 8, wherein the controller is configured to refrain from indicating the information in at least one of the plurality of fields to the processor.

### Claim 11 (depends on 7)

The storage device of claim 7, wherein the message comprises an opcode corresponding to the type of the descriptor and an index associated with the first one of the plurality of memory locations.

### Claim 12 (depends on 7)

The storage device of claim 7, wherein the message maps the type of the descriptor to a range of the plurality of memory locations, and wherein the message comprises a plurality of indices associated with the range of the plurality of memory locations.

### Claim 13 (depends on 7)

The storage device of claim 7, wherein the message maps the type of the descriptor to a first range of the plurality of memory locations, wherein the message further maps the different type of the another descriptor to a second range of the plurality of memory locations.

### Claim 14

A storage device, comprising:
a processor;
a memory including a plurality of memory locations;
a controller configured to provide to the processor,
a message mapping a type of a descriptor to a first one of the plurality of memory locations, and a different type of another descriptor to a second one of the plurality of memory locations, wherein the message comprises a range count indicating a number of mappings in the message, and
an instruction to store the descriptor in the first one of the plurality of memory locations, the descriptor being associated with a host command.

### Claim 15 (depends on 14)

The storage device of claim 14, wherein the descriptor comprises a field indicating information for processing the host command, and wherein the processor is configured to refrain from identifying the information indicated in the field in response to a determination that the descriptor is stored in the first one of the plurality of memory locations.

### Claim 16 (depends on 14)

The storage device of claim 14, wherein the descriptor comprises a field indicating information for processing a host command, and wherein the controller is configured to refrain from indicating the information in the field to the processor.

### Claim 17 (depends on 14)

The storage device of claim 14, wherein the message comprises an opcode corresponding to the type of the descriptor, and a plurality of indices associated with a range of the plurality of memory locations.

### Claim 18 (depends on 14)

The storage device of claim 14, wherein the controller is configured to provide to the processor the descriptor to be stored in the first one of the plurality of memory locations after providing the message.
