Nivelación de desgaste de lectura y escritura administrada por software para memoria principal no volátil, parte 5
Aug 07, 2024
7 EVALUACIÓN
En esta sección, evaluamos dos escenarios principales: (1) NVM sin lectura destructiva y (2) NVM con lectura destructiva. Para el primero, sólo se utiliza un subconjunto de los conceptos presentados, y para el segundo, se emplean todos los conceptos presentados.
La lectura destructiva no afecta nuestra memoria. De hecho, a diferencia de la lectura o la toma de notas tradicionales, la lectura destructiva es un método de aprendizaje más activo que puede mejorar nuestra eficiencia de aprendizaje y memoria.
La lectura destructiva se refiere a resaltar, resaltar o agregar una comprensión personal del contenido clave al leer, para profundizar nuestra autocomprensión y nuestra impresión de conocimiento. Este método de aprendizaje puede ayudarnos a absorber conocimientos de forma más rápida y precisa, y mejorar en gran medida la eficiencia de la memoria. Con una comprensión más profunda y una memoria más fuerte, podemos aplicar el conocimiento que hemos aprendido de manera más flexible en nuestro trabajo, estudio y vida futuros, y lograr un mejor desempeño y un mayor éxito.
Para lograr el mayor efecto en la lectura destructiva, debemos estar completamente preparados y concentrados. Elegir un lugar tranquilo y cómodo y centrarnos en la lectura y la comprensión para que podamos comprender y dominar todo lo posible. Si estás confundido acerca de un concepto o idea, no dudes en deshacerte de tu miedo y buscar una comprensión más profunda. Podemos comunicarnos con compañeros de clase, profesores u otros expertos para comprender mejor estos conceptos y registrar nuestra comprensión.
En resumen, la lectura destructiva es un método de aprendizaje positivo que puede mejorar nuestra eficiencia de aprendizaje y memoria, permitiéndonos aplicar mejor el conocimiento en nuestro trabajo y vida futuros. Mientras nos concentremos, mantengamos una actitud humilde y estudiosa y nos acostumbremos a registrar nuestras ideas, podremos lograr mejores resultados de aprendizaje. Se puede ver que necesitamos mejorar la memoria. Cistanche puede mejorar significativamente la memoria porque tiene efectos antioxidantes, antiinflamatorios y antienvejecimiento, que pueden ayudar a reducir la oxidación y la inflamación en el cerebro, protegiendo así la salud del sistema nervioso. Además, Cistanche también puede promover el crecimiento y la reparación de las células nerviosas, mejorando así la conectividad y la función de las redes neuronales. Estos efectos pueden ayudar a mejorar la memoria, la capacidad de aprendizaje y la velocidad del pensamiento, y también pueden prevenir la aparición de disfunciones cognitivas y enfermedades neurodegenerativas.

