IP Library Granted Patent US 8,694,755
Granted Patent B1
US 8,694,755 · App. 12/725,899 · Granted Apr 8, 2014

Virtual memory management for real-time embedded devices

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,694,755
App. No.
12/725,899
Granted
Apr 8, 2014
Kind
B1
Abstract

An apparatus comprising an arbiter circuit, a translation circuit and a controller circuit. The arbiter circuit may be configured to generate one or more first control signals and a data write signal in response to an input signal and a read data signal. The translation circuit may be configured to generate a one or more second control signals in response to the one or more first control signals and the write address signal. The controller circuit may be configured to generate an address signal in response to the one or more second control signals.

Claims (28)

1. An apparatus comprising:

a plurality of client devices;

an arbiter circuit configured to (i) arbitrate among said client devices to access a storage device and (ii) generate all of (a) one or more first control signals, and (b) a data write signal in response to an input signal received from a particular one of said client devices that wins said arbitration;

a translation circuit configured to generate one or more second control signals in response to said first control signals to translate a virtual address into a physical address;

a controller circuit configured to generate an address signal that conveys said physical address in response to said second control signals; and

a host configured to program said translation into said translation circuit.

2. The apparatus according to claim 1 , wherein said address signal is used by said storage device to store data conveyed in said data write signal.

3. The apparatus according to claim 1 , wherein said storage device comprises a single memory space shared by all of said client devices and said host.

4. The apparatus according to claim 1 , wherein said input signal received from said particular client device includes said virtual address.

5. The apparatus according to claim 1 , wherein (i) said host is further configured to allocate a segment within said translation circuit to said Particular client device and (ii) said segment controls access to said storage device by said particular client device.

6. The apparatus according to claim 5 , wherein said particular client device, other ones of said client devices, or said host manages said segment allocated to said particular client device.

7. The apparatus according to claim 1 , wherein said translation circuit is further configured to pass said virtual address through as said physical address such that said particular client device directly accesses said storage device.

8. The apparatus according to claim 1 , wherein (i) said translation circuit includes a table that defines an intermediate memory space common to all of said client devices, (ii) said intermediate memory space is partitioned into a plurality of segments and (iii) each one of said segments is accessed by a respective one of said client devices.

9. The apparatus according to claim 8 , wherein said segments in said translation circuit are updated depending on current working sets to free one or more of a plurality of virtual pages no longer being used by said client devices.

10. A method for virtual memory management, comprising the steps of:

(A) arbitrating among a plurality of client devices to access a storage device;

(B) generating in an arbitration circuit all of (i) one or more first control signals and (ii) a data write signal in response to an input signal received from a particular one of said client devices that wins said arbitration;

(C) generating in a translation circuit one or more second control signals in response to said first control signals to translate a virtual address into a physical address;

(D) generating in a controller circuit an address signal that conveys said physical address in response to said second control signals; and

(E) programming said translation into said translation circuit from a host.

11. The method according to claim 10 , further comprising the step of:

allocating a segment within said translation circuit to said particular client device, wherein said segment controls access to said storage device by said particular client device.

12. The method according to claim 11 , wherein said particular client device, other ones of said client devices, or a host manages said segment allocated to said particular client device.

13. The method according to claim 10 , further comprising the step of:

passing said virtual address through said translation circuit as said physical address such that said particular client device directly accesses said storage device.

14. The method according to claim 10 , wherein (i) said translation circuit includes a table that defines an intermediate memory space common to all of said client devices, (ii) said intermediate memory space is partitioned into a plurality of segments and (iii) each one of said segments is accessed by a respective one of said client devices.

15. The method according to claim 14 , further comprising the step of:

updating said segments in said translation circuit depending on current working sets to free one or more of a plurality of virtual pages no longer being used by said client devices.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2020
From: AMBARELLA, INC.
To: AMBARELLA INTERNATIONAL LP
Reel/Frame 051831/0041 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2010
From: AINGARAN, KATHIRGAMAR; KOHN, LESLIE D.; KUNZ, ROBERT C.; TSAI, JENN-YUAN
To: AMBARELLA, INC.
Reel/Frame 024094/0459 →