IP Library Granted Patent US 10,963,398
Granted Patent B2
US 10,963,398 · App. 16/054,702 · Granted Mar 30, 2021

Virtual register file

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 10,963,398
App. No.
16/054,702
Granted
Mar 30, 2021
Kind
B2
Abstract

The present disclosure is related to a virtual register file. Source code can be compiled to include references to a virtual register file for data subject to a logical operation. The references can be dereferenced at runtime to obtain physical addresses of memory device elements according to the virtual register file. The logical operation can be performed in the memory device on data stored in the memory device elements.

Claims (24)

1. A non-transitory computer readable medium storing instructions executable by a processor to:

define a buffer in host memory with sufficient space to contain backing storage for a virtual register file;

logically split the buffer into virtual vector registers, virtual scalar registers, and virtual control registers, collectively comprising the virtual register file; and

represent a vector register, a scalar register, and a control register with a respective index to the virtual register file at compile time.

2. The medium of claim 1 , including instructions to reference the vector register and the virtual scalar register with a respective index to the virtual register file for a fixed amount of the backing storage.

3. The medium of claim 1 , including instructions to reference the control register with a respective index to the virtual register file for a variable amount of the backing storage.

4. The medium of claim 1 , including instructions to store a base virtual address of a memory device element in the virtual vector register.

5. A method, comprising:

defining a buffer in host memory with sufficient space to contain backing storage for a virtual register file;

logically splitting the buffer into virtual vector registers, virtual scalar registers, and virtual control registers, collectively comprising the virtual register file; and

representing a vector register, a scalar register, and a control register with a respective index to the virtual register file at compile time.

6. The method of claim 5 , further comprising referencing the vector register and the virtual scalar register with a respective index to the virtual register file for a fixed amount of the backing storage.

7. The method of claim 5 , further comprising referencing the control register with a respective index to the virtual register file for a variable amount of the backing storage.

8. The method of claim 5 , further comprising storing a base virtual address of a memory device element in the virtual vector register.

9. An apparatus, comprising:

a processor; and

memory coupled to the processor;

wherein the processor is configured to:

define a buffer in the memory with sufficient space to contain backing storage for a virtual register file;

logically split the buffer into virtual vector registers, virtual scalar registers, and virtual control registers, collectively comprising the virtual register file; and

represent a vector register, a scalar register, and a control register with a respective index to the virtual register file at compile time.

10. The apparatus of claim 9 , wherein the processor is further configured to reference the vector register and the virtual scalar register with a respective index to the virtual register file for a fixed amount of the backing storage.

11. The apparatus of claim 9 , wherein the processor is further configured to reference the control register with a respective index to the virtual register file for a variable amount of the backing storage.

12. The apparatus of claim 9 , wherein the processor is further configured to store a base virtual address of an external memory device element in the virtual vector register.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Nov 14, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 051028/0835 →
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050719/0550 →
SUPPLEMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Nov 13, 2018
From: MICRON TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A.., AS COLLATERAL AGENT
Reel/Frame 047630/0756 →
SUPPLEMENT NO. 10 TO PATENT SECURITY AGREEMENT Recorded Nov 13, 2018
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 048102/0420 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2018
From: LEIDEL, JOHN D.; ROGERS, GEOFFREY C.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 046553/0800 →