Haga clic en conocer suplementos para aumentar la memoria
Para cada escenario, primero evaluamos la nivelación de desgaste de grano grueso y teniendo en cuenta el envejecimiento. Como ya explicamos, este método no puede lograr una nivelación óptima del desgaste y, por lo tanto, lo evaluamos posteriormente en combinación con los enfoques detallados.
Primero, detallamos nuestra configuración de evaluación y nuestra metodología de análisis, luego presentamos los resultados para nuestros dos escenarios principales.
7.1 Configuración de la evaluación
Como configuración técnica para la evaluación, utilizamos el entorno de simulación [10], donde también implementamos nuestros algoritmos de nivelación de desgaste de las Secciones 5 y 6.
Aunque la configuración de simulación ejecuta una simulación completa del sistema y, por lo tanto, nuestra implementación también se ejecutaría en un sistema real, el uso de la simulación presenta la ventaja clave de que podemos rastrear fácilmente los accesos a la memoria y analizarlos posteriormente.
En este trabajo, consideramos únicamente memorias principales no volátiles direccionables por bytes (es decir, no memorias basadas en bloques). Por lo tanto, sólo analizamos el número de accesos a memoria por celda y no efectos adicionales, como el borrado de bloques en memorias basadas en flash.
Registramos rastros de acceso a la memoria para varias aplicaciones de referencia para una ejecución básica sin ninguna nivelación de desgaste y para las diversas combinaciones de mecanismos de nivelación de desgaste empleados.
Siempre llevamos a cabo una simulación completa del sistema con una implementación funcional de los algoritmos de nivelación de desgaste en el sistema de ejecución. Luego comparamos el número total de accesos para cada byte de memoria y calculamos los indicadores de vida útil de la memoria.
Para el escenario de NVM no destructivas para lectura, solo tomamos en cuenta los accesos de escritura, y para las NVM de lectura destructivas, consideramos tanto los accesos de escritura como los de lectura.
Esto también implica que la línea base (sin nivelación de desgaste) para ambos escenarios es diferente y, por lo tanto, informamos mejoras en la línea base.
Debido a que nuestra implementación es un pequeño kernel básico, portar y ejecutar aplicaciones de conjuntos de referencia conocidos requiere la integración manual del código y la implementación de los servicios del sistema requeridos. Por lo tanto, limitamos la evaluación a un pequeño conjunto de aplicaciones de referencia.
7.2 Metodología de análisis
Para cada seguimiento de acceso registrado, agregamos la cantidad total de accesos filtrados a cada byte de memoria. Además de ilustrar gráficamente los recuentos de acceso a la memoria en el espacio de memoria para nuestros seis puntos de referencia, consideramos la ganancia analítica en la vida útil de la memoria. Calculamos varios indicadores de rendimiento:
• Resistencia alcanzada: AE =significa_acceso_countmax_acceso_countSuponiendo que la memoria ya no se puede utilizar una vez que se agota la primera celda de memoria ,5 el recuento máximo de acceso en todas las celdas determina la vida útil máxima.
Tenga en cuenta que esta circunstancia podría omitirse empleando una administración adicional de bloques defectuosos. Mientras los bloques defectuosos solo se detecten en una granularidad más gruesa que las páginas de memoria virtual, la necesidad de nivelar el desgaste en la granularidad de las páginas de memoria virtual y en las granularidades más pequeñas aún está presente. En condiciones perfectas, los accesos a la memoria podrían barajarse arbitrariamente a otras ubicaciones de la memoria para nivelar completamente el desgaste de todas las celdas, lo que llevaría a que se aplicara el recuento medio de acceso a cada celda.

Por lo tanto, el cociente de ambos indica el porcentaje de la posible vida útil ideal de la memoria. No consideramos memoria adicional adicional en esta evaluación.
Mejora de la resistencia: EI=AEanalyzedAEbaselineDada la resistencia alcanzada desde la línea base y otra configuración, el cociente de ambas indica la mejora en la resistencia alcanzada en comparación con la línea base.
• Mejora de la vida útil: LI=EIOV+1Dada la mejora de la resistencia y el OV (porcentaje de accesos a memoria adicionales) de algún rastro, en comparación con su línea base, la vida útil de la memoria obtenida se puede calcular relacionando ambos.
Por ejemplo, si un algoritmo mejora la resistencia en un factor de EI=4 pero causa una sobrecarga de OV=100%, lo que significa que debido a la nivelación de desgaste la aplicación requiere el doble de accesos a la memoria para completarse, la vida útil de el sistema total aumenta en un factor de LI=2.
Para todas las ejecuciones de referencia, calculamos las métricas AE, EI y LI.
7.3 Nivelación de desgaste de grano grueso
Nuestra implementación propuesta incluye una nivelación de desgaste de grano grueso que tiene en cuenta el envejecimiento, donde la antigüedad de las páginas de memoria se estima mediante accesos de muestreo durante el tiempo de ejecución. En esta sección, solo ejecutamos la aproximación de edad y la reasignación de la página de memoria, de acuerdo con el algoritmo de reasignación (Sección 5.3). Registramos el rastro de memoria resultante e ilustramos gráficamente el número total de accesos por byte.

