SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR FETCHING DATA BETWEEN AN EXECUTION OF A PLURALITY OF THREADS
An apparatus, computer program product, and associated method/processing unit are provided for utilizing a memory subsystem including a first memory of a first memory class, a second memory of a second memory class communicatively coupled to the first memory, and a third memory communicatively coupled hierarchically to the second memory. In operation, data is fetched using a time between an execution of a plurality of threads.
1 . An apparatus, comprising:
a memory sub-system including:
a first memory of a first memory class;
a second memory of a second memory class, the second memory communicatively coupled to the first memory; and
a third memory communicatively coupled hierarchically to the second memory;
wherein the apparatus is configured for fetching data using a time between an execution of a plurality of threads.
2 . The apparatus of claim 1 , wherein the first memory includes flash memory, and the second memory includes embedded dynamic random access memory.
3 . The apparatus of claim 1 , wherein the apparatus is configured such that the second memory is capable of serving as at least one of a temporary store or a de-staging mechanism for random data reads from the first memory.
4 . The apparatus of claim 1 , wherein the apparatus is configured such that the data includes one or more pages.
5 . The apparatus of claim 1 , wherein the apparatus is configured such that the fetching the data includes fetching the data from at least one of the first memory or the second memory.
6 . The apparatus of claim 1 , wherein the apparatus is configured such that the threads are associated with a processing unit.
7 . The apparatus of claim 1 , wherein the apparatus is configured such that the threads are utilized by a processing unit.
8 . The apparatus of claim 1 , wherein the apparatus is configured such that the fetching the data includes transferring the data between the first memory and the second memory.
9 . The apparatus of claim 1 , wherein the apparatus is configured such that the fetching the data is performed in hardware and utilizing software.
10 . The apparatus of claim 1 , wherein the apparatus is configured such that the execution of at least one of the plurality of threads, involves a random access data read.
11 . The apparatus of claim 1 , wherein the apparatus is configured such that the execution of at least one of the plurality of threads, involves a random access data read from the first memory via the second memory.
12 . The apparatus of claim 11 , wherein the apparatus is configured such that multiple commands are required for completing the random access data read from the first memory via the second memory.
13 . The apparatus of claim 11 , wherein the apparatus is configured such that multiple commands are capable of being received from a processing unit for completing the random access data read from the first memory via the second memory.
14 . The apparatus of claim 13 , wherein the apparatus is configured for receiving a first read command from the processing unit in connection with the data, and issuing an associated command in connection with at least a portion of the data in response to the first read command
15 . The apparatus of claim 14 , wherein the apparatus is configured such that the first read command is standard and the associated command is non-standard.
16 . The apparatus of claim 14 , wherein the apparatus is configured such that the first read command is standard and is capable of being received by a driver from an operating system at a first speed, and the associated command is non-standard and is issued by the driver at a second speed.
17 . The apparatus of claim 14 , wherein the apparatus is configured such that the first read command is received at a first speed, and the associated command is issued at a second speed.
18 . The apparatus of claim 17 , wherein the apparatus is configured such that a status is provided after the first read command based on at least one operation prompted by the associated command, for prompting a second read command from the processing unit for completing the random access data read.
19 . The apparatus of claim 18 , wherein the apparatus is configured such that the status includes a status message.
20 . The apparatus of claim 18 , wherein the apparatus is configured such that the status is based on a status of the at least one operation prompted by the associated command