Os discos de estado sólido (SSD) baseados em memória flash NAND são amplamente utilizados em centros de dados devido ao seu alto desempenho e baixo consumo de energia. No entanto, as características físicas da memória flash causam operações de coleta de lixo (GC). A migração eficiente de páginas durante o GC compete com as solicitações de E/S do usuário pela largura de banda do canal flash e recursos do controlador, causando conflitos de caminho e atrasos de cauda longa. A solução Venice existente introduz uma rede de interconexão de baixo custo e fornece ao SSD maior diversidade de caminhos por meio de um mecanismo de reserva de caminho. No entanto, sua estratégia de escalonamento justo carece de distinção de prioridade entre solicitações de E/S e solicitações de GC. Este artigo propõe um mecanismo de bypass de GC que utiliza plenamente a diversidade de caminhos do Venice, ao mesmo tempo em que força solicitações GC a serem transmitidas por um controlador dedicado. O bypass de GC divide as solicitações GC em subsolicitações e atribui baixa prioridade à gravação de páginas válidas, permitindo que operações de alta prioridade — incluindo E/S do usuário, leitura de páginas válidas e apagamento de blocos — possam preemptar caminhos reservados para solicitações de baixa prioridade; páginas válidas que não obtêm caminhos reservados são temporariamente armazenadas em buffer para nova tentativa. Os resultados experimentais mostram que, em comparação com o Venice, o bypass de GC pode reduzir a latência de cauda longa no percentil 99,99 em até 25%. O bypass de GC alivia efetivamente a interferência entre as operações críticas de E/S e as tarefas de manutenção em segundo plano, mantendo as vantagens arquitetônicas proporcionadas pela diversidade de caminhos.
Keywords
Disco SSD;Memória flash NAND;Coleta de lixo;Rede de interconexão;Canal flash