A transferência de dados de uma unidade flash é considerada velocidade de leitura?

1

Eu tenho uma pergunta bastante simples. Basicamente, estou relativamente certo de que gravar em uma unidade flash é a velocidade de gravação e ler os dados nela é a velocidade de leitura. No entanto, ao transferir dados de uma unidade para outra (seja SSD ou HDD), supondo que a velocidade de gravação da unidade de destino seja infinita, a velocidade de transferência seria a velocidade de leitura da unidade de origem? Em outras palavras, a velocidade na qual os dados são transferidos de uma unidade é a velocidade de leitura?

    
por ThatCrazyCow 16.07.2016 / 00:11

3 respostas

1

O primeiro gargalo será a limitação da mídia (SATA / USB / FireWire) ou, como você mencionou, a velocidade de leitura da unidade de origem.

Copiar arquivos de um disco para outro não utiliza a velocidade muito alta de leitura e gravação da RAM, porque a área de transferência armazena apenas informações sobre a localização dos arquivos, e não os arquivos em si.

    
por 16.07.2016 / 00:23
3

Se você copiar um arquivo de uma unidade flash para algo com velocidade de gravação infinita (posix /dev/null/ , windows \.\nul ), então sim, você verá apenas os efeitos de velocidade de leitura, aplicativo e sobrecarga do sistema operacional. / p>     

por 16.07.2016 / 01:50
2

I have a rather simple question

Mas a resposta não é simples.

is the speed at which data is transferred from a drive it's read speed?

A transferência de dados de um dispositivo está sendo lida.
A direção de E / S é sempre da perspectiva da CPU.

A transferência de dados ocorrerá em duas fases.
A primeira fase é do meio (por exemplo, discos de disco ou flash NAND) para o controlador integrado do dispositivo (por exemplo, um controlador de disco ou um controlador de flash NAND, NFC). A segunda fase é do controlador do dispositivo para o PC host em uma ponte SATA ou USB-SATA (ou seja, SATA sobre USB). Entre essas fases, o bloco de dados é verificado usando ECC e, talvez, corrigido.

Essas duas fases devem ocorrer seqüencialmente para cada bloco / setor de dados.
Essas transferências não podem ser executadas simultaneamente, portanto, o tempo para executar cada fase pode ser adicionado para obter o tempo total para transferir os dados (e ignora o tempo para enviar a solicitação de leitura e acessar os dados). As taxas de leitura do fabricante do dispositivo podem ou não separar essas duas fases e podem ou não fornecer esclarecimentos. Em geral, suspeito que as taxas de leitura típicas para unidades flash NAND são apenas para a primeira fase, pois esse normalmente será o valor mais rápido que pode impressionar um cliente em potencial.

However, when transferring data from one drive to another (be it SSD or HDD),

Whoa, uma transferência de uma unidade para outra é quase sempre duas transferências. Há uma leitura da unidade de origem para a memória e, em seguida, da memória, uma gravação para a unidade de destino. A quantidade de simultaneidade ou sobreposição que a leitura & operações de gravação empregar é determinado pela sofisticação (por exemplo, buffer duplo) do programa de cópia e limitações de hardware (por exemplo, contenção de barramento). O melhor caso pode realizar a transferência em cerca de metade do tempo como o pior caso (sem concorrência), mas sem análise ou conhecimento específico você não saberia como interpretar os tempos de transferência.

Você não pode ignorar a memória a menos que tenha um mestre de barramento que possa realizar transferências de dispositivo para dispositivo.
Como um dispositivo para transferência de dispositivo realmente envolve duas transferências com grau de simultaneidade não especificado, você obterá "velocidades" de leitura e gravação imprecisas dos dispositivos individuais.
Com os SOs * nix, operações de gravação usando / dev / zero e operações de leitura usando / dev / null fornecem números gerais aproximados de velocidade de transferência.

    
por 16.07.2016 / 01:39