# US 10,372,338 B2 · Memory controller and data processing circuit with improved system efficiency

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

- Number: US 10,372,338 B2
- Document ID: US10372338B2
- Status: Granted
- Kind: B2
- Application number: 15/868,535
- Filed: 2018-01-11
- Published: 2018-10-18
- Granted: 2019-08-06
- Earliest claimed: 2017-04-13
- Assignees: Silicon Motion, Inc.
- Applicants: Silicon Motion, Inc.
- Inventors: Tzu-Wei Hsu
- Web page: https://patentgrep.com/patent/US10372338B2

## CPC

- G06F 3/0608: {Saving storage space on storage systems}
- G06F 3/065: {Replication mechanisms}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 13/1657: {Access to multiple memories}
- G06F 13/1678: {using bus width}
- G06F 13/28: using burst mode transfer, e.g. direct memory access {DMA}, cycle steal (G06F13/32 takes precedence)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A memory controller includes a central processing unit, an interface logic circuit and an arbiter circuit. The central processing unit includes an internal memory device. The interface logic circuit is coupled to an external memory device and a standard bus. The arbiter circuit is directly coupled to the central processing unit via an SRAM bus. When the central processing unit has to read predetermined data stored in the external memory device, the central processing unit issues a first request to the interface logic circuit. In response to the first request, the interface logic circuit reads the predetermined data from the external memory device and transmits the predetermined data to the arbiter circuit via the standard bus. The arbiter circuit transfers the predetermined data directly to the central processing unit via the SRAM bus to write the predetermined data in the internal memory device.

## Claims

### Claim 1

A memory controller, coupled to an external memory device and configured to control operations thereof, comprising:
a central processing unit, comprising an internal memory device;
an interface logic circuit, coupled to the external memory device and a standard bus; and
an arbiter circuit, coupled to the standard bus and the central processing unit, wherein the arbiter circuit is directly coupled to the central processing unit via a static random access memory (SRAM) bus, and
wherein when the central processing unit has to read predetermined data stored in the external memory device, the central processing unit issues a first request to the interface logic circuit, and in response to the first request, the interface logic circuit reads the predetermined data from the external memory device and transmits the predetermined data to the arbiter circuit via the standard bus, and the arbiter circuit transfers the predetermined data directly to the central processing unit via the SRAM bus to write the predetermined data to the internal memory device.

### Claim 2 (depends on 1)

The memory controller as claimed in claim 1, wherein when the interface logic circuit has to read the predetermined data stored in the internal memory device, the interface logic circuit issues a second request to the arbiter circuit, and in response to the second request, the arbiter circuit directly reads the predetermined data via the SRAM bus and transfers the predetermined data to the interface logic circuit via the standard bus.

### Claim 3 (depends on 1)

The memory controller as claimed in claim 1, wherein the central processing unit further comprises:
a multiplexer, coupled to the internal memory device, an internal bus and the SRAM bus, and configured to multiplex the data received from the internal bus or the SRAM bus in response to a selection signal.

### Claim 4 (depends on 3)

The memory controller as claimed in claim 3, wherein the arbiter circuit is directly coupled to an input terminal of the multiplexer via the SRAM bus.

### Claim 5 (depends on 1)

The memory controller as claimed in claim 1, wherein a width of a data word of the internal memory device is set to be equal to a width of a data word of the standard bus.

### Claim 6

A data storage device, comprising:
a non-volatile memory device; and
a memory controller, coupled to the non-volatile memory device, configured to control operations of the non-volatile memory device, and comprising:
a central processing unit, comprising an internal memory device;
an interface logic circuit, coupled to the non-volatile memory device and a standard bus; and
an arbiter circuit, coupled to the standard bus and the central processing unit, wherein the arbiter circuit is directly coupled to the central processing unit via a static random access memory (SRAM) bus, and
wherein when the central processing unit has to read predetermined data stored in the non-volatile memory device, the central processing unit issues a first request to the interface logic circuit, and in response to the first request, the interface logic circuit reads the predetermined data from the non-volatile memory device and transmits the predetermined data to the arbiter circuit via the standard bus, and the arbiter circuit transfers the predetermined data directly to the central processing unit via the SRAM bus to write the predetermined data to the internal memory device.

### Claim 7 (depends on 6)

The data storage device as claimed in claim 6, wherein when the interface logic circuit has to read the predetermined data stored in the internal memory device, the interface logic circuit issues a second request to the arbiter circuit, and in response to the second request, the arbiter circuit directly reads the predetermined data via the SRAM bus and transfers the predetermined data to the interface logic circuit via the standard bus.

### Claim 8 (depends on 6)

The data storage device as claimed in claim 6, wherein the central processing unit further comprises:
a multiplexer, coupled to the internal memory device, an internal bus and the SRAM bus, and configured to multiplex the data received from the internal bus or the SRAM bus in response to a selection signal.

### Claim 9 (depends on 8)

The data storage device as claimed in claim 8, wherein the arbiter circuit is directly coupled to an input terminal of the multiplexer via the SRAM bus.

### Claim 10 (depends on 6)

The data storage device as claimed in claim 6, wherein a width of a data word of the internal memory device is set to be equal to a width of a data word of the standard bus.
