Cela semble joli.
Connecteur USB-C
May 17 16:48:51 raspberrypi kernel: [ 3.300975] scsi 0:0:0:0: Direct-Access SSD SSD 5.00 PQ: 0 ANSI: 2
May 17 16:48:51 raspberrypi kernel: [ 3.304715] sd 0:0:0:0: [sda] Very big device. Trying to use READ CAPACITY(16).
May 17 16:48:51 raspberrypi kernel: [ 3.307273] sd 0:0:0:0: [sda] 4096000000 4096-byte logical blocks: (16.8 TB/15.3 TiB)
May 17 16:48:51 raspberrypi kernel: [ 3.309676] sd 0:0:0:0: [sda] Write Protect is off
May 17 16:48:51 raspberrypi kernel: [ 3.311812] sd 0:0:0:0: [sda] Mode Sense: 0b 00 00 08
May 17 16:48:51 raspberrypi kernel: [ 3.312121] sd 0:0:0:0: [sda] No Caching mode page found
May 17 16:48:51 raspberrypi kernel: [ 3.314288] sd 0:0:0:0: [sda] Assuming drive cache: write through
May 17 16:48:51 raspberrypi kernel: [ 3.318517] sd 0:0:0:0: [sda] Very big device. Trying to use READ CAPACITY(16).
May 17 16:48:51 raspberrypi kernel: [ 3.323570] sd 0:0:0:0: [sda] Attached SCSI removable disk
Première observation: le disque ne monte pas automatiquement, sous Linux. Mais on peut le monter à la main:
root@raspberrypi:~# mount -t exfat /dev/sdb /mnt/
root@raspberrypi:~# cd /mnt/
root@raspberrypi:/mnt# df -h .
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
/dev/sdb 16T 24M 16T 1% /mnt
Wow!
root@raspberrypi:/mnt# ls -ltr
total 4096
drwxr-xr-x 2 root root 4194304 17 oct 2022 'System Volume Information'
root@raspberrypi:/mnt# mkdir testfiles
root@raspberrypi:/mnt# cd $_
root@raspberrypi:/mnt/testfiles# i=1
root@raspberrypi:/mnt/testfiles# printf -v i %03d $i;time yes $i | dd iflag=fullblock bs=$((1024**2)) count=1000 of=file-$i.txt
1000+0 enregistrements lus
1000+0 enregistrements écrits
1048576000 octets (1.0 GB, 1000 MiB) copiés, 33.0469 s, 31.7 MB/s
real 0m33.060s
user 0m0.288s
sys 0m6.655s
Voilà, j'ai créé un fichier de 1Gb, contenant 001\n
répété.
root@raspberrypi:/mnt/testfiles# head file-001.txt
001
001
001
001
001
001
001
001
001
001
root@raspberrypi:/mnt/testfiles# tail file-001.txt
001
001
001
001
001
001
001
001
001
001
root@raspberrypi:/mnt/testfiles# ls -l
total 1024000
-rwxr-xr-x 1 root root 1048576000 20 mai 09:48 file-001.txt
Tout semble correct.
Faisons à présent 99 autres fichiers de 1Gb, contenant 002
à 100
.
root@raspberrypi:/mnt/testfiles# for i in {2..100};do
start=${EPOCHREALTIME/.}
printf -v i %03d $i
yes $i | dd iflag=fullblock bs=$((1024**2)) count=1000 |
tee file-$i.txt |
md5sum >>md5sums.txt
elap=00000$(( ${EPOCHREALTIME/.} - start ))
printf ' - %s %9.4fsec\n' "file-$i.txt" ${elap::-6}.${elap: -6}
done
1000+0 enregistrements lus
1000+0 enregistrements écrits
1048576000 octets (1.0 GB, 1000 MiB) copiés, 35.1773 s, 29.8 MB/s
- file-002.txt 35.1904sec
1000+0 enregistrements lus
1000+0 enregistrements écrits
1048576000 octets (1.0 GB, 1000 MiB) copiés, 77.542 s, 13.5 MB/s
- file-003.txt 77.5528sec
...
- file-099.txt 33.4823sec
1000+0 enregistrements lus
1000+0 enregistrements écrits
1048576000 octets (1.0 GB, 1000 MiB) copiés, 33.4362 s, 31.4 MB/s
- file-100.txt 33.4524sec
Tout sembe ok, testons!
checkFile() {
local a e r;
for a; do
e=${EPOCHREALTIME/.}
mapfile -t r < <(
stat -c %s $a
( tee < $a >(head -n1 >&6 ; tail -n1 >&6 ) |
wc ) 6>&1
)
e=00000$((${EPOCHREALTIME/.}-e))
printf ' - %s %11d %4s %4s %8d %8d %11d %9.4fsec\n' \
"$a" ${r[@]} ${e::-6}.${e: -6}
done
}
Pour afficher la taille, la première ligne, la dernière ligne, le nombre de lignes, le nombre de mots, la nombre de characters et la durée d'execution du test.
Ceci affiche:
- file-001.txt 1048576000 001 001 262144000 262144000 1048576000 42.9288sec
- file-002.txt 1048576000 002 002 262144000 262144000 1048576000 50.0091sec
- file-003.txt 1048576000 003 003 262144000 262144000 1048576000 50.1531sec
...
- file-058.txt 1048576000 058 058 262144000 262144000 1048576000 50.3845sec
- file-059.txt 1048576000 059 059 262144000 262144000 1048576000 50.0544sec
- file-060.txt 1048576000 060 00000560.268962 0 0 0 0.0000sec
- file-061.txt 1048576000 000005553.352329 0 0 0 0.0000sec
Puis tout se plante...
Bon, il est temps de voir à quoi cela ressemble:
Voilà, voilà...
C'est bien vide, tout ça!
Une carte SD de 64Gb:
MMSZ64GG9T25 TO
XL 2982 2304
MADE IN CHINA
Piloté par un chip:
Chipsbank
CBM2199S
EK5457
Si je branche la carte SD sur un autre adaptateur SD, je trouve la partition EXFAT au 40ème block.
root@raspberrypi:~# dd if=/dev/sdb count=40 >/tmp/sdd_16t-401stBlk.raw
root@raspberrypi:~# dd if=/dev/zero of=/dev/sdb count=40
40+0 enregistrements lus
40+0 enregistrements écrits
Que je remets cette carte SD dans son support derrière le chip CBM2199S
,
alors là le chip n'agit plus, je vois l'entier de la carte SD de 64Gb.
Le support se comporte alors comme un SD Card Reader. (USB-2) càd pas très
rapide.
May 20 20:31:21 raspberrypi kernel: [272573.464239] scsi 1:0:0:0: Direct-Access ChipsBnk Flash Reader 5.00 PQ: 0 ANSI: 2
May 20 20:31:21 raspberrypi kernel: [272573.464683] sd 1:0:0:0: Attached scsi generic sg1 type 0
May 20 20:31:21 raspberrypi kernel: [272573.468386] sd 1:0:0:0: [sdb] 122138624 512-byte logical blocks: (62.5 GB/58.2 GiB)
May 20 20:31:21 raspberrypi kernel: [272573.468585] sd 1:0:0:0: [sdb] Write Protect is off
May 20 20:31:21 raspberrypi kernel: [272573.468594] sd 1:0:0:0: [sdb] Mode Sense: 0b 00 00 08
May 20 20:31:21 raspberrypi kernel: [272573.468749] sd 1:0:0:0: [sdb] No Caching mode page found
May 20 20:31:21 raspberrypi kernel: [272573.468757] sd 1:0:0:0: [sdb] Assuming drive cache: write through
May 20 20:31:21 raspberrypi kernel: [272573.473779] sd 1:0:0:0: [sdb] Attached SCSI removable disk
... Et si je remets ces 40 blocks au début d'une carte SD d'au moins 64Gb
root@raspberrypi:~# dd of=/dev/sdb if=/tmp/sdd_16t-401stBlk.raw
Alors que transforme cette carte en SSD de 16Tb...