AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1789093
Accepted
pbies
pbies
Asked: 2023-06-15 01:30:34 +0800 CST2023-06-15 01:30:34 +0800 CST 2023-06-15 01:30:34 +0800 CST

Pendrive ou partição de cartão SD em local específico

  • 772

Normalmente, o Windows coloca a primeira partição no setor 2048. No entanto, encontrei outros lugares diferentes para os quais preciso perguntar a você:

  1. Por que os fabricantes geralmente colocam partições em lugares diferentes? (setores: 2048, 65536, 131072) Quais são as decisões de engenharia de que a partição ficará em um local específico? Será que os blocos de memória em pendrives ou em cartões SD são de algum tamanho específico?
  2. Se eu colocar a partição em um setor diferente do fabricante - vejo corretamente uma velocidade de gravação mais baixa? Se sim, é porque existem blocos de memória no cartão/pendrive com limites específicos?
partitioning
  • 2 2 respostas
  • 52 Views

2 respostas

  • Voted
  1. Incnis Mrsi
    2023-06-15T21:09:50+08:002023-06-15T21:09:50+08:00

    Ī̲ não abordará o ponto 1. em profundidade porque a presunção de que os fabricantes devem colocar a primeira partição no mesmo deslocamento não é substanciada. Afinal, eles poderiam comercializar dispositivos para diferentes propósitos.

    Quanto ao ponto 2., uma coisa importante não é o deslocamento da partição em si, mas o layout resultante do sistema de arquivos. A maioria dos dispositivos de estado sólido modernos usa setores físicos de 4096 bytes , embora finjam que o tamanho do setor é de 512 bytes. Nesse caso, você obviamente pode degradar visivelmente o desempenho, por exemplo:

    • usando o tamanho do bloco do sistema de arquivos menor que 4096 bytes,
    • colocando limites de bloco em deslocamentos não múltiplos de 4096 bytes (ou seja, oito “setores lógicos”).

    A última possibilidade certamente será alcançada se você criar um sistema de arquivos no estilo Unix a partir de um deslocamento (em “setores lógicos”) diferente de um múltiplo de 8. O AFAIK NTFS usa um conceito de layout de dados semelhante aos sistemas de arquivos Unix (como ext2/3 /4 e UFS), o que não é o caso do FAT. Para o FAT, colocar o setor inicial em offset divisível por 8 não garante um layout correto dos chamados clusters , portanto, cuidados especiais devem ser tomados.

    • 1
  2. Best Answer
    pbies
    2023-06-16T00:31:39+08:002023-06-16T00:31:39+08:00

    A pergunta é brevemente respondida aqui:

    https://pawitp.medium.com/block-alignment-on-sd-cards-cf09dca42439

    Citar:

    Acho isso intrigante, pois, como usuário de computador, sempre vi o cartão SD como um dispositivo de armazenamento bruto onde ele armazena bytes e você pode colocar qualquer tipo de dados e qualquer tipo de sistema de arquivos nele. Este é um elogio à camada de abstração que funciona tão bem que nunca me preocupei em olhar sob o capô para saber como funcionam os cartões SD.

    Depois de mais pesquisas, descobri que a SD Card Association na verdade especifica o sistema de arquivos padrão a ser usado com o cartão SD, e não é apenas “usar FAT32”, mas na verdade especifica como o sistema de arquivos deve ser alinhado no cartão.

    Parece que, a partir do SDHC, você só pode gravar no cartão SD em setores de 512 bytes, portanto, não pode escrever apenas um byte, deve informar ao cartão SD todo o setor (512 bytes) que deseja substituir o conteúdo com. Se você deseja escrever apenas um byte, deve ler os 512 bytes, alterar um byte na memória e, em seguida, escrever de volta todos os 512 bytes.

    O sistema de arquivos FAT32 também possui tamanho de cluster. Isso significa que cada setor de 4 KB no disco é atribuído a apenas um arquivo (claro, um arquivo pode abranger vários setores). De acordo com a Microsoft, para a maioria dos tamanhos de partição, o tamanho do cluster é de 4 KB, que cabe exatamente em 8 setores do cartão SD.

    Portanto, ao gravar um cluster, você pode emitir comandos de gravação diretamente para 8 setores.

    Quando quiser gravar no cluster 1000, basta gravar no setor 8000–8007 sem se preocupar com os dados anteriores nesses setores. Agora, o que acontece quando você cria uma partição sem estar ciente da idiossincrasia do armazenamento subjacente. Provavelmente, o cluster no sistema de arquivos não corresponde ao setor no cartão SD. Isso resulta no cluster abrangendo 9 setores em vez de 8.

    Em gravações desalinhadas, você deve tratar os setores 8000 e 8008 de maneira especial. No exemplo acima, você precisaria emitir um comando de leitura para o setor 8000 e 8008 para sobrescrevê-los parcialmente (você precisa preservar a primeira parte do setor 8000 e a última parte do setor 8008, pois possui dados de clusters diferentes). Então, no final, você precisa ler 2 setores e escrever 9 setores, o que é menos eficiente.

    No grande esquema das coisas, os computadores têm muita memória para ser usada para armazenar em cache esses dados e os arquivos geralmente abrangem vários clusters contínuos, portanto, o problema é menos grave. Se você precisar escrever um cluster, são 11 comandos em vez de 8 (37% a mais de comandos). Mas se você precisar escrever 1.000 clusters contínuos (por exemplo, um arquivo de 4 MB), são 8.003 comandos em vez de 8.000 (0,037% a mais), então o problema não é tão sério.

    No entanto, se você estiver em um microcontrolador com memória limitada e espaço de armazenamento de código, isso se tornará um problema maior. Você não apenas precisará de memória adicional para armazenar dados em cache para gravação, mas seu código será mais complexo, pois precisa lidar com o caso.

    Se for especificado que o sistema de arquivos FAT32 em cartões SD deve ter clusters alinhados aos setores dos cartões SD, seu código pode simplesmente ignorar esse caso extremo e se recusar a trabalhar com cartões SD formatados incorretamente. Assim, posso ver por que a SD Card Association deseja especificar o sistema de arquivos até este nível.

    • -2

relate perguntas

  • Alterar o GUID da partição (tipo)?

  • Instalando o Ubuntu em um disco rígido de backup em espaço não alocado

  • Como limpar completamente o disco do laptop para uma nova instalação do Ubuntu?

  • Tamanho da partição 128 GB, mas apenas 64 GB detectados [duplicado]

  • Devo particionar um SSD secundário (sem sistema operacional) usado para armazenamento? [fechado]

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Vickel O Firefox não permite mais colar no WhatsApp web? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve