# US 10,769,092 B2 · Apparatus and method for reducing latency of input/output transactions in an information handling system using no-response commands

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

- Number: US 10,769,092 B2
- Document ID: US10769092B2
- Status: Granted
- Kind: B2
- Application number: 16/227,710
- Filed: 2018-12-20
- Published: 2020-06-25
- Granted: 2020-09-08
- Earliest claimed: 2018-12-20
- Assignees: Dell Products L.P.
- Applicants: Dell Products, LP
- Inventors: Shyamkumar T. Iyer; Srikrishna Ramaswamy; Austin P. Bolen
- Web page: https://patentgrep.com/patent/US10769092B2

## CPC

- G06F 13/4221: {being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus}
- G06F 2213/0026: PCI express
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An information handling system reduces latency of input/output transactions. The information handling system includes a system memory and an accelerator. The accelerator intercepts a command response that is issued by the system memory, determines a correct drive from an incorrect drive based on an attribute of the command response, and maps an address of the command response and sends the command response to the correct drive. The no-response command is sent to the incorrect drive. The correct drive completes the command response, and the incorrect drive issues a response that is disregarded by the accelerator.

## Claims

### Claim 1

An information handling system having reduced latency of input/output transactions, comprising:
a system memory;
a processor coupled to the system memory, the processor to direct a command response issued by the system memory; and
an accelerator coupled to the system memory, the accelerator configured to:
intercept the command response from the processor and that is issued by the system memory;
distinguish a correct drive from an incorrect drive based on an attribute of the command response;
map an address of the command response and send the command response to the correct drive;
send a no-response command to the incorrect drive; wherein the correct drive is configured to complete the command response, and the incorrect drive is configured to issue a completion and interrupt response including encoded information in reserved bits of the interrupt;
receive the completion and interrupt response; and
based on the encoded information in the reserved bits of the interrupt, discard the completion and interrupt response to prevent the processor from processing the completion and interrupt response from the incorrect drive.

### Claim 2 (depends on 1)

The information handling system of claim 1 further comprising:
a peripheral component interconnect express (PCIe) transaction replicator that is configured to intercept a single doorbell from the processor, duplicate the single doorbell, and send the doorbell to at least two drives that include the correct drive and the incorrect drive.

### Claim 3 (depends on 2)

The information handling system of claim 2, wherein the PCIe transaction replicator duplicates the single doorbell based on a number of the drives that will receive the doorbell.

### Claim 4 (depends on 2)

The information handling system of claim 2, wherein the processor is configured not to process the issued response from the incorrect drive in response to the accelerator discarding the issued completion and interrupt response.

### Claim 5 (depends on 1)

The information handling system of claim 1, wherein the no-response command includes a No-Op command.

### Claim 6 (depends on 1)

The information handling system of claim 1, wherein the no-response command includes a dummy command that is utilized by the accelerator as an indication for disregarding the issued completion and interrupt response from the incorrect drive.

### Claim 7 (depends on 2)

The information handling system of claim 2, wherein the accelerator includes a peripheral component interconnect express transaction coalescer that is configured to:
receive a command fetch from each of the at least two drives;
combine each of the received command fetches to form a single command fetch; and
send the single command fetch to the system memory.

### Claim 8 (depends on 7)

The information handling system of claim 7, wherein the system memory issues the command response in response to the single command fetch.

### Claim 9 (depends on 1)

The information handling system of claim 1, wherein the system memory is configured to store a non-volatile memory express (NVMe) command and issue the command response that includes the NVMe command.

### Claim 10

A method, comprising:
issuing, by a system memory, a command response;
directing, by a processor, the command response issued by the system memory intercepting, by an accelerator, the command response from the processor;
based on an attribute of the command response, distinguishing, by the accelerator, a correct drive from an incorrect drive;
mapping, by the accelerator, an address of the command response and sending the command response to the correct drive;
sending, by the accelerator, a no-response command to the incorrect drive;
receiving, from the incorrect drive, a completion and interrupt response including encoded information in reserved bits of the interrupt; and
based on the encoded information in the reserved bits of the interrupt,
discarding, by the accelerator, the completion and interrupt response to prevent the processor from processing the completion and interrupt response from the incorrect drive.

### Claim 11 (depends on 10)

The method of claim 10 further comprising:
intercepting, by a peripheral component interconnect express (PCIe) transaction replicator within the accelerator, a single doorbell from the processor;
duplicating, by the PCIe transaction replicator, the single doorbell; and
sending, by the PCIe transaction replicator, the doorbell to each of the correct drive and the incorrect drive.

### Claim 12 (depends on 11)

The method of claim 11, wherein the duplicating is based on a number of the correct drive and the incorrect drive that will receive the doorbell.

### Claim 13 (depends on 12)

The method of claim 12, wherein the processor does not process the issued response from the incorrect drive in response to the accelerator discarding the issued completion and interrupt response.

### Claim 14 (depends on 10)

The method of claim 10, wherein the no-response command includes a No-Op command.

### Claim 15 (depends on 10)

The method of claim 10, wherein the no-response command includes a dummy command that is utilized by the accelerator as an indication for disregarding the issued completion and interrupt response from the incorrect drive.

### Claim 16 (depends on 10)

The method of claim 10 further comprising:
receiving, by a peripheral component interconnect express (PCIe) transaction coalescer, a command fetch from each of the correct drive and the incorrect drive;
combining, by the PCIe transaction coalescer, each of the command fetches to form a single command fetch; and
sending, by the PCIe transaction coalescer, the single command fetch to the system memory.

### Claim 17

An information handling system, comprising:
a system memory that is configured to issue a command response in response to a single command fetch;
a processor coupled to the system memory, the processor to direct a command response issued by the system memory; and
an accelerator coupled to the system memory, the accelerator configured to:
intercept the command response from the processer;
distinguish a correct drive from an incorrect drive based on an attribute of the command response;
map an address of the command response and send the command response to the correct drive;
send a no-response command to the incorrect drive; wherein the correct drive is configured to complete the command response, and the incorrect drive is configured to issue a response completion and interrupt response including encoded information in reserved bits of the interrupt;
receive the completion and interrupt response; and
based on the encoded information in the reserved bits of the interrupt, discard the completion and interrupt response to prevent the processor from processing the completion and interrupt response from the incorrect drive.

### Claim 18 (depends on 17)

The information handling system of claim 17, further comprising:
a peripheral component interconnect express (PCIe) transaction replicator within the accelerator, the PCIe transaction replicator is configured to intercept a single doorbell from the processor, duplicate the single doorbell to generate another doorbell, and send the doorbell to at least two drives that include the correct drive and the incorrect drive.

### Claim 19 (depends on 18)

The information handling system of claim 18, wherein the PCIe transaction replicator duplicates the single doorbell based on a number of the drives that will receive the doorbell.

### Claim 20 (depends on 18)

The information handling system of claim 18, wherein the accelerator includes a peripheral component interconnect express transaction coalescer that is configured to:
receive a command fetch from each of the at least two drives;
combine each of the received command fetches to form the single command fetch; and
send the single command fetch to the system memory.