7.3.1 NVM que no destruyen la lectura.
En el caso de una NVM que no destruye la lectura, solo se aproximan los accesos de escritura y la antigüedad solo se estima por el número de accesos de escritura por página de memoria. En la Figura 5, representamos el número total de accesos de escritura (eje y) sobre el espacio de memoria utilizado (eje x) para nuestras seis aplicaciones de referencia, cuando se activan el algoritmo de aproximación de edad y reasignación de páginas.
Establecemos la frecuencia de muestreo de los accesos de escritura a Cwritesample=2,000 y el umbral de notificación para el algoritmo de nivelación de desgaste en nreloc=64. Los resultados muestran que el algoritmo que reconoce el envejecimiento funciona porque los accesos de escritura se distribuyen de tal manera que todas las regiones de la memoria se escriben con un patrón similar.
Sin embargo, los accesos de escritura aún no están completamente nivelados, lo que se puede deducir de la gran cantidad de picos en la figura. También se puede observar que para los puntos de referencia con mayor huella de memoria (sha y Rijndael), el tiempo de simulación no fue suficiente para apuntar a todo el espacio de memoria por igual.
Si la aplicación no puede ejecutarse durante un tiempo más largo, la configuración de nivelación de desgaste tendría que cambiarse para lograr una nivelación de desgaste más frecuente para superar esta deficiencia.
7.3.2 NVM de lectura destructiva.
Cuando el sistema de destino está equipado con una NVM de lectura destructiva, habilitamos la aproximación de escritura y lectura y estimamos la antigüedad de la página de memoria en función de su cantidad acumulada de accesos de lectura y escritura, porque se supone que ambos causan el mismo desgaste.
El algoritmo de nivelación de desgaste permanece sin cambios; sólo la entrada (es decir, la edad estimada) es diferente. Mantenemos la configuración de la aproximación de escritura y el umbral de reasignación como en la Sección 7.3.1. Además, configuramos la frecuencia de muestreo de los accesos de lectura a Creadsample=12,000, porque los accesos de lectura ocurren en una proporción mucho mayor que los accesos de escritura.
La Figura 6 ilustra la cantidad total de accesos acumulados de lectura y escritura (eje y) en el espacio de memoria (eje x). Se puede hacer una observación similar a la de la Figura 5: la nivelación de desgaste que tiene en cuenta el envejecimiento funciona, incluso en el caso de accesos de lectura destructivos.
Aún así, se puede observar que una nivelación de desgaste de grano grueso no es suficiente para lograr una memoria de nivelación de desgaste general. Las aplicaciones con mayor huella de memoria dan como resultado una mejor nivelación de desgaste que la presentada en la Sección 7.3.1. Por lo tanto, debido a que se encuentran accesos de lectura y escritura, se realizan más acciones de nivelación de desgaste.
7.4 Nivelación de desgaste de grano fino
Como señala la evaluación en la Sección 7.3, la nivelación de desgaste de grano grueso no puede lograr toda la memoria nivelada de desgaste, ya que los puntos calientes de acceso densos dentro de las páginas de memoria no se resuelven. En consecuencia, este artículo propone una nivelación de desgaste de grano fino adicional, que se evalúa en esta sección. Ejecutamos la nivelación de desgaste de texto y pila de grano fino además de la nivelación de desgaste de grano grueso para lograr una nivelación de desgaste general consciente del envejecimiento.
7.4.1 NVM no destructivas para la lectura
Para NVM que no destruyen la lectura, la extensión detallada solo apunta a la pila, ya que la región de texto solo está dirigida a accesos de lectura. Mantenemos la misma configuración que en la Sección 7.3.1 y realizamos un movimiento de pila en cada reasignación de páginas de memoria virtual (es decir, con la misma proporción que el algoritmo de reasignación de páginas). Configuramos la distancia de reubicación (es decir, el movimiento de la pila) en 64 bytes.
La Figura 7 presenta la cantidad resultante de accesos de escritura (eje y) sobre el espacio de memoria (eje x). Se puede observar que para algunos puntos de referencia, se logra una memoria nivelada casi por completo.
La deficiencia en el punto de referencia de Dijkstra surge del hecho de que Dijkstra utiliza el segmento de datos de manera intensiva para administrar los pasos del algoritmo. Por lo tanto, aparecen puntos de acceso de escritura densos en el segmento de datos, que no pueden resolverse mediante nuestro mecanismo de pila de grano fino.
7.4.2 NVM de lectura destructiva
Para realizar una nivelación de desgaste detallada en NVM que destruyen la lectura, es necesario abordar los puntos calientes densos para lecturas y escrituras. Por lo tanto, además de la configuración de grano grueso que tiene en cuenta el envejecimiento de la Sección 7.3.2, empleamos nuestro mecanismo para nivelar el desgaste de la pila y el texto.

