Thursday, August 19, 2021

പെർസിസ്റ്റൻ്റ് മെമ്മറി - pmem


വിവരസാങ്കേതികവിദ്യയുടെ സാധ്യതകളും ഉപയോഗ മേഖലകളും കഴിഞ്ഞ ഏതാനും വർഷങ്ങൾക്കുള്ളിൽ വിസ്‌മയകരമായ അതിരുകളിലേയ്ക്കും അകലങ്ങളിലേയ്ക്കും ആണ് വളർന്നത്. ചിത്രം വരയ്ക്കുകയും ബിസിനസ്സ് കണക്കുകൾ സൂക്ഷിക്കുകയും ടൈപ്പ് ചെറ്റിങ്ങ് ചെയ്യുകയും തുടങ്ങിയ അടിസ്ഥാന ഉപയോഗങ്ങളിൽ നിന്നും കമ്പ്യൂട്ടറുകളും മറ്റ് ഉപകരണങ്ങളും നിത്യജീവിതത്തിൻ്റെ ഭാഗമാകുകയും സമസ്തമേഖലകളിലേയ്ക്കും കടന്നുകയറുകയും ചെയ്തിരിക്കുന്നു. ജോലിയും വിനോദവും വിശ്രമവും കമ്പ്യൂട്ടറിൻ്റെ മുന്നിൽ തന്നെ ആയെന്ന് പറയാം.

കൂടുതൽ മേഖലകളീലേയ്ക്ക് കമ്പ്യൂട്ടറുകൾ കടന്നുചെന്നപ്പോൾ അവയ്ക്ക് കൈകാര്യം ചെയ്യണ്ട വിവരങ്ങളുടെ അളവിലും ആയിരക്കണക്കിനു മടങ്ങ് വളർച്ചയാണ് ഉണ്ടായത്. 32 ജിബി എങ്കിലും സ്റ്റോറേജ് സൗകര്യം ഇല്ലാത്ത മൊബൈൽ ഫോൺ ഇന്ന് ആര് വാങ്ങാനാണ്. കമ്പ്യൂട്ടറുകളുടെ എല്ലാം അടിസ്ഥാന ദൗർബല്യം - കൈകാര്യം ചെയ്യേണ്ട വിവരം എന്തുമാകട്ടെ, അതിനെ ഓർമ്മയിൽ സൂക്ഷിച്ചേ പറ്റൂ - എന്നതാണ്. ഒരു സിനിമ കാണണമെങ്കിൽ അതിനെ സ്റ്റോറേജിൽ സൂക്ഷിക്കണം, അല്ലെങ്കിൽ ഇൻ്റർനെറ്റിൽ നിന്ന് സ്ട്രീം ചെയ്യണം. അതാത് സമയത്ത് സ്ക്രീനിൽ കാണിക്കുന്ന വിവരങ്ങൾ മാത്രമല്ല, സ്ട്രീം ചെയ്ത് വരുന്ന എൻകോഡ് ചെയ്യപ്പെട്ട വിവരങ്ങളും അതിനെ ഡീകോഡ് ചെയ്ത വിവരങ്ങളും എല്ലാം ആ സമയത്ത് മെമ്മറിയിൽ ഉണ്ടാവണം. ഒരു സിനിമ കാണുന്ന സമയത്ത് വളരെ കുറച്ച് വിവരങ്ങൾ മാത്രമേ ഇങ്ങനെ മെമ്മറിയിൽ സൂക്ഷിക്കേണ്ടതുള്ളു. പക്ഷേ ബിഗ് ഡാറ്റാ അനാലിസിസ്, ഡാറ്റബേസുകൾ പോലുള്ളവ കൈകാര്യം ചെയ്യുമ്പോൾ വളരെയധികം വിവരങ്ങൾ മെമ്മറിയിൽ സൂക്ഷിക്കേണ്ടിവരും.

