IP Library Granted Patent US 9,164,804
Granted Patent B2
US 9,164,804 · App. 13/527,745 · Granted Oct 20, 2015

Virtual memory module

Inventors: Matti Floman (Kangasala, FI); Kimmo Mylly (Ylojarvi, FI)
Assignee: Memory Technologies LLC
G06F9/5016G06F9/5005
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 9,164,804
App. No.
13/527,745
Granted
Oct 20, 2015
Kind
B2
Abstract

A memory controller of a mass memory device determining that a memory operation has been initiated which involves the mass memory device, and in response dynamically checks for available processing resources of a host device that is operatively coupled to the mass memory device and thereafter puts at least one of the available processing resources into use for performing the memory operation. In various non-limiting examples: the available processing resources may be a core engine of a multi-core CPU, a DPS or a graphics processor; central processing unit; a digital signal processor; and a graphics processor; and it may also be dynamically checked whether memory resources of the host are available and those can be similarly put into use (e.g., write data to a DRAM of the host, process data in the DRAM with the host DSP, then write the processed data to the mass memory device).

Claims (52)

1. A method comprising:

in relation to a memory operation, determining, by a memory device, available processing resources of a host device that is operatively coupled to the memory device, wherein the determining the available processing resources comprises checking one or more registers of the memory device, the one or more registers operable to store host device resource availability information that is updateable by the host device; and

putting, by the memory device, at least one available processing resource of the available processing resources into use for performing at least part of the memory operation, wherein the at least one available processing resource comprises a digital signal processor (DSP) of the host device and the putting the DSP into use for performing the at least part of the memory operation includes transmitting, by the memory device, a request to the host device for the DSP to process data written temporarily to dynamic random access memory (DRAM) of the host device prior to writing the data from the host device to a memory of the memory device.

2. The method according to claim 1 , wherein the at least one available processing resource put into use for performing the at least part of the memory operation further comprises at least one of:

a core engine of a multi-core central processing unit;

or

a graphics processor.

3. The method according to claim 1 , further comprising:

determining, by the memory device, available memory resources of the host device; and

putting, by the memory device, at least one available memory resource of the available memory resources of the host device into use for performing the at least part of the memory operation.

4. The method according to claim 3 , wherein:

the at least one available memory resource comprises the DRAM of the host device.

5. The method according to claim 1 , further comprising transmitting another request, to the host device over a virtual interface between the host device and the memory device, to update the one or more registers of the memory device.

6. The method according to claim 1 , wherein the determining the available processing resources further comprises checking an access command received from the host device, the access command indicating at least part of the available processing resources of the host device.

7. The method according to claim 1 , wherein at least the determining is executed by a memory controller of the memory device.

8. The method according to claim 7 , wherein the memory device comprises at least one of:

a memory on-board the host device;

a memory removable from the host device; or

a solid state drive (SSD).

9. The method according to claim 8 , wherein the host device comprises a mobile device.

10. An apparatus, comprising:

at least one memory controller embodied in a memory device; and

an interface operable to couple the memory device to a host device;

wherein the at least one memory controller is operable to:

in relation to a memory operation, determine available processing resources of the host device by at least checking one or more registers of the memory device, the one or more registers operable to store host device resource availability information that is updateable by the host device; and

put at least one available processing resource of the available processing resources into use for performing at least part of the memory operation, wherein the at least one available processing resource comprises a digital signal processor (DSP) of the host device and the putting the DSP into use for performing the at least part of the memory operation includes transmitting a request to the host device for the DSP to process data written temporarily to dynamic random access memory (DRAM) of the host device prior to writing the data from the host device to a memory of the memory device.

11. The apparatus according to claim 10 , wherein the at least one available processing resource put into use for performing the at least part of the memory operation further comprises at least one of:

a core engine of a multi-core central processing unit;

or

a graphics processor.

12. The apparatus according to claim 10 , wherein the at least one memory controller is further operable to:

determine available memory resources of the host device; and

put at least one available memory resource of the available memory resources of the host device into use for performing the at least part of the memory operation.

13. The apparatus according to claim 12 , wherein:

the at least one available memory resource comprises the DRAM of the host device.

14. The apparatus according to claim 10 , wherein the at least one memory controller is further operable to transmit another request, to the host device over the interface, to update the one or more registers of the memory device.

15. The apparatus according to claim 10 , wherein the at least one memory controller is further operable to determine the available processing resources by at least checking an access command received from the host device, the access command indicating at least part of the available processing resources of the host device.

16. The apparatus according to claim 10 , wherein the memory device comprises at least one of:

a memory on-board the host device;

a memory removable from the host device; or

a solid state drive (SSD).

17. The apparatus according to claim 16 , wherein the host device comprises a mobile device.

18. One or more non-transitory computer readable media storing instructions that, when executed by one or more processors, cause a memory device to:

in relation to a memory operation, determine available processing resources of a host device by at least checking one or more registers of the memory device, the one or more registers operable to store host device resource availability information that is updateable by the host device; and

request that the host device perform at least part of the memory operation using at least one available processing resource of the available processing resources, wherein the at least one available processing resource comprises a digital signal processor (DSP) of the host device and the request is for the DSP to process data written temporarily to dynamic random access memory (DRAM) of the host device prior to writing the data from the host device to a memory of the memory device.

19. The one or more non-transitory computer readable media according to claim 18 , wherein the instructions are further executable to cause the memory device to:

determine available memory resources of the host device; and

put at least one available memory resource of the available memory resources of the host device into use for performing the at least part of the memory operation.

20. The apparatus according to claim 10 , wherein the processing performed by the DSP comprises error correction.

21. The apparatus according to claim 10 , wherein the apparatus comprises the memory device.

22. The one or more non-transitory computer readable media according to claim 18 , wherein the processing performed by the DSP comprises error correction.

23. The method according to claim 1 , wherein the processing performed by the DSP comprises error correction.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2013
From: NOKIA CORPORATION
To: NOKIA INC.
Reel/Frame 030502/0639 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2013
From: NOKIA INC.
To: MEMORY TECHNOLOGIES LLC
Reel/Frame 030502/0819 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2012
From: FLOMAN, MATTI; MYLLY, KIMMO
To: NOKIA CORPORATION
Reel/Frame 028431/0198 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2012
From: FLOMAN, MATTI; MYLLY, KIMMO
To: NOKIA CORPORATION
Reel/Frame 028466/0374 →
Continuity (1)
Related Publication 20130346668A1 · Dec 26, 2013