Mantenemos la misma configuración para el algoritmo de grano grueso y ejecutamos una pila y una reubicación de texto en cada reubicación de página de grano grueso. En general, ambas proporciones, sin embargo, se pueden configurar por separado con un valor arbitrario.
La distancia de reubicación tanto para la reubicación de pila como de texto se establece en 64 bytes. Los resultados de la Figura 8 permiten nuevamente observaciones similares a las del caso sin lectura destructiva de la Sección 7.4.1.
En general, la memoria está nivelada de desgaste, considerando la influencia destructiva de la lectura y la escritura. Para los puntos de referencia crc32 y Rijndael, aún se puede observar una mayor falta de uniformidad. Esto se debe al hecho de que la nivelación de desgaste del texto solo mueve el código reubicable, pero no el GOT y el PLT. Estas dos tablas, sin embargo, se leen durante la ejecución del benchmark y, por lo tanto, causan una influencia destructiva en la memoria subyacente.

7.5 Resultados analíticos
Dado que las cifras presentadas anteriormente solo brindan una intuición de la calidad lograda de nuestro algoritmo de nivelación de desgaste propuesto, calculamos los indicadores analíticos de vida útil (Sección 7.2) para todos nuestros puntos de referencia y los resumimos en la Tabla 1. Se pueden hacer varias observaciones en esta tabla. Primero, al considerar solo la última columna (LI), se puede ver que nuestro algoritmo aumenta la vida útil total de la memoria hasta en un factor de 955.
En otras palabras, la vida útil de la memoria de varios días sin ningún mantenimiento se extendería a muchos años empleando únicamente nuestros algoritmos basados en software. En segundo lugar, los accesos de lectura pueden tener un nivel de desgaste ligeramente peor que los accesos de escritura en algunos puntos de referencia, lo que se puede deducir de la menor mejora en la vida útil. Como se explica en la Sección 7.1, se debe considerar otra línea de base para las NVM destructivas de lectura. Por lo tanto, la mejora puede ser significativamente menor que para las NVM no destructivas para la lectura.
En tercer lugar, al investigar la primera columna (AE), se puede deducir qué tan óptimos son los algoritmos empleados. Si AE fuera 1, no sería posible ninguna mejora adicional. Se puede observar que con una nivelación de desgaste de grano grueso únicamente, en la mayoría de los casos sólo se puede lograr un pequeño porcentaje de la resistencia óptima. Para la nivelación de desgaste de grano fino, los algoritmos funcionan significativamente mejor, pero aún permiten mejoras adicionales. Además, la resistencia alcanzada difiere según las diferentes aplicaciones de referencia.
El punto de referencia de Rijndael logra con diferencia los peores resultados ya que nuestros algoritmos no lo manejan adecuadamente. Aunque la sobrecarga para las diversas configuraciones de nivelación de desgaste está implícitamente incluida en el indicador LI, la sobrecarga como cantidad de accesos a memoria adicionales debido a la nivelación de desgaste puede ser investigado por sí mismo. Al considerar aplicaciones sensibles al rendimiento, la cantidad adicional de accesos a la memoria constituye un factor importante para la degradación del rendimiento.
Calculamos los gastos generales comparando la cantidad total de accesos a la memoria de una simulación con nivelación de desgaste con la simulación de referencia sin nivelación de desgaste. Al considerar solo los accesos de lectura, esto da como resultado la sobrecarga de lectura (RO), para los accesos de escritura en la sobrecarga de escritura (WO) y para ambos tipos de acceso en combinación en la sobrecarga de lectura y escritura (RWO).