കമ്പ്യൂട്ടറുകളിൽ നാല് തരം മെമ്മറി സംവിധാനങ്ങൾ ആണുള്ളത്.

1. സിപിയു രെജിസ്റ്ററുകൾ

2. സിപിയു കാഷ് മെമ്മറി

3. പ്രധാന മെമ്മറി - റാം

4. സെക്കൻ്ററി മെമ്മറി - ഹാർഡ് ഡിസ്ക്

മെമ്മറിയിൽ സൂക്ഷിക്കപ്പെട്ടിരിക്കുന്ന ഏത് വിവരവും ഉപയോഗിക്കപ്പെടണമെങ്കിൽ അത് സിപിയുവിന് ലഭ്യമാകണം. ഇക്കാലത്ത് സിപിയു സാധാരണഗതിയിൽ ഗിഗാ ഹെർട്ട്സ് വേഗതയിൽ ആണ് പ്രവർത്തിക്കുന്നത്. റാം മെമ്മറികൾ 3000 മെഗാ ഹെർട്ട്സിലും മറ്റും. ഇവയുടെ ഈ വേഗതയിലെ വ്യത്യാസം നിമിത്തം സിപിയുവിന് പ്രോസസ്സ് ചെയ്യാനുള്ള വിവരങ്ങൾ ലഭ്യമാകാൻ വളരെനേരം കാത്തിരിക്കേണ്ടിവരും. വളരെ നേരം എന്നത് സെക്കൻ്റുകളിലോ മിനിറ്റുകളിലോ അല്ല, മൈക്രോ സെക്കൻ്റിലോ നാനോ സെക്കൻ്റിലോ ആണ് പറയുന്നത്. അതുകൊണ്ട് തന്നെ സാധാരണ ഉപയോഗങ്ങളിൽ ഇത് പ്രകടമായ പ്രശ്നങ്ങൾ ഉണ്ടാക്കില്ല. പക്ഷേ സിപിയു ഒരുപാട് സമയം ഒന്നും ചെയ്യാതിരിക്കുന്നത് മൾട്ടി പ്രോസസ്സിങ്ങ്/മൾട്ടി ടാസ്കിങ്ങ് പെർഫോമൻസുകളെ വല്ലാതെ ബാധിക്കും.

 ഏറ്റവും വേഗത്തിൽ സിപിയുവിന് ലഭ്യമാകുന്ന വിവരങ്ങൾ സിപിയു രെജിസ്റ്ററുകളിൽ ഉള്ള വിവരങ്ങൾ ആണ്. ഒരു കമ്പ്യൂട്ടറിൽ ഏതാനും ബൈറ്റുകൾ മാത്രമായിരിക്കും ഇത്തരത്തിൽ ഉള്ള മെമ്മറി. ഒരു ബൈറ്റ് രേഖപ്പെടുത്താനുള്ള ചെലവ് ഏറ്റവും കൂടുതലും ഇതിൽ തന്നെ ആണ്.

സിപിയു രെജിസ്റ്ററുകൾ കഴിഞ്ഞാൽ ഏറ്റവും വേഗതയുള്ളത് സിപിയു കാഷ് മെമ്മറിയ്ക്കാണ്. ഓരോ സിപിയുവിനും ആധുനിക കമ്പ്യൂട്ടർ സിസ്റ്റങ്ങളിൽ ഒരു കാഷ് മെമ്മറി കൂടി കാണും. റാമിൽ നിന്ന് വിവരങ്ങൾ സിപിയുവിന് കിട്ടാനുള്ള താമസം സിപിയുവിനെ അതിൻ്റെ പ്രവർത്തനം തുടർച്ചയായി ചെയ്യുന്നതിൽ നിന്നും തടയാറുണ്ട്. അതുകൊണ്ട് സിപിയുവിന് കൂടെക്കൂടെ ആവശ്യം വരുന്ന വിവരങ്ങൾ കാഷ് മെമ്മറിയിൽ സൂക്ഷിക്കുകയും അത് സിപിയുവിന് വേഗത്തിൽ ലഭ്യമാക്കുകയും ചെയ്യുന്നു. കാഷ് മെമ്മറിയുടെ ഉപയോഗം മറ്റ് പല പ്രശ്നങ്ങളും ഉണ്ടാക്കാറുണ്ട്. ഒന്നിലധികം പ്രോസസ്സറുകൾ ഉള്ള സിസ്റ്റങ്ങൾ കാഷ് കൊഹറൻ്റ് അല്ലെങ്കിൽ (cache coherent) അതിനെ കൈകാര്യം ചെയ്യാൻ സോഫ്റ്റ് വെയറിന് കൂടുതൽ അധ്വാനിക്കേണ്ടിവരും.

