Patent ES-2686724-T3 (ES)
Title: Método de administración de memoria caché y aparato para dispositivo de almacenamiento no volátil
Inventor: ZHU JUNHUA
IPC: G06F12/123
Filed: 2013-02-20
Granted: 2018-10-19
Abstract: Un método de administración de memoria caché para un dispositivo de almacenamiento no volátil, en donde el método se aplica a un sistema de memoria caché basado en el dispositivo de almacenamiento no volátil, y el sistema de memoria caché comprende: una memoria caché, el dispositivo de almacenamiento no volátil y un aparato de administración de la memoria caché, en donde la memoria caché se configura para almacenar datos de páginas leídas del dispositivo de almacenamiento no volátil y datos de páginas a ser escritas en el dispositivo de almacenamiento no volátil, y la memoria caché comprende un subconjunto de páginas limpias y un subconjunto de páginas sucias; el dispositivo de almacenamiento no volátil se configura para almacenar todos los datos de páginas; y el aparato de administración de la memoria caché utiliza la siguiente información para administrar la memoria caché, en donde la información comprende un umbral de capacidad del subconjunto de páginas limpias, información de las páginas del subconjunto de páginas limpias, una lista del historial de páginas limpias, información de las páginas del subconjunto de páginas sucias y una lista del historial de páginas sucias, y la información de las páginas del subconjunto de páginas limpias comprende una capacidad de subconjunto del subconjunto de páginas limpias, la información de las páginas del subconjunto de páginas sucias comprende una capacidad de subconjunto del subconjunto de páginas sucias, la lista del historial de páginas limpias se configura para almacenar información de identificación de una o más páginas limpias históricas que se han sustituido recientemente de la memoria caché y la lista del historial de páginas sucias se configura para almacenar información de identificación de una o más páginas sucias históricas que se han sustituido recientemente de la memoria caché; y el método comprende: determinar (101, 201), cuando se determina que una página a ser accedida no se encuentra ni en el subconjunto de páginas limpias ni en el subconjunto de páginas sucias, una relación de tamaño entre una suma de la capacidad del subconjunto de páginas limpias y del subconjunto de páginas sucias y una capacidad de la memoria caché; determinar (102, 206), cuando la suma de la capacidad del subconjunto de páginas limpias y del subconjunto de páginas sucias es igual a la capacidad de la memoria caché, si la información de identificación de la página a ser accedida se encuentra en la lista del historial de páginas limpias o la lista del historial de páginas sucias; y agregar (103, 207), cuando se determina que la información de identificación de la página a ser accedida se encuentra en la lista del historial de páginas limpias, un primer valor de ajuste al umbral de capacidad del subconjunto de páginas limpias; o sustraer (104, 208), cuando la información de identificación de la página a ser accedida se encuentra en la lista del 30 historial de páginas sucias, un segundo valor de ajuste del umbral de capacidad del subconjunto de páginas limpias; en donde antes de determinar si la información de identificación de la página a ser accedida se encuentra en la lista del historial de páginas limpias o en la lista del historial de páginas sucias, el método además comprende: seleccionar (202) el subconjunto de páginas limpias o el subconjunto de páginas limpias sucias como un subconjunto seleccionado; seleccionar (203) una página a ser reemplazada del subconjunto seleccionado de acuerdo con una política de reemplazo de páginas correspondiente al subconjunto seleccionado; mantener (204) la información requerida actualmente por la política de reemplazo de páginas correspondiente al subconjunto seleccionado; y migrar (205) la información de identificación de la página a ser reemplazada a una posición recientemente utilizada de una lista del historial correspondiente al subconjunto seleccionado; en donde la etapa de seleccionar (202) el subconjunto de páginas limpias o el subconjunto de páginas sucias como un subconjunto para seleccionar una página a ser reemplazada comprende específicamente: determinar (2021) una relación de tamaño entre una capacidad del subconjunto de páginas limpias y el umbral de capacidad del subconjunto de páginas limpias; seleccionar (2023), cuando la capacidad del subconjunto de páginas limpias es mayor que el umbral de capacidad del subconjunto de páginas limpias, el subconjunto de páginas limpias como el subconjunto para seleccionar una página a ser reemplazada; seleccionar (2022), cuando la capacidad del subconjunto de páginas limpias es menor que el umbral de capacidad del subconjunto de páginas limpias, el subconjunto de páginas sucias como subconjunto para seleccionar una página a ser reemplazada; o determinar, cuando la capacidad del subconjunto de páginas limpias es igual al umbral de capacidad del subconjunto de páginas limpias, si se cumple la siguiente condición, en donde la condición es que la página a ser accedida se encuentre en la lista del historial de páginas limpias y una capacidad del subconjunto de páginas sucias sea mayor que 0; y seleccionar (2022), si se cumple la condición, el subconjunto de páginas sucias como el subconjunto para seleccionar una página a ser reemplazada; o seleccionar (2023), si no se cumple la condición, el subconjunto de páginas limpias como el subconjunto para seleccionar una página a ser reemplazada.