La Tabla 2 contiene los gastos generales resultantes para los diversos escenarios de nivelación de desgaste. Se puede observar que sólo para la nivelación de desgaste de grano grueso, todos los tipos de gastos generales residen en un pequeño porcentaje. Cuando se emplea una nivelación de desgaste de grano fino, se puede ver que el resultado de la nivelación de desgaste depende de la aplicación analizada. Para Rijndael, por ejemplo, incluso permitir grandes gastos generales para nivelar el desgaste no conduce a un aumento significativo de la vida útil de la memoria. Esto se puede explicar por el hecho de que la nivelación de desgaste no se dirige bien a estos tipos de acceso a la memoria.
Algunas áreas de memoria a las que se accede de forma intensiva aún no están niveladas. Sin embargo, al investigar los puntos de referencia en los que la nivelación de desgaste puede lograr buenas mejoras en la vida útil de la memoria, la sobrecarga alcanza aproximadamente el 300%; es decir, con la nivelación de desgaste, se realizan cuatro veces más accesos a la memoria sin nivelación de desgaste.
Para la interpretación de este resultado, se debe considerar que el costo del resultado de nivelación de desgaste se puede ajustar mediante el parámetro de configuración. Sin embargo, si la aplicación no es sensible al rendimiento, una sobrecarga tan grande puede seguir siendo considerable; la vida útil de la memoria aún aumenta en un factor de ≈200.
La sobrecarga de tiempo de ejecución de nuestros algoritmos de nivelación de desgaste es un indicador importante para el uso práctico. No sólo los accesos a memoria adicionales requieren más tiempo de ejecución sino que también la ejecución de la aproximación de acceso y la de las decisiones de nivelación de desgaste requieren tiempo de cálculo adicional. Para analizar esta sobrecarga, comparamos el total de ciclos requeridos del sistema para una configuración de referencia y configuraciones con nivelación de desgaste habilitada. El aumento relativo se informa en la Tabla 3.
Se puede observar que los métodos de nivelación de desgaste de grano fino en general causan una mayor sobrecarga de tiempo de ejecución que los métodos de grano grueso; la nivelación de desgaste de lectura requiere más tiempo de ejecución adicional que la nivelación de desgaste de escritura. Además, se puede observar que los gastos de tiempo difieren en gran medida para diferentes aplicaciones de referencia.
Por ejemplo, crc32 enfrenta una sobrecarga de como máximo el 32%, mientras que Rijndael enfrenta un aumento del tiempo de ejecución de casi siete veces. Cabe señalar que el tiempo adicional también se puede configurar ajustando la frecuencia de las acciones de nivelación de desgaste. Sin embargo, si es factible una degradación del rendimiento en términos de tiempo de ejecución de hasta casi el doble, la mayoría de las aplicaciones de referencia pueden nivelarse mediante soluciones administradas por software.
8 CONCLUSIÓN
En este trabajo, nos centramos en sistemas informáticos que están equipados con NVM como memoria principal. Distinguimos los casos en esta memoria como no destructivos para la lectura o destructivos para la lectura. Proponemos la nivelación del desgaste gestionada por software para mejorar la vida útil de dichos sistemas, ya que una baja resistencia de las celdas puede provocar una vida útil muy reducida.
Para el primer tipo de sistema, tomamos en cuenta los accesos de escritura para determinar la antigüedad actual de la memoria y realizar acciones de nivelación de desgaste, y para el último caso, tomamos en cuenta los accesos de escritura y lectura por igual, ya que ambos estresan la memoria por igual. Para realizar una nivelación de desgaste consciente del envejecimiento (es decir, se investiga la edad actual de la memoria para cada decisión de nivelación de desgaste) durante el tiempo de ejecución, proponemos una aproximación genérica de los accesos de escritura y lectura en tiempo de ejecución que no depende de hardware especial ni de capacidades de depuración.
Esta aproximación se introduce posteriormente en un algoritmo de nivelación de desgaste que intercambia páginas de memoria según su edad estimada. Dado que muchas aplicaciones requieren una nivelación de desgaste adicional en granularidades finas, proponemos además dos mecanismos de nivelación de desgaste de grano fino, donde nos enfocamos específicamente en la región de pila y texto.
Estas soluciones específicas también funcionan sin ningún hardware especial ni requisitos especiales de sistema y, por lo tanto, se administran por software. La solución específica para el segmento de texto solo se invoca para NVM de lectura destructiva, ya que el segmento de texto solo es el objetivo de los accesos de lectura. Nuestra evaluación compara la vida útil de la memoria final después de aplicar nuestros algoritmos con la vida útil de la memoria de la ejecución básica de ciertas aplicaciones de referencia. Para las NVM que no destruyen la lectura, podemos extender la vida útil hasta en un factor de 955×, y para las NVM que destruyen la lectura, logramos una mejora de hasta un factor de 418×.
Aunque estos números dependen en gran medida del comportamiento de la memoria de la ejecución básica de la aplicación específica, logramos ≈40% de nivelación de desgaste ideal para NVM no destructivas para lectura y ≈20% de nivelación de desgaste ideal para NVM destructivas para lectura. Las principales deficiencias que causan esto son los patrones de acceso a la memoria que nuestros métodos no abordan explícitamente.
9 PERSPECTIVAS
Como señala nuestra evaluación, logramos una mejora razonable en la vida útil de la memoria empleando nuestros algoritmos en consecuencia. Aún así, no podemos lograr la nivelación de desgaste ideal (indicada por la resistencia alcanzada (AE)).