കാഷ് മെമ്മറിയെക്കാൾ വേഗത കുറവായിരിക്കും റാമിന്. ഓരോ ബൈറ്റ് സ്റ്റോറേജിനും ഉള്ള വിലയും താരതമ്യേന കുറവായിരിക്കും. 4, 8, 16, 32, 64, 128, 256 ജിബി വലിപ്പത്തിൽ ഉള്ള റാം മെമ്മറി മൊഡ്യൂളുകൾ (DRAM DIMM) ലഭ്യമാണ്. വലിപ്പം കൂടുന്തോറും വിലയും കൂടും. റാമിൽ നിന്ന് സിപിയുവിന് വിവരങ്ങൾ ലഭ്യമാകാൻ എടുക്കുന്ന താമസം (latency) ശരാശരി 14 നാനോ സെക്കൻ്റുകൾ ആണ്. 

മേൽപ്പറഞ്ഞ മെമ്മറി മൊഡ്യൂളുകൾ എല്ലാം വോളറ്റൈൽ ആണ്. അതായത് കരണ്ട് പോയാൽ അതിലുള്ള വിവരങ്ങൾ എല്ലാം പോകും. സിപിയുവിനെ സംബധിച്ചിടത്തോളം ഈ മെമ്മറികൾ ലോഡ് - സ്റ്റോർ ഓപ്പറേഷനുകൾ വഴി ആണ് വായിക്കപ്പെടുകയും എഴുതപ്പെടുകയും ചെയ്യുന്നത്. അവ ബൈറ്റ് അഡ്രസ്സിബിൾ ആണ്. ഏത് ബൈറ്റിനെയും സ്വതന്ത്രമായി വായിക്കാനും മാറ്റം വരുത്താനും സാധിക്കും. ഇവ സാധാരണഗതിയിൽ സിപിയുവുമായി ആശയവിനിമയം നടത്തുന്നത് സിപിയുവിൻ്റെ അഡ്രസ്സ് ബസ്സ് വഴിയാണ്. രെജിസ്റ്ററുകളും കാഷ് മെമ്മറിയും സിപിയുവുമായി നേരിട്ട് ഘടിപ്പിച്ചിരിക്കും. റാം മൊഡ്യൂളൂകൾ നോർത്ത് ബ്രിഡ്ജ്/സിസ്റ്റം ഏജൻ്റ് വഴിയും. ഈ സിസ്റ്റം ഏജൻ്റ് മതർബോർഡിലെ ചിപ്സെറ്റിൻ്റെ ഭാഗം ആയിരിക്കും. സിപിയു ഒരു മെമ്മറി ലൊക്കേഷനെ വായിക്കാൻ/എഴുതാൻ ശ്രമിക്കുമ്പോൾ അത് ഏത് ഉപകരണത്തിൻ്റെ അഡ്രസ്സ് ആണ് എന്ന് മനസ്സിലാക്കി ആ ഉപകരണത്തിലേയ്ക്ക് വഴിതിരിച്ച് വിടുന്നത് ഈ യന്ത്രഭാഗം ആണ്.  അഡ്രസ്സ് ബസ്സിൽ ഘടിപ്പിച്ചിരിക്കുന്ന ഉപകരണങ്ങൾക്ക് സിപിയുവുമായി വളരെ ഉയർന്ന വേഗതയിൽ ആശയവിനിമയം നടത്താൻ സാധിക്കും.

