Configurable NVM set to tradeoff between performance and user space
An embodiment of an electronic apparatus may include one or more substrates, and logic coupled to the one or more substrates, the logic to determine a set of requirements for a persistent storage media based on input from an agent, dedicate one or more banks of the persistent storage media to the agent based on the set of requirements, and configure at least one of the dedicated one or more banks of the persistent storage media at a program mode width which is narrower than a native maximum program mode width for the persistent storage media. Other embodiments are disclosed and claimed.
1. An electronic apparatus, comprising:
one or more substrates; and
logic coupled to the one or more substrates, the logic to:
determine a set of requirements for a persistent storage media based on input from an agent,
dedicate one or more banks of the persistent storage media to the agent based on the set of requirements, and
configure at least one of the dedicated one or more banks of the persistent storage media at a program mode width which is narrower than a native maximum program mode width for the persistent storage media.
2. The apparatus of claim 1 , wherein the logic is further to:
configure a cache hierarchy within the dedicated one or more banks of the persistent storage media.
3. The apparatus of claim 1 , wherein the logic is further to:
relocate blocks of the persistent storage media; and
re-target predicted faulted blocks to an offline pool as the blocks are relocated.
4. The apparatus of claim 1 , wherein the logic is further to:
mark blocks for offline status;
exercise the blocks marked for offline status;
determine an integrity of the exercised blocks; and
indicate an amount of free space for the persistent storage media based on the determined integrity of the exercised block.
5. The apparatus of claim 1 , wherein the logic is further to:
cluster a candidate tier of constructed blocks; and
calculate concurrent limitations for the cluster based on one or more regression sets.
6. The apparatus of claim 1 , wherein the logic is further to:
construct a namespace of blocks suitable for a use mode; and
provide a notification of an availability of the namespace for the use mode if the constructed namespace is determined to be large enough based on the set of requirements.
7. The apparatus of claim 1 , wherein the persistent storage media comprises a solid state drive.
8. An electronic storage system, comprising:
persistent storage media; and
a controller communicatively coupled to the persistent storage media, the controller including logic to:
determine a set of requirements for the persistent storage media based on input from an agent,
dedicate one or more banks of the persistent storage media to the agent based on the set of requirements, and
configure at least one of the dedicated one or more banks of the persistent storage media at a program mode width which is narrower than a native maximum program mode width for the persistent storage media.
9. The system of claim 8 , wherein the logic is further to:
configure a cache hierarchy within the dedicated one or more banks of the persistent storage media.
10. The system of claim 8 , wherein the logic is further to:
relocate blocks of the persistent storage media; and
re-target predicted faulted blocks to an offline pool as the blocks are relocated.
11. The system of claim 8 , wherein the logic is further to:
mark blocks for offline status;
exercise the blocks marked for offline status;
determine an integrity of the exercised blocks; and
indicate an amount of free space for the persistent storage media based on the determined integrity of the exercised block.
12. The system of claim 8 , wherein the logic is further to:
cluster a candidate tier of constructed blocks; and
calculate concurrent limitations for the cluster based on one or more regression sets.
13. The system of claim 8 , wherein the logic is further to:
construct a namespace of blocks suitable for a use mode; and
provide a notification of an availability of the namespace for the use mode if the constructed namespace is determined to be large enough based on the set of requirements.
14. The system of claim 8 , wherein the persistent storage media comprises a solid state drive.
15. A method of managing storage, comprising:
determining a set of requirements for a persistent storage media based on input from an agent;
dedicating one or more banks of the persistent storage media to the agent based on the set of requirements; and
configuring at least one of the dedicated one or more banks of the persistent storage media at a program mode width which is narrower than a native maximum program mode width for the persistent storage media.
16. The method of claim 15 , further comprising:
configuring a cache hierarchy within the dedicated one or more banks of the persistent storage media.
17. The method of claim 15 , further comprising:
relocating blocks of the persistent storage media; and
re-targeting predicted faulted blocks to an offline pool as the blocks are relocated.
18. The method of claim 15 , further comprising:
marking blocks for offline status;
exercising the blocks marked for offline status;
determining an integrity of the exercised blocks; and
indicating an amount of free space for the persistent storage media based on the determined integrity of the exercised block.
19. The method of claim 15 , further comprising:
clustering a candidate tier of constructed blocks; and
calculating concurrent limitations for the cluster based on one or more regression sets.
20. The method of claim 15 , further comprising:
constructing a namespace of blocks suitable for a use mode; and
providing a notification of an availability of the namespace for the use mode if the constructed namespace is determined to be large enough based on the set of requirements.