Motor de copia
FilmCan copia con un motor especialmente diseñado: el FilmCan Engine, un copiador en fan-out diseñado para rushes de cine: leer el origen una vez, escribir en cada destino a la vez, verificar con listas de hash de calidad de cine, y recuperar un disco defectuoso con un clic.
Cómo funciona
- Leer el origen una vez. Un único paso de lectura extrae cada archivo directamente de la tarjeta, evitando el caché de memoria del Mac, por lo que una descarga grande no llena su RAM con datos almacenados en caché.
- Transmitir a cada destino a la vez. Un canal acotado alimenta un tarea de escritor por unidad. La unidad más lenta marca el ritmo; las unidades más rápidas están brevemente inactivas. Las escrituras de destino también evitan el caché de memoria, por lo que un copia de cientos de GB se mantiene limitada en memoria.
- Escrituras honestas. En unidades exFAT, externas y USB, FilmCan obliga a caché propia de la unidad para vaciarse en el medio físico antes de marcar un archivo como completado, así « copiar finalizado » significa que los bytes están realmente en la unidad, no solo en cola en un búfer. Las unidades internas usan el método de guardado normal y más rápido del Mac, ya que no tienen este problema.
- Finalización atómica. Cada archivo se escribe primero en un archivo temporal oculto, luego se cambia a su nombre final solo cuando está completamente escrito, nunca verá un archivo a medio escribir en el destino.
- Verificación (ver modos a continuación), superpuesto con la copia del siguiente archivo.
- MHL por origen raíz. Un
.mhlde formato ASC sellado por origen raíz, agregando cada archivo en ese árbol, en<dest>/.filmcan/hashlists/<root>.mhl.
Canalización de verificación
La verificación se ejecuta en su propio carril mientras el siguiente archivo aún se está copiando, por lo que un releer paranoico ya no duplica aproximadamente el tiempo de pared. Se oculta principalmente detrás la copia. Solo la cola de verificación del último archivo se ejecuta sola (se muestra como « Verificando… »).
Modos de verificación
Elija en Backup Editor → Options → Verification.
| Modo | Detecta | Costo |
|---|---|---|
| Off | nada | más rápido, sin hash o verificación |
| Fast (predeterminado para nuevos proyectos) | Cambios de bits de RAM, corrupción PCI/USB, escrituras parciales, a través del hash calculado durante la copia | nada más allá de la copia; sin relectura |
| Paranoid | todo de Fast + corrupción silenciosa del firmware de la unidad, mentiras del caché del SO, pudrición de bits en reposo, relee cada destino (y el origen) desde el disco y rehace hash | I/O de disco adicional, principalmente superpuesto con copia |
Reanudación: la re-ejecución omite lo que ya está ahí
Volver a ejecutar una copia de seguridad (incluida después de Stop) no recopian archivos que son ya se hizo. Un archivo se omite cuando se registra en la lista de hash de cada destino y aún está presente en el disco allí. Solo se copian los archivos restantes; la fila de progreso dice « Reanudación: N ya respaldados, copiando el resto. »
- Si la copia de seguridad completa ya está presente, no se añade ninguna tarjeta de historial. Un Ya respaldado popup aparece en su lugar, con un botón Verify data (la misma verificación de lista de hash que Check data del historial).
- Un archivo eliminado de un destino se recopian (se comprueba la presencia, no solo la lista de hash).
- Force re-copy (Opciones) deshabilita la omisión de reanudación y recopian todo.
- Advertencia: con una plantilla de carpeta
{date}, reanudar en un día diferente recopian en la carpeta de ese día (los archivos anteriores no coinciden).
Orígenes de directorio
Suelte una tarjeta montada (por ejemplo, /Volumes/A001_C002) o cualquier carpeta. FilmCan recorre el árbol,
refleja el diseño bajo cada destino y agrega un MHL por
origen raíz. Los archivos ocultos de macOS (.Spotlight-V100, .fseventsd, .DS_Store,
.Trashes) se omiten automáticamente.
Discos defectuosos, reparación con un clic
Cuando un disco falla a mitad de la copia o falla en la verificación, un botón Retry aparece en su fila, abriendo la hoja de reparación:
- From source, re-ejecuta el motor para ese único disco, extrayendo de la fuente(s) original(es) si aún está montada(s).
- From sibling, lee archivos del MHL de un disco vecino verificado, los copia al disco fallido y verifica hash a cada uno. Ya no es necesario montar la tarjeta de origen. Flujo de trabajo de conjunto de cine: continuar, reparar el disco al mediodía.
From sibling se habilita solo cuando al menos otro destino del mismo trabajo tuvo éxito.
Rendimiento y memoria
- Limitado en memoria. Las lecturas de origen y las escrituras de destino evitan el caché de memoria del Mac, y la relectura paranoica libera memoria a medida que avanza, fragmento por fragmento. La memoria en vuelo es solo un pequeño búfer por destino, limitado entre 32 MB y 96 MB según la cantidad de RAM que tenga la Mac.
- La concurrencia multi-origen se limita al número de origen físico distinto unidades, tres clips de una tarjeta se copian secuencialmente (sin trashing de cabeza); la tarjeta A y la tarjeta B se copian en paralelo.
- El tamaño del fragmento se elige desde el bus de destino más lento, 4 MB en buses lentos, hasta 16 MB en Thunderbolt/interno.
- La velocidad en vivo y ETA utilizan un promedio móvil del rendimiento combinado reciente (copia + verificación), por lo que la estimación es estable y honesta desde los primeros segundos.