ബാക്കിയുള്ള മെമ്മറി സെക്കൻ്ററി സ്റ്റോറേജ് അധവാ ഹാർഡ് ഡിസ്ക് ആണ്. ടേപ്പ്, ഫ്ളോപ്പി, സിഡി, എസ് എസ് ഡി ഒക്കെ ഈ വിഭാഗത്തിൽ പെടും. ഇവ ATA, SATA, PCIe, USB, M2 തുടങ്ങി വിവിധതരം സംവിധാനങ്ങൾ വഴിയാണ് സിപിയുവുമായി ആശയവിനിമയം നടത്തുന്നത്. അതിനാൽ തന്നെ മറ്റ് മെമ്മറികളെ അപേക്ഷിച്ച് ഇവ ഒച്ചുകളായിരിക്കും. ടേപ്പുമായി താരതമ്യം ചെയ്താൽ എസ് എസ് ഡി കൾ വളരെ വേഗതയുള്ളവയാണ്. മില്ലി സെക്കൻ്റുകളിൽ ആയിരിക്കും ഇവയുടെ ലേറ്റൻസി. ഇത് നാനോസെക്കൻ്റ് ലേറ്റൻസി ഉള്ള റാമിനെക്കാൾ എത്ര വേഗത കുറഞ്ഞതാണ് എൻ ഊഹിക്കാമല്ലോ. പക്ഷേ ഇവയുടെ വില വളരെ കുറവാണ്. 1 ടിബി കപ്പാസിറ്റിയുള്ള ഡിസ്കിൻ്റെ വില മിക്കവാറും 8 ജിബി കപ്പാസിറ്റി ഉള്ള റാമിൻ്റെ വിലയെക്കാൾ കുറവാണല്ലോ. സെക്കൻ്ററി സ്റ്റോറേജ് ഡിവൈസുകൾ നോൺവോളറ്റൈൽ അഥവാ പെർസിസ്റ്റൻ്റ് ആണ്. വൈദ്യുതി നിലച്ചാലും ഇതിലെ വിവരങ്ങൾ നഷ്ടമാകുന്നില്ല.

സെക്കൻ്ററി സ്റ്റോറേജ് ഉപകരണങ്ങളുമായി സിപിയു ആശയവിനിമയം നടത്തുന്നത് ഐ - ഓ ഓപ്പറേഷനുകൾ വഴിയാണ്. ഇത് പോർട്ട് ഐഓ അല്ലെങ്കിൽ മെമ്മറി മാപ്പ്ഡ് ഐ ഓ ആവാം. പക്ഷേ റാമിലെ ലോഡ് - സ്റ്റോർ രീതിയുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ വേഗത കുറഞ്ഞതും കൂടുതൽ ഉപകരണങ്ങൾ ഉൾപ്പെട്ടതും ആയ ഓപ്പറേഷനുകൾ ആയിരിക്കും ഇവ. ഉദാഹരണത്തിന് യു എസ് ബി വഴി ഘടിപ്പിക്കപ്പെട്ട ഡിസ്കുമായി സിപിയുവിന് സംസാരിക്കണമെങ്കിൽ അത് ആദ്യം യു എസ് ബി കണ്ട്രോളറിൽ ചെല്ലണം, അവിടന്ന് ഡിസ്കിന് മനസ്സിലാകുന്ന രീതിയിലേയ്ക്ക് വിവരങ്ങൾ മാറ്റി ഡിസ്കിലേയ്ക്ക് അയയ്ക്കണം. തിരികെ കിട്ടുന്ന വിവരങ്ങൾ യു എസ് ബി രീതിയിൽ ആക്കി തിരിച്ച് അയയ്ക്കണം. ഇതിനു പുറമേ ഇവ ബ്ളോക്ക് അഡ്രസ്സിബിൾ ഡിവൈസുകൾ ആണ്. റാം ബൈറ്റ് അഡ്രസ്സിബിൾ ആണ്. ഇവയിലെ ഓരോ ബൈറ്റുകളും പ്രത്യേകമായി എഴുതാനും വായിക്കാനും സാധിക്കും. എന്നാൽ ബ്ലോക്ക് അഡ്രസ്സിബിൾ ഡിവൈസുകളിൽ ഒരു മുഴുവൻ ബ്ളോക്ക് വായിക്കുകയും എഴുതുകയും വേണം. സാധാരണ ഒരു ബ്ലോക്കിൻ്റെ വലിപ്പം 512 ബൈറ്റ് മുതൽ 4 കിലോബൈറ്റ് വരെ ആകാം. ഒരു ബൈറ്റിൽ മാറ്റം വരുത്താൻ ഒരു ബ്ളോക്ക് മൊത്തം വായിച്ച് അതിലെ ആവശ്യമായ ബൈറ്റ് മാറ്റം വരുത്തി ആ ബ്ലോക്ക് മൊത്തമായി തിരികെ എഴുതണം.