En otras palabras, nuestros algoritmos pueden mejorarse aún más para lograr una mejor nivelación del desgaste en todos los escenarios. Como se puede observar en el punto de referencia de Dijkstra, las secciones de datos y BSS también necesitan una nivelación de desgaste específica en algunos casos. Además, la solución específica para el segmento de texto no resuelve los puntos críticos de acceso en GOT y PLT. Tenemos la intención de mejorar estas deficiencias en trabajos futuros.
REFERENCIAS
[1] Hoda Aghaei Khouzani, Yuan Xue, Chengmo Yang y Archana Pandurangi. 2014. Prolongación de la vida útil del PCM mediante una asignación de páginas energéticamente eficiente, con reconocimiento de segmentos y resistente al desgaste. En actas del Simposio internacional de 2014 sobre diseño y electrónica de baja potencia (ISLPED'14). ACM, Nueva York, Nueva York, 327–330.https://doi.org/10.1145/2627369.2627667
[2] Chi-Hao Chen, Pi-Cheng Hsiu, Tei-Wei Kuo, Chia-Lin Yang y Cheng-Yuan Michael Wang. 2012. Nivelación de PCMwears basada en la edad con un costo de búsqueda casi nulo. En Actas de la 49ª Conferencia Anual de Automatización del Diseño (DAC'12). ACM, Nueva York, NY, 453–458. https://doi.org/10.1145/2228360.2228439[3] Sangyeun Cho y Hyunjin Lee. 2009. Flip-N-Write: una técnica determinista simple para mejorar el rendimiento, la energía y la resistencia de escritura de PRAM. En actas del 42º Simposio Internacional Anual IEEE/ACM sobre Microarquitectura (MICRO'09). ACM, Nueva York, Nueva York, 347–357.https://doi.org/10.1145/1669112.1669157
[4] Jianbo Dong, Lei Zhang, Yinhe Han, Ying Wang y Xiaowei Li. 2011. Nivelación de la tasa de desgaste: mejora de la vida útil del PRAM con variación de resistencia. En actas de la 48ª Conferencia de Automatización del Diseño. ACM, Nueva York, NY, 972–977.
[5] Alexandre P. Ferreira, Miao Zhou, Santiago Bock, Bruce Childers, Rami Melhem y Daniel Mossé. 2010. Aumento de la vida útil de la memoria principal PCM. En Actas de la Conferencia sobre Diseño, Automatización y Pruebas en Europa (FECHA'10).914–919.http://dl.acm.org/citation.cfm?id=1870926.1871147.
[6] Vaibhav Gogte, William Wang, Stephan Diestelhorst, Aasheesh Kolli, Peter M. Chen, Satish Narayanasamy y Thomas F. Wenisch. 2019. Gestión del desgaste de software para recuerdos persistentes. En actas de la 17ª Conferencia USENIX sobre tecnologías de almacenamiento y archivos (FAST'19). 45–63.https://www.usenix.org/conference/fast19/presentation/gogte.
[7] William Goh y Andreas Dannenberg. 2014. Tecnología FRAM MSP430: procedimientos prácticos y mejores prácticas. Informe Técnico SLAA628. Instrumentos de Texas.https://www.ti.com/lit/an/slaa628a/slaa628a.pdf?ts=1609843980784&ref_url=https253A252F252Fwww.ti.com252Fproduct252FMSP430FR5989-EP.
[8] MR Guthaus, JS Ringenberg, D. Ernst, TM Austin, T. Mudge y RB Brown. 2001. MiBench: un conjunto de pruebas integrado gratuito y comercialmente representativo. En actas del taller internacional IEEE de 2001 sobre características de carga de trabajo (WWC'01). IEEE, Los Alamitos, CA, 3–14.https://doi.org/10.1109/WWC.2001.15
[9] Christian Hakert, Kuan-Hsun Chen, Paul R. Genssler, Georg Brüggen, Lars Bauer, Hussam Amrouch, Jian-Jia Chen y Jörg Henkel. 2020. SoftWear: nivelación de desgaste en memoria solo por software para memoria principal no volátil. CoRRabs/2004.03244 (2020).https://arxiv.org/pdf/2004.03244.pdf.
[10] Christian Hakert, Kuan-Hsun Chen, Mikail Yayla, Georg von der Brüggen, Sebastian Bloemeke y Jian-Jia Chen.2020. Entornos de análisis de memoria basados en software para nivelación de desgaste en memoria. En actas de la 25.ª Conferencia de automatización del diseño de Asia y el Pacífico Sur (ASP-DAC'20).
[11] Y. Han, J. Dong, K. Weng, Y. Wang y X. Li. 2016. Nivelación mejorada de la tasa de desgaste para mejorar la vida útil de PRAM considerando la variación del proceso. Transacciones IEEE en sistemas de integración a muy gran escala (VLSI) 24, 1 (enero de 2016), 92–102.https://doi.org/10.1109/TVLSI.2015.2395415
[12] Kaixin Huang, Yijie Mei y Linpeng Huang. 2020. Quail: uso del monitor de escritura NVM para permitir una nivelación de desgaste transparente. Revista de Arquitectura de Sistemas 102 (2020), 101658.
For more information:1950477648nn@gmail.com