വലിയ സ്കെയിലിൽ ഉള്ള സിസ്റ്റങ്ങളിലേയ്ക്ക് വരുമ്പോൾ, അവയിൽ മിക്കപ്പോളും 16, 32, 64 ചിലപ്പോൾ അതിലും കൂടുതൽ സിപിയുകൾ ഉണ്ടായിരിക്കും. അവയ്ക്ക് എല്ലാം കൂടി ടെറാബൈറ്റ് കണക്കിൽ റാമും. ഇത് വളരെ ചെലവേറിയ ഒരു സെറ്റപ്പാണ്. പക്ഷേ വലിയ സെർവറുകളിൽ, ബിഗ് ഡാറ്റ അനാലിസിസ് നടത്തുന്നവ, വെബ് ആപ്ലിക്കേഷനുകൾ പ്രവർത്തിക്കുന്നവ, ഡാറ്റാബേസുകൾ ഉള്ളവയിൽ ഒക്കെ ഇതിനെക്കാൾ കൂടുതൽ മെമ്മറി ആവശ്യമായി വരും. ഗിഗാബൈറ്റുകൾ വലിപ്പമുള്ള ഒരു ഡാറ്റാബേസിൻ്റെ പകുതി ഭാഗമെങ്കിലും റാമിൽ അല്ലെങ്കിൽ അഥവാ ഹാർഡ് ഡിസ്ക് കൂടെക്കൂടെ ആക്സസ്സ് ചെയ്യണ്ട വന്നാൽ പെർഫോമൻസിനെ അത് കാര്യമായി ബാധിക്കും. പക്ഷേ അത്രയും റാം ആവശ്യമായി വന്നാൽ ചെലവ് കുത്തനെ കൂടും. ഈ സാഹചര്യം പരിഗണിച്ചാണ് പെർസിസ്റ്റൻ്റ് മെമ്മറി ടെക്നോളജികൾ നിലവിൽ വന്നത്.

SNIA (Storage Networking Industry Association) ആണ് പെർസിസ്റ്റൻ്റ് മെമ്മറി അഥവാ പി-മെം ഉമായി ബന്ധപ്പെട്ട സ്റ്റാൻഡേർഡുകൾ കൈകാര്യം ചെയ്യുന്നത്. പി-മെം റാമിനെക്കാൾ വേഗത അല്പം കുറഞ്ഞ (100 കണക്കിന് നാനോ സെക്കൻ്റുകൾ ലേറ്റൻസി), എന്നാൽ ചെലവ് വളരെ കുറഞ്ഞ മെമ്മറി മൊഡ്യൂളുകൾ ആണ്. ഇവ സാധാരണ 128, 256, 512 ജിബി വലിപ്പങ്ങളിൽ ആണ് വരുന്നത്. ഇവയെ പെർസിസ്റ്റൻ്റ് മെമ്മറി എന്ന് പറയാൻ കാരണം കരണ്ട് പോയാൽ ഇതിലെ ഉള്ളടക്കം നഷ്ടപ്പെടില്ല എന്നതുകൊണ്ടാണ്. ഒരു ഹാർഡ് ഡിസ്കിൽ എന്നപോലെ. ഇവയെ എൻവിഡിം (NVDIMM ) എന്നും പറയാറുണ്ട്. DIMM മൊഡ്യൂളുകൾ വോളറ്റൈൽ ആണല്ലോ.

പി-മെം മൊഡ്യൂളുകൾ സിപിയുവിൻ്റെ അഡ്രസ്സ് ബസ്സിൽ ആണ് ഘടിപ്പിക്കുന്നത്. അതിനാൽ തന്നെ വളരെയധികം വേഗത്തിൽ അവയ്ക്ക് സിപിയുവുമായി ആശയവിനിമയം നടത്താൻ സാധിക്കുന്നു. അഡ്രസ്സ് ബസ്സിൽ ആയതിനാൽ സിപിയു ഇവയുമായി ലോഡ് - സ്റ്റോർ രീതിയിൽ ആണ് ആശയവിനിമയം നടത്തുന്നത്. ഇടയിൽ സിസ്റ്റം ഏജൻ്റ് അല്ലാതെ മറ്റ് ഉപകരണങ്ങളുടെ ആവശ്യമില്ല. മെമ്മറി മാപ്പ്ഡ് രീതിയിൽ ആണെങ്കിൽ മെമ്മറി മാനേജ്മെൻ്റ് യൂണിറ്റ് കൂടി ഇതിൽ കക്ഷിചേരും. 

എൻവി - ഡിം മൊഡ്യൂളുകൾ സാധാരണ താഴെക്കൊടുത്ത രീതിയിൽ ആയിരിക്കും സിപിയുവുമായി ഘടിപ്പിക്കുന്നത്



ഒരു ഡ്യുവൽ ചാനൽ അഡ്രസ്സ് ബസ്സിൽ റാമിനൊപ്പം തന്നെ ഇവ ഘടിപ്പിക്കപ്പെട്ടിരിക്കുന്നു. മൊഡ്യൂളുകൾ രണ്ടിലധികം ഉണ്ടാവാം. 

2 വ്യത്യസ്ത രീതികളിൽ എൻവി - ഡിം മൊഡ്യൂളുകൾ പ്രവർത്തിക്കുന്നു. ഈ സംവിധാനം ഉള്ള കമ്പ്യൂട്ടറുകളിലെ ബയോസിൽ ഏത് രീതിയിലാണ് ഇവ പ്രവർത്തിക്കുന്നത് എന്ന് തെരഞ്ഞെടുക്കാനുള്ള സംവിധാനം ഉണ്ടായിരിക്കും.

1. മെമ്മറി മോഡ്

2. ആപ്പ് ഡയറക്റ്റ് മോഡ്

മെമ്മറി മോഡിൽ റാം മൊഡ്യൂളുകൾ കാഷ് മെമ്മറിയുടെ ജോലിയാണ് ചെയ്യുന്നത്. എൻവി - ഡിം മോഡ്യൂളുകൾ സാധാരണ വോളറ്റൈൽ ആയ റാം പോലെ പ്രവർത്തിക്കുന്നു. ഈ രീതിയിൽ സിപിയു നേരിട്ട് റാമിലേയ്ക്ക് ആയിരിക്കും വിവരങ്ങൾ എഴുതുന്നത്. വായിക്കുന്നതും. റാമിൽ നിന്ന് അത് എൻവി ഡിമ്മിലെ ബന്ധപ്പെട്ട അഡ്രസ്സിലേയ്ക്ക് എഴുതപ്പെടും. ഈ രീതിയിൽ ആക്സസ്സ് ലേറ്റൻസി ഡിറാമിൻ്റെ ലേറ്റൻസി ആയിരിക്കും. പക്ഷേ കപ്പാസിറ്റി കൂടിയ എൻവി ഡിം മൊഡ്യൂളുകൾ ഉപയോഗിക്കുന്നത് വഴി ചെലവ് വളരെയധികം കുറയ്ക്കാൻ സാധിക്കും. പക്ഷേ വൈദ്യുതി നിലച്ചാൽ അതിലുള്ള വിവരങ്ങളും നഷ്ടപ്പെടും.

ആപ്പ് ഡയറക്റ്റ് മോഡിൽ ആണെങ്കിൽ ഇവ പെർസിസ്റ്റൻ്റ് സ്റ്റോറേജായി പ്രവർത്തിക്കുന്നു. ഒരു ഹാർഡ് ഡിസ്ക് പോലെ. പക്ഷേ ലോഡ് - സ്റ്റോർ രീതിയിൽ ആയിരിക്കും പ്രവർത്തിക്കുന്നത്. അത് വഴി ഓരോ ബൈറ്റുകളും വായിക്കാനും എഴുതാനും സാധിക്കുന്നു. ആപ്ലിക്കേഷന് ഒരു ബൈറ്റിൽ മാറ്റം വരുത്താൻ ഒരു ബ്ലോക്ക് മുഴുവൻ വായിക്കേണ്ടതായി വരില്ല. എഴുതേണ്ടതായും. ഇതിനു പുറമേ നാനോ സെക്കൻ്റ് സമയം മാത്രമേ വിവരങ്ങൾ കൈമാറ്റം ചെയ്യാൻ ആവശ്യമുള്ളു. ഇങ്ങനെ ഹാർഡ് ഡിസ്കിൻ്റെ വലിപ്പത്തിലുള്ളത്ര മെമ്മറി റാമിൻ്റെ വേഗതയിൽ കൈമാറ്റം ചെയ്യാൻ സാധിക്കുമ്പോളും റാമിനെക്കാൾ വളരെ കുറഞ്ഞ ചെലവ് മാത്രമേ വരുന്നുള്ളു. അതുകൊണ്ട് തന്നെ സെർവറുകളിൽ ഇപ്പോൾ ഈ മെമ്മറി വളരെ സാധാരണയായി ഉപയോഗിച്ചുവരുന്നു.

ഇൻ്റലിൻ്റെ 3ഡിഎക്സ് പോയിൻ്റ് ടെക്നോളജി ഉപയോഗിക്കുന്ന ഓപ്റ്റേൻ മെമ്മറി മൊഡ്യൂളുകളെക്കാൾ വേഗത കൂടുതലാണ് എൻവി - ഡിം മൊഡ്യൂളുകൾക്ക്. ഒപ്റ്റേൻ മെമ്മറി മൊഡ്യൂളുകൾ ഇൻ്റൽ പ്രോസസ്സറുകൾക്കൊപ്പമേ പ്രവർത്തിക്കുകയുള്ളു. പക്ഷേ എൻവി - ഡിം മൊഡ്യൂളുകൾക്ക് ഇത്തരം പരിധികൾ ഒന്നും ഇല്ല.

ആപ്പ് ഡയറക്റ്റ് മോഡിൽ പി-മെം മൊഡ്യൂളുകൾ കാര്യക്ഷമമായി ഉപയോഗിക്കാനുള്ള ലൈബ്രറികൾ ഓപ്പൺ സോഴ്സ് ആയി ലഭ്യമാണ്. https://pmem.io/pmdk/libpmem/ ഇൽ കൂടുതൽ വിവരങ്ങൾ കാണാം. കൂടുതൽ വായനയ്ക്ക് https://en.wikipedia.org/wiki/NVDIMM