αααααα»αααααααααα·ααΆααααα
ααΆααααΆαααΈααααααααΆααα ααΆααααΆαααααα½αααααααΎαα αα ααΆααααα»α Raspberry Pi αα·αααααααααΎααα½αα ααα½ααα ααΎααααΆαααΆα ααααα‘ααα α’αααααα½αααΆαα α’αααααα½ααα·αααααααα ααααΆααΈααααΆααΆαααααΌαααΆαααααΆαα... α’αααΈααααααααΆαααααΌαααΆααααααααααααααααααα·ααΈααααααααααααααα½αα―αα αααααααα·ααΆαααΆαααΆααααΌαααααΌαααΆαααααααα αααααα ααα»αα ααΎααααΆααααααααΊ (MicroSD) ααααααααΆααααααααΌαααΆααααααΌαααΆαα’ααΈαααΊαα·α (αααααααΎαααΌααΉα USB) αα ααΆαααααΆαααΈααα αααααΆααααΌαααΆααααααΆαα»ααααα»αααΌαααααΆααα·ααααααα ααααααΆααααααααΌαααΆααααα»ααα αααα»α 1c ααααΆαα ααα»α αααααΆαααααααΆαααΆαααααααααΆααααΆααααα½ααα·αα·αααααΆααΎαα
αααααΊαα·ααΆαα»αααααααα·ααΆαααΆααααααΆααααΆαα - αααααΆααααααααα (ααααΆααα αααΌαααΆααααα αααβα’αΆα βαα·ααΆαβααΆαβααΆβααΆβααααααΆαβααΆααα’ααβαααβααΎαβααΆαβα’αααΈβαααΆαααΈαβαααα
αααα αΆ
ααααΆααααααααΊαααα αΆααααα½αα―αααΆααΆα§αααααααααα·αα’αΆα αα»αα α·αααααΆαα αα½ααααααΆαααααΆαα½αααΉαααΆααααααΆαααα½αα±ααα αααααα αααααΆαα±αααααΆαααΈαααΆααααΈααα·αααααΎαααΆα αα·α (ααααα·αααΎαααααΆααα ααα»αααα½αα ααα½α αααααα ααα»αα·αα’αΆα αααααααΆαα’ααΈαααΊαα·α) αααααΆαααΆααααααα·ααααααα
ααααα·ααααααΆαααα·αααααααααΌαααααΆαααααΎααααΆαα flash drives ααααα αα»ααααααΆααααααααα½ααααααααααααααΆαα§αααααααΆααα½ααα αααααααααΆαααααΈααααΌαααΆααααααΆαα»ααα ααΎ USB flash drive ααΆααααΆααααα αΆααΆαα½αααΉαααΆαααΏααΆααααααα αααααααα ααα½αα’αααααααααΆααααααα»α αααα»ααα½αααααΊααΆαααα·αα ααΎαααΆαααΆααααα flash drive ααααααααααΆ αα½αααΆαααααΆαααΈα ααααααΆαα’αααα αα αΆα SLC α αΎααααΌαααααααα’αΆα αα»αα α·αααααΆαααΆαα§ααααααααααααα ααα»ααααααΆααααα½α flash drives αα·αααΆααααααααΆααααα αΆααααααααααααααα
ααΌααααααααα! α’αΆαααΌαα αΎα! ααααα·αααΎα’ααααα·αα
αΆααα’αΆααααααααΎ "α ααα»α’αααΈ" ααα»ααααααΆααα "αααα" α’αααα’αΆα
αα
ααααα
ααΆααααααα α α·ααα
ααΏαααααΌαααααα·αααΊα ααααααα αα MicroSD ααα‘αΎαα§ααΆα ααα SSD α αΎαα αΆααααααΎαααΈααΆα ααΆαααααΉααααΈα’αΆα ααααΎαα ααΆα αααα ααααΆ ααα»ααααααΆαααααααααα α αΎααα·ααα½αα±αααα»αα α·αααααααΆαα (α’αΆααΆααααα USB-SATA ααααΌαααΆααααααα αααα·αα·αααΆααααααααΆαα SSDs ααα·ααΆαααα·αααΎαααΉαα α·αααααα)α
USB HDD αααα·αααΎααα ααΌα ααΆαααααααααΆαααΆααααΆααα·ααααααα
ααΌα ααααα αΎα ααΎαααΆααααααααααΎααααα αα»αααΆαα αΆααααααΎαααΈ MicroSD ααα»ααααααααΎααΆαααα»αααααααΆαααα’αΆα α αΎααααααΆαα»ααααααα ααα»ααααα·ααααα·ααΆα (αα·αααααααΆααααααααααααααΆαααααααααΉαααΆααααΆαααα½α - ααααααααΈ ααΆααααα·αα§αααααα αΆαααααααΆααα) αα αααααααααααα .
αααααΆααααα FS ααΆαααα’αΆααααααΆαα raspberries ααααΌαααΆααα·ααααΆαα½α α αΎααα αααα»ααα·ααααα αααα»αααΉααα·αααααα ααΎααααααΆααααα’α·αααααΆαα’αα»αααααα αααα»αα’ααααααααααα (ααα»ααααααααα·αααΎααΆαααΆαα αΆααα’αΆαααααα αααα ααααΆαααα»αααΉααααααα’αααααααΌα αα½αααΎαααααΆαααααα). α ααα»α αααα½ααααααααααα»αα ααααααααααΆαααααααΊααΆ ααΆααααΈαααα·αααααααααΆαααααα½α αα·αααΈααΆααα·αα·αααα‘αΎααα·αααααα’ααααααααΆαα’αα»ααααααΆαα½α α αΎα ααΆαααΆαααΏααΆααα ααΆα / α αΆα ααΆαα·αα’αΆα αα αα½α αααααα»αααΆααααα αΆααααΆααααααΆααααΆαααααα»α ααα»ααααααΆαααΆαααααααααααααααααααα½ααααα·αααΆα’αΆα ααααΎαα ααΆαα α αΎαααΆαααααΌαααΆαααααα½αααααα½α αααααααΎα±ααααΆααααα½αααΆααααααΆααααα½ααααααΆαααα»ααααα·αααααΆααααα
αααααααΉα
αα·αααΆαααΆαααααααααΆαα·αααα’αααΈαααααΎαααααααααα’αααα
αα
αΆαααααα - NOR Flash α
α’αΆαα»αααααα
- ααΆααααααΆααααΆαααα (ααΆαα αααΎαααΆααΉαααΆαααααααααααα»α SPI αααα’αααααΆααααα·αααααααααΎααααΆαααα½α α αΎα ααΌα ααααααααΆααααα αΆαααααααΉαααααΌαααΆαααΎαααΎααα»αααΆαα»α);
- ααααααα½αα±ααα’ααααααΎα ;
- αα·ααΈααΆαααααα·ααααα·ααΆααααααααΆα (ααΆαα’αα»ααααααΆααα½α α αΎααα αααα»αααΊαααααΈαα»α ααααα·αααΎα’αααααααΆααααΆ α’αααα’αΆα ααααΆααΈααΈααΈαααααΆαααααααΆα α¬ααΌααααΈαααααααααααααα½αα―α ααααΆαααα’α’αααΈααααααααΆαααΊααΆαααα);
- ααΆαααΏααΆαα αα·αααααΆαα
ααΈαααααΉααα·ααααααααααααΆα αα·ααααααααααΌαααΆααααααΆαα»ααααααα 20 ααααΆα 100000 ααααααααΆααα»ααααααΆαααααα»αααΈαα½ααα
ααΈαααααααΆααΈααΈααΈα BER ααΆααααα»α αααααΆαααΆαα·αααααΌαααΆααααααΌαααααα α»αααα (ααΆαααΆαααααα αΆαααα»α ECC αααααΆαα NOR ααα»ααααααΆααααααΆααΆαα ααααΆααααααΆ MLC NOR ααΆααΎαα‘αΎαααααα).
α αΌαααΎααααΆααααααΆααααααΌαααΆααααααΆααααα·ααΆα αα·αααααΆαα
αααα»αβα ααβα±ααβαα·ααααααβααααΌαβααΆαβααΆααΆβααΆβααΉαβααααΌαβααΆαβαααααΆβαα»αβααΆβα αααΎαβααααα αααααΊα αΆαααΆα αααΎααααΈα±αααααα»αααααΈααΆααααα αΆααααΆααααααααΆαα½α αααααααα·ααααΆαααααα·αααααΌαααΆαααΆαααααα‘αΎαα ααΎαααΉααααααααΎ 5 αααααααα»αα’αα‘α»αααααααα (ααΌααααΈαααα·ααααα α»ααααααΆα α αα·αααααααααααααΆα) αααα αΆα’αΆα ααααΌαααΆααααααααΆαα
αα αα α»αααααααααααΎααααααΌαααΆααααα αα 100kb αααααααα ααα»αααα»ααα½ααααα (3-4 ααΆααααΆαα») ααα»ααααααααα·α αααααα½αααααααααα»αααΎαα‘αΎα - ααααααΆααααα’α·ααααα»αααΎαα‘αΎα ααααΉαααα·ααΆαααααααΈααααα»αααααΌαααΆαααααααα ααΎαααΈααα αα½αααΆαααΆαααΆααααα»αα‘αΎα (α§ααΆα αααα§αααααα αΆαααααααΆααααα αΆααααααΎαααααΎααΆαα₯αααΆαααΆαααΆαα½αααΉαααΆααα·αααααΆααα·ααα·α)α ααΎαααΉαααααΆαααααΆαα 10 ααΆαααααααααααΆ 100 ααααΈαα½αα - ααααΆαααααα»ααα½αααααα
ααα»ααα αα·ααααααααα’αΆα (αααα αΆααααα’) 5MB α ααααα αααααααααααααα½αααα (ααΆααααΆαααααααΆα) 1MB αααα·ααααααααααΆααααα
αααααΊααΎαααααΌαααΆααααααααΈα 8MB ααααα·αααΎααΎααα·αααααΎααΆααααα αΆαα α¬ 4MB ααααα·αααΎααΎαααααΎααΆα αα½αααααΆααααααααααααΆααααααααααααΆαα αα αΆααααα
α
ααααααααΆαα ααααα·αααΎααΎαααΆαααααααααΆααΆαα
αα
αΆαααΆααααΌαααΉαααααΌαααΆααααααα‘αΎααα·ααα·αααΎαααΈαααααααααΆαα 5 ααααααααα ααΎαααΈ 10 ααααΆαααααΆααααααΎααΎαααα½αααΆααα·α
ααΆααα½αααΆααααααααααΆααααααα‘αΎααα·αα
αααα»αααΌαααααΉαα’αααααΆαααα»αα αα»αααα·ααααααΆαα½αααααΆααα
ααααα·α α’αααΈ NOR vs NAND
αααααααααααααΆααΆααα·αααΆαα α’αααα αα αΆα NAND ααΆααααααΆααααααΆαααα·αααΆα ααα»αααααααα»αααΉααα·αααααΎααΆαααααΆαααααααααααααα NAND αα·αααΌα NOR αααααΌαα±ααααααΎαααααΌαααααα α»α ααΆααΆααααα»αα’αΆαααααααΆααΎα α αΎααααααΆααααΎααααα αααααααΈα NAND ααΆααααααΆααΆαα αααΎααααα
αα»ααα·ααααα·αα NOR αα½αααΆα:
- ααα·ααΆαααΌα (α αΎαααΆαααααααααααααααααα»ααα½αααααΆαα);
- ααααΏαααααΆααααααααΆα (ααΆαα αααΎααααααΆαααααΆααα·ααααααΆα ααα»α αααααΆαααααααααααΌαααΆαααααΎααΆααααααΆ SPI α¬ I2C);
- ααΆααα»αααΊα (α’αΆαααααααΎααα ααααα»α ααΆα αααΆααααααΈαα½ααα·ααΆααΈαα α αααΎααα·ααΆααΈ)α
ααΆα αΆααααΌα ααΆααααΆαα’αααΈααααΆαααααααΆααααΎααα ααΌα ααααααΎαααααα
ααααα·αααΎααααααΆααααα’α·ααα½αα±ααα
αΆααα’αΆααααααααα microcircuit ααααΌαααΆαααααΎαααΎα
αααα»αααααΎαααααα·ααΈαααααΆαααααΆααααααΎαα‘αΎααα αααα»αααΊαααααΈαα»α ; αα ααΎ Raspberry α’ααα»αα ααααααΆαααΆααααααΆαααΆααααΎαααααΆαα§ααααα α’αααΈααααααααΆαααΊααΆααααααΆαα - α’αααααααΌαααΆαααααααΆαααααααΆαα ααααααα αααα»α /boot/overlays α αΎαααααααααααα·α /boot/config.txt α
α§ααΆα αααα―αααΆα dts
αα·ααΆαα±ααααααααα αααα»ααα·αααααΆααααΆααΆααααΌαααΆαααααααααααααΆαααα α»ααα ααα»ααααααΆααααΎαααΆαα
/*
* Device tree overlay for at25 at spi0.1
*/
/dts-v1/;
/plugin/;
/ {
compatible = "brcm,bcm2835", "brcm,bcm2836", "brcm,bcm2708", "brcm,bcm2709";
/* disable spi-dev for spi0.1 */
fragment@0 {
target = <&spi0>;
__overlay__ {
status = "okay";
spidev@1{
status = "disabled";
};
};
};
/* the spi config of the at25 */
fragment@1 {
target = <&spi0>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
flash: m25p80@1 {
compatible = "atmel,at25df321a";
reg = <1>;
spi-max-frequency = <50000000>;
/* default to false:
m25p,fast-read ;
*/
};
};
};
__overrides__ {
spimaxfrequency = <&flash>,"spi-max-frequency:0";
fastread = <&flash>,"m25p,fast-read?";
};
};
αα·ααααααΆαααα½αααααα αααα»α config.txt
dtoverlay=at25:spimaxfrequency=50000000
αααα»αααΉααα»αα ααααΆααα·αααααΆα’αααΈααΆαααααΆαααααααααΈααα Raspberry Pi α αααααΆααα·αααα αααα»ααα·ααααααΆα’αααααααΆαααΆαα’αα‘α·α ααααΌαα·α αα αααα»ααα αα·α α’αααΈααα ααΈαααααΊα’αΆαααααααΌααααΈαααααααΆαααααα»αα ααΈααααΌααααααΈααΆαααΎαααααΉααα 8 ααα»ααααα αααααΎαααααΌαααΆαααΈ ααΆααα SPI (CS, SI, SO, SCK ); ααααα·αααΊααΌα ααααΆααΉα Raspberry Pi αα·αα αΆαααΆα αααΆαααααααααΎααααααααα - ααααΆααααααααΆαα 6 pins αααααΆαα ααα’α»ααααα αΆαα
ααΆααααααΎααααα αΆ
ααΌα ααααααΆ ααα ααααΈαααααααΆααααααα αΆααααΌαααααααΆααα αααΎααα α αΎαααΆα αΆααααΌα ααΆαααα»αααΆααΆααααααα αΎααααααΆααααΏααααααΆααα ααΌα αααα α αΌαααΎααααααΆαααααα αΌαααααΆααΌαα’αααΈαααααΆαααααααα½α ααα αΎα α αΎααααααΆααααααααΆααααα’α·αααααα ααααΆααα αααα»αααααααα
ααΌα αααα ααΎαααΆααααααα α α·αααααΆαααααα ααα»ααΉαααααΌαααΆααααααΆαα»ααα αααα»α SPI NOR Flashα
α’αααΈβαα βααΆ NOR Flash αααααΆααβα’αααβαα·αβααΉα?
αααααΊααΆα’αααα αα αΆαααααα·αααΆαααΉαααααααΆα ααα» αααα’αααα’αΆα ααααΎααααα·ααααα·ααΆαααΈαααΆαα
- ααΆαα’αΆαα
ααΆαα’αΆαααααααΆαααα»αα ααΎααααααΌαα’αΆααααααΆα αα·αα’αΆαα αααΎαααααΆααααααΎαααααΌαααΆαα - αααααααααΆα
ααΆαααααααα NOR flash ααΎααα ααΌα ααΆααααααΆ ααα»ααααααΆααΆααααααααα·ααααα½αα α’αααα’αΆα ααααΆααααααΌαααΆαααααΉααα 1 ααα 0 ααα»ααααα ααα»αααααα·ααααα»ααααα·αααα α§ααΆα ααα ααααα·αααΎααΎαααΆα 0x55 αα αααα»ααααα·ααΆαααααΌααΈ αααααΆαααααααααΆααααΈααααα 0x0f αα ααΆ 0x05 ααΉαααααΌαααΆααααααΆαα»ααα ααΈααααα½α α αΎα (ααΌαααΎαααΆααΆαααΆαααααα); - αα»αα
ααΆααΆααα·αααΆαα ααΎαααααΌαααα’αΆα ααααΎααααα·ααααα·ααΆααααα»α - ααααΆααααααΌα 0 αα 1 αααααΊααΆα’αααΈαααααααα·ααααα·ααΆααα»αααΊαααααΆααα αα·αααΌα ααΈαααααΌααα ααΆααααΎαααΆααα·ααααααΆαα½αααααααα»ααααααΆαα½ααααα»α (αααα»ααα»αα’αααααααΆαα αααα»ααααααααΈααααααΆαααααΎαααΎαααΊ 4kb) α αα»αααααααΆααααα»αααΆααααΌα α αΎαααΆαααααααΆααααα½ααααααΎααααΈααααΆααααααΌα 0 αα 1α ααΌα ααααα αΎα αα αααααααΎααΆαααΆαα½αα’αααα αα αΆααααααΊ ααΆααΏααα’αααααααΌααααααΉααα ααΆαααααααααα·αααααααα ααΉαααααααααααα»α αα»αα
αααααα»α NOR Flashα
αα·αααααααααααΈα
ααΊ
01010101
αααααααΆ
00001111
ααΆαβααααΆαααΆ
00000101
αααααα ααα»αααα½αααΆααααΆαα±ααααααΆαααααααααααααΆααααααααα’αααα ααααααααααααΆαααααααααααΆααΊαααα αα 30 αα (αααααΈααΆαααααααααΆαααααΆαααααααααΆα αααΎαααΈα‘αΌαααααααααααΎαα‘αΎαααααα) α αααα»αααααΈααα ααΎαααααΎααΆαααΆαα½ααα½αααααΆαααα»ααα ααα»ααααααααα·αααΎα’αααα αΆααα’αΆαααααα CBOR ααααΌαααΆαααααΎαα αααα»ααααααααααΆα
ααααααααΈααΎαααααα ααα» ααΎαααααΌααααααΆαα»αααααααΆα "ααΆαααααα" αα½αα
ααα½α ααΆααααΆαααααΎαα
αα
α»ααααααααΆα αα·ααα·ααααα ααααααααΆααα§αααααααΆααααΆαα ααΆααααα·αα§αααααα
αΆαααααααΆ ααα "α§αααααααααΌαααΆααα·αααΆααααααα’αΆαααα" ααΆααΎαα
ααααααΆααααααΊααΆαααα»ααααααααααααΆαααααααααΆααα αααααααΌαααΆααααααΆαα»ααααα»α CBOR αααααα ααΎααα·αααΆαααααααΆααααα
αααΎααα (ααΆαα
αααΎαααΆααΈαααΈααΈα‘αΌαα) α αΎαααΆααααΌαααΆαα’αΆαααααααΉαααΆααα
αα
αααα»αα’αααΈααααααααΆααααΎαααΉαα α
ααΆααΆααα·ααα
ααααα·αααΎααΎαα αα αΆαααΈαααααααααα’ααααααααααΆαα αΆααααααΎα ααΆααΆαααΆααααααΆααααααΆααααΆαααααα»αααΆαααΆααΆααΆαααΌαααΆααααα»ααα·αααααααααα’αΆα αα»αα α·αααααΆα α αΎαααααα·αααΎα’αΆα ααααΎαα ααΆα ααααα·ααααα·ααΆαααΆαααααααααΆαα αααααΈααΆαααα»αααααΈααΆαααΆααααΆααααααααααΉα/αα·ααααααααΌα αααααα
ααΎααααααααααα αΆα’αααΈααααα’αΆα ααααΌαααΆααα·α αΆαααΆ?
- αα·αααα‘α»ααααααααα·ααααα·ααΆαααααα/αα»αα αααααΊααααΈαααααααα "αα·αααΆααααα·α
αααααΆααααΉα crowbar" α
ααααααΆαααΈααΆααα·ααΆααααΆ αα ααΎ stackexchange: αα ααααααααΆαααααααΌαααΆααα·αααααααααααΎααΆαααΆαα½α flash ααΆααααΆααα»α (ααααααα 1) αα·αααααα (ααααααα 0) ααΆαα±ααααΆαα’αΆαααααα·αα·ααΆααααα·αααΆαααααα: αα·ααααααα’αΆα ααααΌαααΆαααααα ααααααααααααα (αα·ααΆαααΆααΎαααΆαααααα 10 αα / 80 αααΈαα ααα»αααααα·ααααααααΉααα 45 αααΈααααααα’αΆα αααααααΆα) ααΆααα’αΆα αα αα½α αααααΆαααΈααα½αα ααα½αααΉααααα·ααααα»αααααΆαααΆα "ααααα·αααααα" (ααΆαα’αΆαα’αΆα αααααΎαααΆαααΆαα 0 αα·α 1); - ααα α»ααα
αααα»αα’αααα
αα
αΆααααααΊα
BER αααααΈααΆααΆαααααΆααααααα αα·αα’αΆα ααααΎααΉαααΌαααααΆαααα - ααα α»αα‘αΆααααα»α
αα·αααααααααααΆααααααΌαααΆαααα SPI αα·αααααΌαααΆαααΆαααΆαααΆααααααααΆαααΆαα½αα‘αΎα ααΆααααα α»ααααΈααααα½α αα·αααα α»ααααα»αααΆαααααΎααααΆαααααα’αΆα ααΎαα‘αΎα - ααΆαααΆαααααα¬ααΆααααα αΌααααΈα (αααααΆαα±ααααΆαααΆααααααΌα αααααααααΆααα·αααααααααα); - ααα α»α/αααα αΆαααααα
ααα α»ααααα»αααΌα ααΆααα·αααααααααΈ Raspberry ααΆαααααααααααααΈααααααα...
αααα»αααΆααααααΎααααααΌαααΆα ααΆαααααααααααΆααααα·ααααααααα»α ααΊα αΆαααΆα αααΎααααΈααΆααΆααΌαααΆαααΏααΆααα
- αααααααααΆααααΌαααα
αΌααα
αααα»αα’αααα
αα
αΆααααααΊααααΆαα ααΆααααααΆαααααΆαααααααα·αααααΌαααΆααα·ααα - ααααα·αααΎααΆαααα α»αααΎαα‘αΎα ααΆααααΌαααααααΎα αα·αααααΎαααΆαα±ααααΆαααΆααααΆααααα’αΆα
ααααΎαα
ααΆα - ααααααααααααΌαααααααααααααΈααα α»αααααα·αααΎα’αΆα
ααααΎαα
ααΆαα
(α§ααΆα αααααΈααΈαα·α "αααααααααΆαα·ααα½α" ααααααα»ααα·αααΆα’ααααααααααααΆααΆααα½αααααα: αααααΆααααΈααΆαα αΆααααααΎαα‘αΎααα·αααΆαααααΆαα ααααααααα―αααΆα "ααΌα " α αΎαααααααααααααα·ααααα·ααΆααα·αα αΆααααααΎα)
αααα·α, αα·ααΈααΆααααα, ααΆααααα»ααααα αΆαα
αααβαααα»αβα αΆααβααααΎαβαα·αβα’αααΈβαααα αΆβααα αααα·αβααΆβα αααΎαβααΆαβααα βα ααβααβαααα»αβααααΆαβααααβαααα»α α§ααΆα αααα
- ααααΎααΆααααα αΆαααα·αααααα;
- ααααΎαα ααΆαααααααααα·ααααααααααααΆααα α§ααΆα ααα αααααΆαα»αααααααΆααΆα ααααα‘ααααΈαααααααααΆααααααα½αα―α ααΌα ααααααααα·αααΎααΆαααα α»ααα αααα»ααααααααααΆααΆαα½α α’αααα’αΆα α’αΆααα ααααααααααΆααααα αΆα’αααΈα‘αΎαα
- ααααΎααΆααααΈαααΎααααΈαααααααααααΆααααα ααααααΆααααα ααααααααΆαααααααΌαααΆααα·αα
- αααααΆαα»α checksum αααααΆααα’αααΈααααααααΆα;
- ααααΎααααααααΌαααααααααΉαααα‘αααα½αα ααα½αα
αααα·αβααΆαααααβααααβααααΌαβααΆαβααβααααΎ αααβααααβαααβααααΌαβααΆαβααβαααααα βα α·αααβααααααα ααααα ααΆαααααΆααα
ααΆαααααα½ααα·αααααα
ααααΉαααα·ααΆαααααααααα½αααΎααααααααΆαα αααα»ααα·ααΆαα»αααααααα·ααΊααααααααααΆ αα·αα’αΆα ααΎαα‘αΎααα·αααΆα ("αααααΆαα 5 ααΌαααα·" "α α»α αααΌαα»ααααααΆαααααααααΆαααααΆααααααΌα" ... ) α ααΌα ααααααΆααααα αΆαααα½αααααΆαααααα·αααααΆαααΆααα
ααΆααααα αΆααααΎαααΊαα·αααααΆαααα (αα½αααααΆαααααααΎαααΆαααΆαααααααΆαα ααΌααααΈαα Pi ααααΌαααΆαααααΌααα½ααααααΆαααααααα 700 MHz αααΌααααα αα α»ααααααααΆαααααΌαααΆα αααΎααααααΆααααααααααΎαααΈ gigahertz) α’ααααΆααααΌαααααΆααααΆαα½αααΉαααΆααααα»αααΆαααααα·αααΆα (ααΆα αααΎα ααααΆαααααα»ααα½ααα·ααΆααΈ) ααα ααααααααααααΆααΊααΌα α ααΆααΌαα ααααα·αααΎααΆααααα αΆααααΆαα₯αααα·ααααΎααΆαα’αα»αααααααααΆααΉαααΆαααΆααα·αααααΆαααα»αααααα (ααααΆαααΆααα·αααααα ααααΆαααααααααΆαα). ααΎαααΈααα ααΎααα·αααΆαααΆααααααααα·αααααΆαααα ααα»ααααααΈαα»α ααααααΆ - ααΌα ααααααΆαα’αα»αααααα·ααα½αααααΌαααΆαααΆααα·αααααααΉααααααα αααΎααα (ααΆαααααααααΆααααΎααααΈααααΆαααααααΆααα αα·αααααΎαα»αααΆαααΆα αααΎαααΈααΆ)α
ααααααααααααα ααα»ααααΌαααΆαααα ααααΈα§αααααααααΎααΆα (1.7 MB, 70 ααΆααααΆαα») α αΎαααΆααα·αα·αααααΆααΎαααααΌααααααΆααααΆααααα αΆαααααααααΎ gzip, lz4, lzop, bzip2, xz, zstd αααααΆααα ααΎαα»αααααΌαααα
- gzip, xz, zstd ααΆααααα αΆαααααααααααααααααΆ (40Kb) α
αααα»αααααΆααααα’αΎαααα xz αααΌααααα αΆααααα½αα―ααα ααΈααααααα»αααααα·α gzip α¬ zstd; - lzip ααΆαα½αααΉαααΆααααααααααΆαααΎαααΆααααααααααααα’αΆαααααααααα·α α
- lz4 αα·α lzop αααα αΆααααααααα·αααΌαααα’ (150Kb);
- bzip2 ααΆααααα αΆαααααααααα’αα½αα±ααααααΆααααα’αΎα (18Kb) α
ααΌα
αααααα·ααααααααααΌαααΆααααα αΆαααααΆαααα’α
ααΌα
αααα (ααααα·αααΎααΎααα·αααααΎαααα α»αααααααααα) ααΆααΉαααΆαααΆααααα αΆαα! αααβααΆαβααβαα·ααααααβααΆααβααβα
αααΎαβα’αΆα
βααΆαβαα
βααΎ flash drive ααΌα
βααααΆα
α αΌαααΎααα·αα’αααΈαα»ααα·ααααα·α
αααα αΆααΈαα½αα ααΎαααΆααααααααααααααΆαα½α α αΎαααΆααΆαααααααααααΆααΆααα’ααααααΌαααααΎααααααΊααααΆααα ααΆααααααΆ ααααααΆααααααΌααα·ααααααααΈααααααΈααααα αΌααα αΌααααααΆαααααα α α·αααααΆααααααααααααα α α»ααααααΆα αα ααΎαααααΌαααα½αααΆααααα»ααα·αααααααααααΆααααα αΆααααααΆαα α αΎααααααΆαα»αααΆαα αααα»αα’αααα αα αΆαααααα·αααΆαααΉαααααααΆα ααα»α
αααα»αααΎααα·ααΈααΈαααΆαα
- ααααα½ααααααααααΆααΈαα½αααααααααΎααΆααααα αΆαααα
ααΆαα»αααααααα½αα±αααααα½ααααααααΆααααααΆααα·ααΆααααΆααΆαααΎα
ααΆααΆαααααΎααααα’αΆα ααααΎαααΆαααΆαααΆαααααα»α ααα»αααααααα»ααα·αα αΌαα α·αααααΆααα ααΎααααΈααΆααΆααΆαααΌαααααα·αααααΆααααα αΆαααααααααααα αααΎα α¬αα·α αα ααΆαα»ααααααααΌααα "ααααααα½α" αα ααΉααα·ααααααααΆααααΆαα ααΆαααααΆααααααΌαααΆαα½αααΉαααΆαα±ααααααα·ααααα αΆααααααΆααα α»ααααΆααα αααααΆαα ααΆα αααα αΆα’αΆα ααααΌαααΆααααααααΆααααααΆααααααΎααα ααΆαα»ααααααααααααΈ ααα»αααααααααΊααΆααΆαααΊααααΆα - ααΎαααΉαααααΌαααΆααααααΆαα»αααααααααααααα ααΆαα»ααααα αα βαααα»αβααΆαα»βααΈαα½αα ααΎαβααΉαβααααΌαβαααααΆααβααΆαα½αβααΉαβααααβαα ααΆαα»ααααβααΆβαααβααΆβααααΌαβααΆαβαααα αΆαα... - ααααα½ααααααααααΆααΈαα½αααααααααΎαααα½ααααααααΆα "αα»ααΆα" ααα»αααααααα―αααΆαααααΈα’ααααααα
αααα½ααααααααΆαααΆααααα αΆααααααααα»ααα·α αΆαααΆαα·αααααΌαααΆααα ααΆα‘αΎαααΎααααΈααααΎααΆαααΆαα½ααααααααααΆααααα αααα (ααΆαααα·ααα) αααΆααΆαααααΆααααα αΆααααΉααα·α ααΆα 1 αααΆαα αααΆαα (αααααΊααΆααααααΎαααα·ααΆααα·αααααααααα½αα±ααααΆααααα αΆαα); - ααααΎ FLUSH αααααΆααααΈααααΈαα½ααα
αααααΆααααααα αΆααααΆα αααΎαααΆαααΆαααΆαααααααααΆαα FLUSH α αααβααΆβααΆαααβαααααΆ (α¬βαααΆαααΆααααααβααβααααΎαβααΆαβαααα αΆαα) αααβααα½αβααααααΆαβαααααΎαβααΆβααααααΈαβαααβααΆαβαααα αΆαα ααΌα ααααβααΆβα’αΆα βααααΌαβααΆαβααααΎβααΎααααΈβααααΆα ααΆααα’αα αα·ααααααβαααβαα·αβααΆαβαααα αΆαα αααβααααΌαβααΆαβααα½αβαα½α βα αΎαα analogue ααααααsync
αα αααα»αααααααααα―αααΆαα¬commit
αααα»α sql α
α’αααΈαααααααΆαααααααΊααΆααααα·ααααα·ααΆααααα αΆααααΆαααααααααΆααααΉαα’αΆα ααααΎαα ααΆαα»ααααααααα α αΎααααΆααΆαααααΆααααα αΆααααΉααα·ααααα»αααα αααΎαααΌα αα αααα»ααααααα»αααα
αααα»αβαα·αβααΆβααΆβα αααΆααβααΆααβαααβαααα»αβααααΎαααΎαβαααααΎαβααΈβααΈ ααΌαβααΎαβααΆβα±ααβααΆααααβαααα’α·αα
ααΆαααααΎα
αααα»αααΆαααααΎααααααααααααααααα’ααααΎα’αααααααΆααα 70 ααΆααααΆαα»αααααα ααα»ααΈα§ααααααα·ααααααΆαααα αααααα 60Kb (ααΎαααΉααααααααα ααα αααααααα αααααααα) ααΆαααα½αα
αα·ααααααααααΌα
ααΆααααα αΆαα gzip -9 (ααααΆα FLUSH)
zlib ααΆαα½α Z_PARTIAL_FLUSH
zlib ααΆαα½α Z_SYNC_FLUSH
ααααα·αααα‘αα, KB
1692
40
352
604
αα glance ααααΌα αααααααααα½αα ααααααα FLUSH ααΊαααααα α½αα ααα» ααα»ααααααΆααα·αααΎαααΆααααααΎααα·α αα½α - ααΆαααα·ααααα αΆααααΆααααααα α¬αααα αΆαα (αα·αααΆαααααα·αααααΆαααααΆαα) ααΆαα½α FLUSH α ααΎααα·αααααΌαααααα ααΆααΎαααΆααααααααααΆα ααα½α 70 αα ααΆααααααααΌαααΆαααα ααααααααααΆαααα Z_PARTIAL_FLUSH ααΊααααΉααα 4-5 αααααα»ααα½ααααααααααΆααα»αααααα α αΎααααΆααΆααααααα αΆααααΆααααααα ααΆααααΎααα 5: 1 αααα αααΎαααΆαααααααααααα’α
ααΆα’αΆα ααΆααΆαααααΆααααα’αΎααα½α ααα»αααα Z_SYNC_FLUSH ααΆααα·αααΊααΆαα·ααΈαααααΆαααααα·αααααΆαααΆαααΎααααΈααααΎ FLUSH
αα αααααααΎ Z_SYNC_FLUSH 4 ααα α»ααααααααααΆαα»ααΈαα½ααααΉααααααααΆ 0x00, 0x00, 0xff, 0xff α α αΎαααααα·αααΎααΎαααααΆαααα½αααΆ αααααΎααα·αα αΆαααΆα ααααααΆαα»αααΆαα ααΌα ααααααα αα α»ααααααααΊααααΉααα 324Kb ααα»αααααα
α’αααααβαααβαααα»αβααΆαβααααΆααβαα βααΉαβααΆαβααΆαβααααααα
αααα»ααααααα 0 ααααΈαααααΆαααΆαα·ααΆαααααααΌαααΆαααααααα
αααα»ααααααα 0 αααααΆαααΆαα·ααΆαααααΆαα
- ααααααΆαααα»αααΈαααΈα;
- 0 αα 7 αααΈαααααΎααΉαααΌααα ααΎααααΈαααααα ααΆαααΆααααααΉααα;
- ααααΆαααα½ααα 00 00 FF FF α
ααΌα αααα’αααα’αΆα ααΎαααΎααααΆαααΆααααα½ααα αααα»ααααα»αα α»αααααααα»αααα 4 ααααΆαααααααΆαααΈ 3 αα 10 ααΌααααααΈαα ααααααΆαααΆααααα ααΆαα’αα»ααααααΆααααα αΆαααΆαα·αααΆααΆααααΆαα αα ααΆαα 10 ααΌααααααΈαα
ααΆααααααΆααααα»ααα·ααααααααααΈαααααααααΆααααααΆ (ααΆαα·α αα ααΆα?) ααααΌαααΆαα’αα·αααΌααααααααΎαααα»αααααααααααΈ 1 (αααα»αααα) αααα αΆαααΆα ααααα ααααα 7 ααΌααααααΈα αααααα ααα½αααα»αα ααα½α 10-17 αααααααΌαααΆαααΆααΆααΌααααααΈα (α αΎααα αααααΉα ααΌαααααΆαα½αααΉαααααΌααΆαααΈααΈαααααα αα 50%) α
ααΌα αααααα ααΎαα·ααααααααΆααααα αααα»α 100% ααααααΈααΆαααΌααααααα»α 0x00, 0x00, 0xff, 0xff α αΎααααα»αα αααΎαααΆααα½αααΆαααΈααααααΈααΆαααΌαααααα ααα½αααΈαα (αααα ααααΆααΆααα·αααΊααΆαααα»αααααΎ CBOR αααααΈα α αΎααα αααααααΎα’ααααα JSON αααα»αααααααααααΈ 2 - αααα»αααΆαααααααΉαααΆααΏαααααααΆααΆα αααααααΆ αααα»ααααααααΆαααΌααααααααααααα»α 0x00, 0x00, 0xff, 0xff ααΉαααααΌαααΆααα½αααααα).
ααα»ααα αααααααΎαα·ααααααααΆααααααααααΆα ααΆα’αΆα αααα αΌααα αααα»ααα·αααααααααααΆααααα αΆαααα·α ααΆα 250Kb α
α’αααα’αΆα
αααααααΆαααααα·α
ααααααααΆααααααΎα
ααααα·α
α αααααΆαααααααα ααΎααααααΎααααααΎαα
ααααααααααΆαααααααΌααααααΈααα½αα
ααα½ααα
α
α»ααααα
αααααααα»α αααΈαααΈαααΈαα
ααΎααααα»ααααα·αααααΆααααααΌαααα...
ααα»αααααααααΆαααααααα»αααΆαααααΎααΆααααααα
α
α·ααααααααααααααα»αααΆααα½αααΎααααΈαααααα ααΎαα·αααΌα
αααααααααα»αα’ααααΆααα αααα»αα’αΆα
αααα
ααααΆααααααΎαααααααΆαααααΆαααααα½ααααααααα»αααΆαα
ααα»ααα ααΈαα·ααααααααΆααααααααααααα»α αααα»αααΆαααα½α 3-4 αααααα»ααα½αααΆαααααα αααΆααΆααααααα αΆααααΆααααααα ααΆα αααΎαααΆα 6:1 α αααα»αααΉααα·ααΆααααααααααααααα αααα»ααα·αααααΉααααααααααααααα ααΆααααα·ααααααααα»α α’αααΈααααααααΎαααΆα 2:1 ααΊααΆααααααααααααα αΆαα’αααΈααΆαααααΉαααααΌαααααΆαααααΎααααΆααααΆααααα αΆααα
α’αααΈααααααααΆαααΊααα’ ααα»αααα zlib (deflate) αα ααααΆαααα½ααααααααΆαααΆααααα αΆαααααααΆααααααααα»ααΆα ααααΉαααα½αααΆα αα·αα αΆααααααα·α α ααΆααα·ααααααΆ 32Kb α α»ααααααααααααααΈααα·ααααααααααα·αααΆααααα αΆααααααΌαααΆαααααΎααΆαα ααΆαα»ααααααΎααα α αααααααααααααααα (αααααΊααααα·αααΎαααα»ααα·ααααααααααααααααααΉαα’αααΈαααααΆααα αααα»αααααααΈααααα αΌαααΆαααΈ 40Kb ααΈαα»α αααααΆααΉαα αΆααααααΎααααααΆαα»ααααααααα α αΎαααΉααα·ααααα αα ααΎααΆαααΎαα‘αΎαααΈαα»ααα)α αα αααα»αααααααΆαααααΎαααΆαααααα ααα ααα ααΆαα»ααααααΆααΏααααααΌαααΆαααΆααααΆααααΆααααΆααΆαααΈα‘αΌααα
ααΌα αααα ααΎαααααααΆααα·ααααΆααααΆαααΌα ααααααΎαα’αααΈααααααΆαα
αααααΆααααΎαααΆαααΆααααα bzip2 (αα»αααααα ααΆαααααααΆα FLUSH ααΆαααα αΆαααΈαααΆααΆαααααΆααααα αΆααααα’ααα αΆαααααααΎααα 100: 1) α ααΆα’αα»αα ααΆααααΎαααΆααα·αααα’ααΆαα½α FLUSH ααα ααααα·αααααααααααΆααααα αΆααααΆααααααα ααΆααααΆααα·ααααααααααα·αααΆααααα αΆααα
ααΆααααααααααααααα»αα’αααΈααΌαα ααα»ααααΆααααΆααα
Libbz2 ααααααααααΎα flush αααα½αααααααα αΆααααΌα ααΆααααααα ααΆαα»αααα (αααααααα ααΉα Z_FULL_FLUSH αααα»α zlib); αα·αααΆαααΆααα·ααΆαα’αααΈααΆααααα αΆαααααααΆαααααα·αααααΆαααΆαα½ααααααΆααααΈαααααα
α αΎαα α»αααααααααααααΌαααΆαααααααΊ zstd α α’αΆαααααααΎαααΆαααΆαααααα ααΆαααα αΆαααα ααααα·α gzip ααα»ααααααΏαααΆα α¬αααααΎαααΆα gzipα
Alas ααΆαα½αααΉα FLUSH ααΆαα·αααααΎαααΆαααα’αα: ααα ααααα·αααααααααααΆααααα αΆααααΊαααα αα 700Kb α
Π―
αααα»αααΆααααααα α α·αααααααα α ααα»α ααααααα»αααΆααα·ααααααααααααα»αααΆαα½αααααααΆα (αααα»αααΌαααααΉαα’αααααΆ xz, lzip, lzo, lz4 αα·αααΆααααα αΆααααα½αα―αααΌααααΈαααα ααααΆααααΆαααΆααααααααααααΆα FLUSH α αΎααααα»ααα·αααΆααα·αααΈαααα½ααααααααΆαααΆααααα αΆαααααααα·αα’αααααααΆαααααα) α
α αΌαααΎααααααααα αααα αΆαααα»ααααααααΆααα·αα
αααα αΆααΈααΈα (ααΌα ααααα½ααααα·ααΆαααΆαααααΆαα αα·ααααααααα) ααΊααΆαα·αααααααααααΆααααα αΆααααΊααΆααααααΈααααα½α ααααααα»ααααααΆαααΆααααααΆαααααααααΆαααα ααααααα»ααα ααΌα αααα ααααα·αααΎααααααααα·αααααααααααΆααααα αΆααααααΌαααΆαααΌα ααΆα αααααΎααα·αααααΉαααααΆααααααααα»ααααααΆααααααααααα·ααααααααααα·αααΆααααα αΆααααα»ααααααα ααα»ααααααααΆααααααααΆαααααααααΆααααΆααα’αααααααα
ααΆααα·ααΈααΆααααααααα»αααΆααααααααΆααααα αΆαααα
- ααΆαααΆααα»αα±αααααα αΆααΎαα‘αΎα - ααααααααΆαα ααααΌαα ααααααα ααΉααα·αααααααααααΆααααα αΆαααααααΉαα’αα»ααααΆαα±ααα’ααααααααα’ααααααααΆααα·αααααα α»αα ααΎαααΉααα·ααΆαα’αααΈααΏαααααα ααααααααα
- ααΆααααααααααα·ααΆα ααααα·αααΎααΆααααα αΆααΎαα‘αΎα
ααΎαααΆααα·ααΆααα½α ααα αΎαααΆ α’αααα’αΆα αααα αΆαααααα»ααα·ααααααααΈαα½αααααα―αααΆααα α αΎααααα αΆααΉααααΆαααΆααααααααα½αα―α (ααΆαααΌα ααΆαα αααααα·αααααααααααα»ααα½αααΉαααΆαα±ααααΆααααααα·αααααααααααΆαααααααα»ααααααα»ααααα)α αααααΆαααΆαααΆααααα αααααΊααΆααααΈααααααααααααααΆααααα αΆαααα·ααααααααΉαααααΆαααααα·αααααΆαα ααΆααααα»αααααΆααααΆααα ααααΎαααααααΈα 4MB ααΆααα’ααααααααΎαααΆααααααΆααααα½α αααααΉααααααα±ααααΎαααΌαααΆααααα αΆααααααα’ ααα»αααααααα·ααΆααααα αααααΆααα αααα»αααααΈαααα·ααααααααΌα α
ααΆα/α αΆα ααΆααααααααααα½αααΊααααΌαααΆαααΆα αΆαααΆα ααααα»αααααααααααααΆαα’αΆα ααΏααΆααααΆαα ααα»ααααααΎαααααΌαααα αα αΆαααΆααΎααααα»ααααααΎααααααααααα»ααα·αααααααααααΆααα’αααα αα αΆαααααα·αααΆαααΉαααααααΆα ααα»ααΆαα½αααΉα BER ααΆααααα»α αα·ααααααααααα»ααα·αααααααααααΆααααααΆα 20 ααααΆαα
αααα»αα’αα‘α»ααααααααΆααα·ααααα αααα»αααΆαααααΎαααΆααΆαααΆααααααα½αα±ααααααααααΆαααα·α
α¬α
αααΎααα
αααα»αααααα·αααααΆααααα αΆααα
αΆααααααΎααα
ααΎαααα»ααααα·αααααααααααΆααααα αΆαααααααΆαααα ααα·α
ααΆα 10 KB α
ααΆααααΌαααΆαααΎαα‘αΎαααΈαα»αααΆα’αααα
αα
αΆααααααΆαααααΎααααΌαααΆααααααααΆααααα αααα»αααΎαα ααα»ααααΆα ααα»α’αααΈααΆαααΆααΆαααααΎααααα "ααααααα½α - αααα»ααα½ααααα·αααααααααααΆααααα αΆαα" αα·ααα½αααααΌαααΆαααααΎααα
αααααΊααα ααααααααα ααα»ααα’αααααααΆααΊ 16Kb (ααΆαα½ααα»ααααα»ααααααΆααααααααΆαααααΆαααα)α ααααααΆαααΆααααα ααα ααααααααΌα ααααααααΆααααααα·ααααΆαααααΆααααΎααα ααααααααααΆα’αα·ααααΆα
αααααΈααΆαααα»ααα·αααΆααααααΉαααΆαααααααααΆααααΆαααΈαααΈααΈα‘αΌαααααα»ααααααααααα αΆααααααα αααα»αααΆααααααα α α·αααααααΎααααα 32Kb (αααααΆααααα»α 128 ααααααααα»ααα½αααααα)α
ααααααα
- ααΎααααααΆαα»ααα·αααααααααααΆααααα αΆαααααααααΎ zlib (deflate);
- αααααΆααααΆαα»ααΈαα½αα ααΎαααααα Z_SYNC_FLUSH;
- αααααΆααβαααααααααΆβαααβααΆαβαααα αΆααβααΈαα½αα ααΎαβααΆααβααΆαβααβ (α§ααΆα ααα 0x00, 0x00, 0xff, 0xff); αα αααα»αααααααΆααΎααααα αΆαααΈα ααα½ααααααααΎαααΆααα ααα
- ααΎααααααΆαα»ααα·αααααααααα»αααααα 32Kb; ααΆαααααααΈααααα½ααααα·αααααααααααΆααααα αΆαααα ααΆααααα»ααααααα αα ααΎαααααααΈαα½αα ααΎαα αΆααααααΎααααα αΆαααααααααα
α αΎααα»αααΉααααα αααααααΆααααα αΆαα αααα»αα ααααΆααααΆαααΆαααα α·ααααα»αααΆααααααα’αααα ααααααΆααα·ααααααΆααΎαααΆααα·αααααααααααΆααααα αΆααααΈαααΈαααααα»ααα½ααααααααααΆ ααΌα ααααααΆααΆαααΆααααααΆααααααΆααααΆααααααα·αααααΌαααααααααααααΆαααααΆααααααααα ααΆααααααΆαααα ααΈαααα
ααΆααααααΆαα»αααααααΆαα·αααααα
αααααΆαααΎαααΆααααααααααΆααααααααα’ααα ααΎαααααΌααααααααΈαααααα/ααααααααααααααααααΆα
αααα»αααΉαααΈαα·ααΈααΆαααααααΈαααΆαα
- αααααααααΆααΆααα’ααααααΌαααΆααααααΆαα»ααααα»αα
αααααααα ααΈαα½αααΆαααααΆααααααααααΆαααααΆααααααα α αΎααααααΆαααααααααααααΆαααα½αα―αα
αα αααα»αααααΆαααα ααΆααααααααΆ αα·ααα·ααααααα’αΆα ααΆαααααααα’αααα
ααααΆαα ααΎαααα½αααΆααααααΈααααΆαααααα½ααααααααΌαααΆαααααΎααααααααααααΆα - ααααααΆ αα·ααααααααααΆαααα½αα―αααααΌαααΆααααααΆαα»ααααα»αααααααΈαααΆα
ααααα‘ααα
αααααααΎααααααΆααααααααααα ααΎαααΆααΆααΆααΆαααΌα ααΆαααααΆααα½ααα·ααααααΆααααααααααααααααααααα
αα·ααΈααΆαααααααααααααααΆαααααααΌαααΆαααααααΎα§ααΆα ααααα αααα»αααααααααα―αααΆαααΆα αααΎα; - αααααααααΆααααΌαααΆααααααΆαα»ααααα»αα
αααααααα ααααααααααααααααΆααααΌαααΆααααααααααααααΆαααααΆααααΆααααΆαααα½α (αα½α’αααα/ααααΆαααααα½α’αααααααααααΌαααΆαα αΆαααΆαααα
αααα»ααααα»ααα·αααααα)α ααααα·αααΎααΆααααααΆαααααΆαααα
αααα»ααααααααααΆααα ααΎααααα½αααΆαααααααΆαααα½αα
ααα½α (ααα
ααΆ)α
ααΆα§ααΆα ααα αα·ααΈααΆαααααααααααααααΆαααααααΌαααΆαααααααΎαα αααα»ααα·ααΈααΆα PPP α
αααα»αααΉααααα αΆαα
αααααΎα 1:
α’αααΈααααααααΆαααΊααΆααααααΆαααα
ααΈααα: αααααΉαααΈαααααααααααααααααΆααΎαα’αΆα
ααααΆα’αΆααααααΆαααααααααΆαααααΆααα ααΌα
ααααβααΎαβααααΆααααΈβααΆαβααααΆαβαα αΌαβαααβααΎαβαα½αβααΉαβααααβαααβαααβααα 0xff (αααααβααααα) α¬βα
α»αβαααααα
αααααΎα 2:
αααααΆααααααααααααααααΆα’ααα ααΎααα·αα’αΆα
αα·ααΆαααΆαα»αααΆααΎααΆααααααααααΆααα»ααααΆα (α αΎαααααΆαααααΆα) αααααΎαααΉαααααΌαααΆααααα»ααα½ααααααα α’αααα’αΆα
ααααααααααΆαααααααΆ αα·ααα·ααααααααααααα½αα―ααα
ααΎαααααααααααααααΆ ααα»αααααααα»αα
αΌαα
α·ααααα·ααΈααΆααααααααααα ααΎαααΆααααΆααααααααΆ αα·ααα·αααααααα
ααΎααααααα½α ααα»ααααααααααΆ (ααα αααα) ααααΈααΎαααααα α αΎα αα·αααααα (ααααααα’ααα) ααααΈα
α»ααααα
ααα αααΆαααΆαα½ααα "αα½α" (αα·αααΆαααααααααααααααααααααΆαααααααΆααααΆαα
αΌαααααΈ) ααΎαα
αΆαααα»αααΆααααααααααΆααααα
ααα
αααααΎα 3:
αα·αα
αΆαααΆα
ααααααΆαα»ααααααα α¬ααααααΆαααααααααα’αααΈααΈααΆαααααα·αααααααα
αααα»αααααααΆαα αααααΆαααααΆααααααααα αΆαααΈααααααααααααααααααΆααΊαααααααααΆααα αΎαα ααααααΆαααΆααααα αα·ααααααααααΌαααααααΎαααΆααα
αααααααα/α’αΆαα
αααα»αααΉαααααΎ 0xff ααΆαααααΆαααααΆαα (ααααααααααααααααααΆααααΈααΆααα»α) ααΌα
αααααααααα₯ααα·αααααααΉααα·αααααΌαααΆαα
αΆαααα»αααΆαα·ααααααααα
ααΆααΆαααααααααα
αααααΎα 1
αααααΎα 2
αααααΎα 3
ααΆαα’αααααααααα α»α
-
+
+
ααααα½α
+
-
+
ααΆααααα»αααααΆαααααΆαα’αα»αααα
*
**
**
αααααΎαααΈ 1 ααΆαααα α»ααααααααααα ααααα·αααΎααααΆαααΆαα½αααααΌαααΆαααΌα
ααΆα αααααααααΆαααααααααααΆααααΆααααΌαααααΌαααΆαααααααΆαα αααααΎαααααα
ααααααα’αα»ααααΆαα±ααα’ααααααααααααα·αααααααα½αα
ααα½αααΌααααΈαααααα»αααααΈααΆαααΆαααΌα
ααΆααααααααααα
ααα»αααααα
ααΈαααααΆααΆααΆααααααααααα»αααΆαα
αα
αΆαααΆααΎαααΆααααααα
α
α·ααααααααΆαα»ααα·αααααααααα»ααααααααααααΆααααα αΆαα α αΎαααΌα
ααααααΎαααΆααααααα·ααααααααΆααα’αααα
ααΎααααααααααΆααααΈαααααααααΆ "ααΌα
" ααΌα
αααααααααΈααΆααΆααααα
αααα»αααΆααΆαααααα ααΎααα·α ααααΆαα
αααα»αααααΈα
ααααα½αα
- αα αααα»ααααααΎαααΈαα½α ααΎαααααΌααααααΆαα»ααααααααααα αααα»αααααααΆ ααααα·αααΎααΎαααααΎα ααα½ααααααααααα’ααα ααααααα»αααααΈααΆαα αααΎαααΎαα’αΆα ααα½αααΆαααααα½αααα
- αα αααα»ααααααΎαααΈααΈα ααΎαααααΌααααααΆαα»αα’αΆααααααΆαα αΆααααααΎα αα·αααααααα αααααααααΆααααΌαααααΆαααα αααα αααα»ααααΆααααααΆα 4 αααααα»ααα½ααααααααααΆ (ααΈααααααααΆααα’α»α αααα·α αα·αααΈααααααααΆαααααααα);
- αααααΎαααΈααΈααααΌαααΆααααα½α’αααααα½αααα»αααααααΎααααΈαααα αΆαααΈααΆαα αΆααααααΎαααααΆααα ααΌαααΉαααΆαααααααααα½αα―αααΉαααΎαα‘αΎα 1-2% αααααΆαααααΆαααΆαααΆαα ααΆααΌαα αααα αΆαααααα ααααΉααααααΎαααΈαα½αα
ααααΌααααα»αααΆαα αΆαααα»ααααααΎαααΈααΈαααΆαααααΎαααααΆαα (α αΎααααααΆααααΆααααααααΆαα’αα»αααα) α αααα»αααΆαααααααα ααααΆαααα αααααααααα»ααααααα α α·αααααααΎααΆααααα αΆααα
αααα ααααΆααααααΆαα½ααααα»αααΉααα ααααααΎαααααΎαααααααααααΆα α§ααΆα ααα ααααα·αααΎαααα»αααααΌααααααααΆαααΆαα½αααΆααααα»ααα·αααααααααααΆααααααΆαααααααααΎααααΎααααΆααααααΈ αα·αααααααα’ααααΆα ααΉαααΆααααααΌαααΆααα»αααααΆααΆαααααα»ααααααΆααααΆαααΏααΆαα αα·αααα»αααααααα ααΆαα» ...
αααααΆαααααααΎαααΈααΈα αααα»αααΆαα²ααααααΆαααΈααααααΆααααΆαααααΆααααα»αααΆαα’αα»αααα αααααααΆαααααααα»ααα·αα αΌαα α·αααααααααααααΆαα½ααααΆααααΆαααΆα ααΆαααααΆααααααΌααααααααα αααα»αααααΎαααΆαααα ααΆα/α αΆα αααα ααααΆαααα»αααα’αα ααα»αααααααα»αααΉαααααΌααααααααΌα α ααα»α’αααΈααΆαααΆααααααααα½αα―αα±ααααααΎα’αααΈαα½ααααα’ααααα·αα αΌαα α·αααα
ααααααα ααΎαααααΎαααΎααααααΎααααα»ααααα»αααααααααΆαααααααααΆαα "ααααααΆααΆαα½ααααααα - αα·ααααααααααααααα’ααα" αααααΆαααααααα·αααααΆα αα·αααΆαααΆααααα½αααααΆαα’αα»ααααα
ααΆαααααΎααααΆαα Bit Fields ααΎααααΈααΆαααΆαααΆαααααααααααααα·ααααα·ααΆαααααα
αααα»αβαα·αβα
αΆαβααΆβα₯α‘αΌαβαααβαααα»αβααΆαβαααα·αβααΈβααΆβαα ααα»ααααβααΆβααΎαβαα
βααΌα
βαααα
αααααΆααααΆαα»ααΈαα½αα ααΎααααα
αααααΈαααΆα
αααΎαααΎααααΈαααααΆαα»ααααα
ααΌα
αααααΎαααΆααα·ααΆαααΆαααΈααΎαααΆαααααΆααααΈαα»ααααΈαααΆααα’ααααααΌαααΆααααααααα 1s α αΎαααΎαα’αΆα
ααααΆααααααΌαααΈ 1 αα
0 ααα»αααααα·αααααααα»ααααα·αααα ααΌα
αααααααααΆαα "ααααα·αααααΌαααΆαααααα" ααΎαααααΎ 1 αααααΆαα "αααααααΌαααΆαααααα" ααΎαααααΎ 0 α
αααααΆα’αααΈαααααΆαααΆαααααααααααΆααααααα’ααααα αααα»ααααααΊα’αΆα ααΎααα ααΌα α
- αααααααα "ααΆαααααααααααΆαα αΆααααααΎα";
- αααααααΆαααααα;
- αααααααα "ααΆααααααααΆαα·ααααααααΆαα αΆααααααΎα";
- ααΎααααααααΆαα·αααααα;
- αααααααα "ααΆααααααααΆααΆααααα αα" α
ααΎαααΈααααααααΎαααΉαααΆαααα "ααα α»αααΆαααΎαα‘αΎα" αααααΆαααααααα»αα ααα½α 4 αααΈαα
αααα»αααααΈαααααΎαααΆαααααΆαααΆααααααααΆαααΈα "1111" - ααΆααααα·αααΆααααΆαα αΆααααααΎαα αΎα "1000" - ααΆαααααΆαααααααα αααα»αααααΈααΆαααΆαααααΆαααααα·αααΆαααααΉααα»αααααααΎαααΆααα ααΎαααΉαααα½αααΆαααααααααα·αααααα ααααααααΆααααααΎαα’αΆα ααααΎα αα·αααααΎαααΆαααΆαα
αα·ααΈααΆααααααααααΊαα½αα±ααα αΆααα’αΆααααααααα»ααααααΆααΆαααΆαααααΆαααΆα αα ααααα’αααα·αααΈααααΆαααα·αααΆααααΆαααααααααααααΆαααααΆααΆααα·αααΆααααΆαααΆααααααΆααααα»αααααααααΊαα ααααΆαααΈα ααα»αααααα½αααα (α¬ααΌααααΈααααααΆαα) αααααΆααααΆααααΆααααααα’αΆα ααΎαααΆαα
ααααααα α αΌαααααααααααααααααααααΆαααααα’α
ααΌααααααΆαααααα
Checksums ααααααΎα±ααααΆα’αΆα ααααΆααααΆ (ααΆαα½αααΉαααααΌααΆαααΈααΈααααα ααα»αα) ααΆααΎααααα»αα’αΆαα’αααΈααααα½αααααΌαααΆααααααα α αΎααα·αααΌα ααΆααααΈααααααΆααα·ααΆααααΆααΆαααΎαα αα½αααΆαααααααααΎαααΆαα
ααααα·αααΎααΎααα·α αΆαααΆααΎαααααΈααααααααααααΆαα»αααααααα αΆαααααΎαααΆααα·ααΆααααΆααΆαααΎ ααα checksum α’αΆα ααα½αααααΆααααα α»αααααα·ααα·αααΈαααααααΎαααααααΆ (ααΎαααααα αααα ααααΆαααααΆααααααααααααααΆααααα·αα’αΆααααα - αα½αααα’αΆα ααααααααααααΌααααααΆααααααααΆαααααα).
ααΌα ααααααααα·αααΎααααα ααααααΎαααΊααΎααααΈαααααααααΆααααΆαα·αααααααα ααααααα checksums ααΊααΆαααα·αααααα’α
αααααΎααααααα½ααααααααΆααααααΆααααΆαααααΆααΌααααααΆαααααααα·αααΆαααΎαα‘αΎαααΌααααα½αααΆαα½αα‘αΎα - CRC α αααααΆααα·αααα αααααααααααααα·ααα·ααα·ααααΆααααΎα±ααααΆα’αΆα α αΆααααΆααααααααα½αα ααα½αααααα α»α 100% αααααΆααα·αααααα ααΎαα·ααααααα ααααα αααα½ααααααααΆααααααΆααααααΆαααα αΆαααΈααααΌααΆαααΈααΈααααααΆααααααααα·α αα·αααααΆαααααααααααααΉααααΈα . ααΆαααα ααααΆαα·ααααααΆαααα½ααααααααΆααααααΏααααα»αααααα α αΎααααα·ααααααααΆα’αααααααΆααΆααααααΉαα ααα½αααααΆααααααααα·α ααα ααα»ααααααΆααΆααα»αααΆαααααΆααααΆααα αα αααα»αααΆαααααΎαααααααααααα»αααΆααα½αααααα αα·αααΆαααααΌααΆαα½ααααααΆααΆααααΆααααααΆαα αααΆαααααααα αααααααΆαααΊααΆαα»αααΆαα αααααααα»αααααΈαααα
α§ααΆα αααααααΆααα·ααααΆααα·ααΆαα
ααααααΆαααΆααααα ααΆααα·α αα ααααΎαααΎαααΌααααααΆαααααααα·ααααααααα CRC ααΊααΆαααα½ααΆαααΌααααααΆααααααααΆααααΌαα α’αααααααΌααααααα α α·αααααΎαααααα α αΎααααααΆααααααααΎαααΎααα α»ααΆα
ααΆαααααΎαααΎααααααα checksum ααΊαα·ααααααΆαααα½αααΆααααααΌα αααααΆα αΆααααΌα ααΆαα glance ααααΌαα
αααα»αααΌαααΎαα§ααΆα αααα
α’αα»ααααΆαα±ααααΎαααΆαααααΌααΆαααΈααΈααααααα α»ααααα»αααααΈαα½αα αα·αααΆααα·αα·αααααααα’αα½α α
αΌαααΎαααααΆα
ααα½ααααααααααα α»ααααα»ααα½αααΆααααααααααΆα
αα·αααααα, αα
Checksum, αα
ααα α»αααααα·αααΆαααααΎα
ααΆαααααΎαααα α»ααα·ααα·α
αα·αααααΆααα·ααα·αααα»α
1
0
1000
0
1000
1
1
4
999
1003
1
2
β xNUMX
1997
1997
1
4
β xNUMX
3990
3990
10
0
9955
0
9955
10
1
39
990
1029
10
2
β xNUMX
1979
1979
10
4
β xNUMX
3954
3954
1000
0
632305
0
632305
1000
1
2470
368
2838
1000
2
10
735
745
1000
4
β xNUMX
1469
1469
ααΆα αΆααααΌα ααΆα’αααΈαααΆααα’ααααΊααΆαααα - α’αΆαααααααΎαααααααααα·αααααααααααααΌαααΆαααΆαααΆα ααααΎαααΎααααααααα checksum ααΆαα½αααΉαα’ααααααΆαααα·αααααΆααα·αααααΉαααααΌα - α αΎααααα·α ααΊαα αααα»αααΆααΌαα
αααααΆαααΆαααΆααααα αααα αΆααΎαα‘αΎαααΆαα½αααΆαααααααααααΈαα αααααΈααΆαα½αααααα’αααα»αααΆαααααΎαααα α»ααααΈααααα½αααααα αα½αααα’αΆα
ααΆαα½αααΉαααααΌααΆαααΈααΈααααααααααα»αααΆαααα½ααααα·ααααααα
αααααααΆαααααα»αααΆααααΉαααααΌαα ααΆαβα’αααααβαα½αβαα½α
βαα
βα αΎαβαα
βααΎ Habre αααα»αβαααβααΆαα
ααΌα αααα ααΎααααΈααααΎα±ααααΆαααααΌαααα checksum α αααααααααΎααααα·αα’αΆα αα αα½α α’αααααααΌαααααΎ checksums αααααΆααααααα 32 αααΈα α¬ααΌαααΆααααα (αααααΆααααααααααααΆα 64 αααΈα αα»αααΆαααΌααααααΆααααααΌαααΆαααααΎααΆααααααΆ).
αααααΈααΆααΆααα·αααααααα»αααΆαααααααα»ααααααΆααΎαααααΌααααααααα αααααααααααααΆαααααα ααΎαααΉααα ααααααΎ checksum 32-bit (16 bits αα·ααααααααααΆαααα ααααΌααΆαααΈααΈααααααΆααααααααα·α ααΊα αααΎαααΆα 0.01% αα·α 24 bits ααΌα ααααα½ααα αα·ααΆαααΆαα·ααα ααΈαααα¬αα ααΈααα) α
ααΆαααααΆααα’αΆα ααΎαα‘αΎααα ααΈαααα ααΎααΎαααΆααααααΆαα»αααΆαααααα αααααααΎαααΎαααΆααααα αΆααααΎααααΈααααα 4 αααααα»αααααααα½ααα? ααΎααΆαα·ααααααΎαααΆααα»ααααα αΆαα α¬ααααααααΌααααααΆαααααααα? ααΆααΆααα·αααΆαααα·αααΆαααΆααααα αΆααααα αα·αααΆααααααΆααΎααα·αααααΌαααΆαααΆααααα½ααα·αα·ααααα»α αα·αααΆαααα
αα
αααααααΎαααΎααα α»ααΆα ααΎαααΉααα·ααααααΎααααα‘αΎααα·ααα ααα»αααααα CRC-32C αααααααα·ααα₯α‘αΌααααα
αααααΌααααααααΎαααα α»α 6 αααΈααα
ααΎαααα
αααα αΌαααα 22 αα (αααα ααααΆααααΈααΌαα
αααα»ααααααΆααααΎα) ααα α»α 4 αααΈαααΎαααα
αααα αΌαααα 655 αα (ααααΆααααΈααααααΆαααααΆααααΎα) 2 α¬α
ααα½ααααααααα α»ααααΈαααΆαα½ααα
ααΎαααα
ααααααααΆα ααααααααααααααααΆαα½αα
ααΎααΆαα’αααααΆα αΆααα’αΆαααααα αααααΆαααα’α·α
Π
ααΌα ααααΆαααααααα αααααΆααα·ααααααααααααΎαααααΌαααΆααααα αΆαα αααα½αααΎαα‘αΎαα ααΎααΎααα½αααααΆααΌααααααΆαααααααααα·αααααααααααΆααααα αΆαα α¬αα·αααΆααααα αΆαααα?
α’αΆαα»ααααααααα»αααΆααααα α·αααααααΆαααααΆ checksum αααα·ααααααααααα·αααΆααααα αΆααα
- ααΈαααα»αααΎαααααΌααα·αα·αααααΎααα»ααααα·ααΆαααααΆααααα»ααα·αααααα ααΌα ααααααΎααα·αα·αααααΆαααααααΆαα (αααα»ααααααΆαα½αααααΆααα ααα α»ααααα’αΆα ααΎαααΆααααα»αααΆαα’αα»ααααααΆααααα αΆαα/ααααα½α ααΆαααΌα ααΆαααααααααΆαααααΈα’αααα αα αΆαααΌα ααα ααΉαααααΌαααΆααα·αα·ααα);
- αααα½ααααααααΆα deflate αα αααα»α zlib ααΆαααΆαα’αα»ααααααΆαααΆαα αΆαααα»α αα·α αα·αβαα½α ααααΆααα α»αααΆαα½αααΉααα·αααααααααα αΌα "α αααα" ααΎαααΈααα ααΆααΆααΉαααΆααα’αΆα ααααΎαααα α»ααα αααα»αααααααΈααααα αΌααααα―αααΆααα αααααΆαααααααααααΌααΆαααΈααΈααααΆααααΌαααααΆααα·αα’αΆα ααααΎαααα α»α (ααΆαα’αα»ααααααΆαααΆαααααααΆαα½αααΉαααΆαααΆαααααα αααΆαααααα·α αααα»ααααααααααΆααααΈ zlib ααΆαααααΎαααα α»α αααα αααα½αααΆαααΈααααααΈ)α
α’αΆαα»ααααααααααΆααααΉαααΆαααααΆ checksum αααα·ααααααααααα·αααΆααααα αΆααα
- CRC ααααΌαααΆα "ααααααα½α" ααΆαα·ααααααααΆααααα α»ααααααα½αα ααα½ααααααΆααααααααα’αααα αα αΆααααααΊ (ααα α»αααααα·α αα αααα»αααααααΈααααααΆααααα αΆααα’αΆα αααααΆαα±ααααΆαααΆαααααΆααααααΌααααααα αααα»αααααααΈααα·ααααα αααααΆαααααΉααααΈαα»αααααΆα ααΎαα’αΆα "α αΆαα" ααΆααααααααα·α ααααΆααΆα) α
- αααα»ααα·αααΆαα·αα
αΌαα
α·ααααααα·αααααΆααααααΌααα·αααααααααααΌα
αααααΆαα»αααα
α§ααααα decompressor αα
α’αααααΆααΉα ααΎααΆααααΉαααΆαααααα·αααααααΆαααΆα
αααα»αβααααααβααα αααα»αβααΆαβαααααα βα α·αααβααΆαβα ααβααΈβααΆαβα’αα»ααααβαααβααα½αβααΆαβααΆβααΌαα βαααα»αβααΆαβαααααΆαα»αβαα·ααααααβαααβαα·αβααΆαβαααα αΆααα
ααααααα ααΎαααααΎ CRC-32C ααΎαααααΆ checksum ααΈαα·αααααααααα»αααααααααααα½αααααααΌαααΆαααααααα flash (αααααΆααααΈααΆααααα αΆαα) α
αααααααΌαααΆαααα αααα
ααΆααΆααα·αααΆαα ααΆαααααΎααααΆααααΆααααααααΌαααααααα·ααα»αααααΆααααΆαααΆααααααα·ααααααααααα αααααΆαααΆαααΆααααα ααΆα’αΆα ααΆααααααααααΆαααααΆαα (ααΆααΉαααΆαααααααΆααααααΆαα·αα αααΎα) ααΆαααααααααααααΆαααααΆαααΆααααααα·ααααααααααα·αα’αΆα αααααα·αααΆαα
ααΎαβα’αΆα
βααααΎβααααααβαααααβααααΆβααβααΆαβααααΎβαααααβααΎααααΈβααβααα α»αα
αααααΌα Hamming α’αΆα
ααααα α»ααααΈααααα½α ααΌααα½α’αααα Reed-Solomon α
αααΆααα
αααααα·ααααααααΆα
αααΎαααααα½ααααα
αΌαααααΆααΆαα½αααΉαααΆααααααα α¬ααΆαα’αα·αααΌαααΌα
ααΆ RAID-6 α’αΆα
αα½αααααΆααα·ααααααα‘αΎααα·α ααΌααααΈαααααα»αααααΈααΆαα’αααΎαα»αααα½ααααααααααα
ααααΌαα‘αΎα αααα»αααΆαααααααααΆα
α·αααα
ααααααΆαααααΎααααΆαααααΆαααΌααααΌααΆαααααΆααααααααΌαααααααααααΆαααΉαααα α»α ααα»αααααααααΆαααααααα»αααΆαααΉαααΆααααΌαααΎαααααΌαααΆααααα·αα’αααΈα’αααΈαααααΎαα
ααααΆαααΆααααα½αααΎαααΈααα α»α α αΎααααααΆααααααααΎαααΎαααΆααααααααΌαα
ααΎαααΆααα·ααΆααα»ααααααΆ ααα α»αα αΆαααΆα αααααΌαα αΆααα±ααααΆαααΏαααΆααααα’αΆα ααααΎαα ααΆαα ααΎβααΎαβα’αΆα βαα½αβαααα αΆβαααααβα ααα»α βααΆβαααα?
- ααΆααααα·αααΆααα
αα (αααααΆααα ααα»αααα½αα
ααα½ααα
αααααααΆαααααααΌαααΆααα·α Raspberry ααααα ... )
Alas, αα αααα»αααααΉαααα·ααΆαααααααα α»ααααααα, α’αααΈααΆααα’ααααααα αααααΊααΎααααΈαα·αα’αΎααΎαααααααααΆαα·αααααΉαααααΌααα·ααα·α αΆαααΆαα·αααααααααααΆαααΆααααα; - αααααααα α»α (αααααΆααα ααα»αααα½αα
ααα½αα’αααΈαααααααΌαααΆαααααααα
α’αααα
αα
αΆααααααΊαα·ααααααΆα’αααΈαααααααΌαααΆαααααα)
ααΎαβα’αΆα βααβααΎαβααα α»αβαααβαααβααααΆααβααααα·αβααΎβααΎαβααααΎβαααααβα’αΆαβααααΆααβαααααΆααβααΈβααα - ααΆααααααΌα αααααααααΆααα·αααααααα αααα»αα’αααα αα αΆαα’αα‘α»αααααααα»α;
- ααα α»ααααα»αααΆαα’αΆα
ααΎααααΈααααΆ ααααα·αααΎ checksum αα·αααααΌαααααΆ ααΆαααααααααΆαααααα»αααΆαα’αΆαα‘αΎααα·αα αααΎαααα
αααααΊααΆαααααα α»αααααααααααΈ XNUMX (ααΆαααΌα αα·αααααααααα―αα―ααααα»αα’αα‘α»αααααααα»α) αα·αα’αΆα αααααααΌαααΆαααααΎααααΆαααΆααααααααΌαααααααααααΆαααΉαααα α»αα ααΆα αΆααααΌα ααΆααΆααα α»ααααααααα αααα·αααααααΆαααααααα
ααααααα ααΆααααΌαααΆααααααα α α·αααααααααα ααααΆααααααααΌαααααααααααΌαααΆαααααΆ ααα»ααααααααα·αααΎααααα·ααααα·ααΆααααα αΆαααα α»αααααΆααααααα α α·αααααα αααααΆαααααααα‘αααα ααΆααα·α αΆαααΆααΎαααα αΆαα·α (ααΆαα½αααΉααααα·αα·ααααααα½α α αΎαα’αααΈααΆααααΆααα αααααΉαα’αα»ααααΆαα±ααααααΎαααΎαααααααααααΆααααααααΌαααααα’αααααΎα)α
ΠΡΠΎΡΠ΅Π΅
ααΆβααΆαβαα·αβααΆαα ααααααβααβα’αααααβαα·αβα’αα»ααααΆαβα±ααβααΎαβαααα αΆαβααΈβααΆαααααΉαααααΌαβαααααβαααΈαβαααα»αβαααααααααΆαβαααβααα (α αΎααααααΆαααααααααα»αααΆαα’ααα αΎα)ααΌα ααααβαααα»αβααΉαβαα·ααΆαβαααβααααααβααΎβα ααα»α βαα½αβα ααα½αβαααβαα·αβααΆαβαααβααΌα βαα»αβα
- ααΆααααΌαααΆααααααα
α
α·αααααααΎα±αααααααααΆααα’αα "ααααΎααααΆ"
αααααΊααΆααΉααα·αααΆαααααααα·ααααααααΆααα·ααααααααααΆ αααααααα‘αΆαααΆα ααααα‘ααα
αααααΆααΆααΆααΌααααΈααααΆαααα ααΎααααααα·αααΆαα ααα»α αααα½αααααΆααααΆαααα αΎααααα»αααααΆααααα αΌαα α·αααααΆ; - ααΆααΆααΆαα
αΆαααΆα
ααααα»αααΆααααααααΌαααααααααααα
αααααααααααααΆαααααααααα αααα»αααααααΆααΊα’αΆααααα!
ααΆαααααααααΆααα αΎααααα»αααΆαααααααααΆααααααΆαααααααααααααΆααααΆαα (α αααααααΆ) αα ααααααΆααααα αααααΉααααα αΆαααΈαααααααααααααααΆαααααΎα (αααα»αβαα·αβαα·αβααΆβαααα»αβααΆαβα’αα»ααααβααΉαβααΆαβααΌααααΈβααβααΆααβαα·αβααβαα½αβααβ); - ααααΎααααααΆααααααα’ααααααααΆαααααααααααΆ (αααααΆαα αααΎα) αααααααΆααΆαααααΎα±ααααΆ 1 ααααααααα»αααααΈααΆαα αααΎαα
- ααΎααααΈα’αα·αααΌαααααααααααααααΆ αα·ααααααααααααααααΆαααααααααααααΆαααααΆααααα αΆαα ααΌαααααΎααΌααααααΈαααααααα’αααα
ααΆααα½αα
αααΎαα
ααΆααα·αααααΆα’αααΈαααααααααΆααααα»ααα·αααααα
ααααΆαααα
ααΆααααααααΆααα½αααααααΌαααΆααααααΆαα»αααΆαααααα big-endian (ααααΆαααααααααΆα) αααααΊ 0x1234 ααααΌαααΆααααααααΆ 0x12, 0x34α
ααΆααα·αααααΆαα
α’αααα αα αΆααααααΊααΆααα’ααααααΌαααΆααααα αααα ααΆααααααααααΆαααα αααααΎααααΆα
ααα ααααααααααΆαααΎαααΊ 32Kb ααα»αααααα·αααΎαααΈ 1/4 ααααα αααα»ααααααααααΈαα’αααα αα αΆα (αααααΆαααααααααΈα 4MB ααα½αααΆα 128 ααααα)α
αααααααΈαα½αααααααΆαα»ααα·αααααααααα―αααΆαααααΈααααααααααααα (αααααΊαα·αααααααα ααΎααααααα½ααα·αααααα·αααααααα ααΎααααααααααααα)α
αααααααΆααα’ααααααΌαααΆαααΆαααααααΆαααααΆααααααααΆαα· (ααΆαααααΆααα‘αΎαααα’αΆαααααααΆα) αααα αΆααααααΎααααααα 0 (αααααααΌαααα αΆααααααΎααα α’αΆααααααΆα 0 αααααααΈαα½αα αΆααααααΎααα 32Kb αααααααΈααΈαα αΆααααααΎααα 64Kb ααα)
αααααααΈαα’αααα αα αΆαααααΌαααΆαααααααΎααΆααα·ααααααα’αΆααααααααα·α (ring buffer) αααααΊααΆααααααααααΌααα ααΆαααααααααα 0 αααααΆααααααα 1, ... αα ααααααααΎαααααααααααα α»αααααα ααααααααΈαα½αα αΆααααααΎα α αΎαααΆαααααααααΈαααααααΌαααα .
αα ααΆααααα»αααααα
αα
ααΎαααααα ααααααΆααααα 4 ααααααΌαααΆααααααΆαα»α αααααΆαααααα·αα·αααααααααΆ (CRC-32C) αααααΆαααααααααααααΆααααΌαααΆααααααΆαα»ααααα»ααααααα "ααααααΆ αα·αααααα ααΌααααααΆαααααα" α
α αααααΎαααααα (ααααααααααααααα αααα»αααααΆααααΆα) ααΆαα
- ααΆαααααααααααααΈααα (ααααΆαααααΆαααααααααααα)
αααααΆαααααααα αα α»αααααααααααααααααΆαααΆααααΌαααΆαααααΆααΆ0xed00 β Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠ°Π½ΠΈΡΡ
; - ααΆαααΆααααΈααα "ααααααααα" (ααααααααααααα‘αΎααα·αα’αααα αα αΆα) α
ααΆαα»αα ααΎαααααααααΌαααΆααααααΆαα»ααααα»ααααααααααα αΆαα (αααα½ααααααααΆα deflate ααααΌαααΆαααααΎ) α αααααααααΆααΆααα’αααα ααΎααααααα½αααααΌαααΆααααα αΆαααααα»ααααααααα‘αΆααα½α (αα ααΆαα»ααααααΌαα αα½αααααΌαααΆαααααΎααααΆαα) α αΎααα ααΎααΆααααα αΆαααααααααααΈααΈαα½ααα αΆααααααΎαααΆααααΈα αααααΊ ααΎααααΈααααα½ααααααααααΆααΆαα½α αααααααααΆααΈαα»αααΆααα’ααααΈαααααααα (α αΎαααΆααααα½αααα) ααααΌαααΆαααΆαααΆαα
αααααααααΆααΈαα½ααααΉαααααΌαααΆααααα αΆαααααααα Z_SYNC_FLUSH α αΎααα
α
α»ααααα
ααααααααααΈααααααΆααααα αΆααααΉαααΆα 4 αα 0x00, 0x00, 0xff, 0xff αααα’αΆα
ααΆααα»ααααααΌααααααα½α α¬ααΈααααα
ααΎαααααααααααΆααααα (αααααα 4, 5 α¬ 6 αα) αα
αααααααααα
α’αααα
αα
αΆααααααΊα
ααααΆααααααααααΆααΊ 1, 2 α¬ 3 αααααααΆαα»αα
- αα½ααααΈα (T) αααα αΆαααΈαααααααααααααααααΆ: 0 - ααα·αα, 1 - αααααα ααα»;
- ααΆαααααααα’ααα (S) ααΈ 1 αα 7 αααΈα αααααααααααααααααααΆ αα·α "ααααα»α" αααααααΌααααααααααα αααα»ααααααααααΆαααααΆααααΆαααααα½αα
- αααααααααααααααΆ (L) α
ααΆααΆααααααα
S
ααααααααααααΆ, αα
ααααααα
αααα
αααααααα, αα
0
1
5 (00 00 00 ff ff
)
10
1
6 (00 00 00 00 ff ff
)
110
2
4 (00 00 ff ff
)
1110
2
5 (00 00 00 ff ff
)
11110
2
6 (00 00 00 00 ff ff
)
1111100
3
4 (00 00 ff ff
)
1111101
3
5 (00 00 00 ff ff
)
1111110
3
6 (00 00 00 00 ff ff
)
αααα»αβααΆαβααααΆααΆαβαααα αΆα αααα»αβαα·αβααΉαβα
αααΆααβααΆβααΆβαααα αΆαβαααΆαβααΆβααα
αααααΏααα
ααΈααααααα αΆαααΈααΆα T, ααΆα S αααα, ααααααα L (αααααααααα·αααααααααααΆααααα αΆααααΆαα) αααααααααα·αααααααααααΆααααα αΆαα ααααααα αααααα
α»αααααααααα·αααααααααααΆααααα αΆααααααα·αααααΌαααΆαααααααα
α’αααα
αα
αΆααααααΊα
ααΌα ααααααΎαα’αΆα αααααααααααΆααααααααααΌαα αααα»α (αα αΌαααα 63 + 5 αααααα»ααααααααααα αΆαα) αααα»ααα½αααα
αααααΆααααΈαααααααααΆααΈαα½αα ααΌααααααΆαααααα CRC-32C ααααΌαααΆααααααΆαα»α ααααααα»αααααααααααΆαααααα αααΆααα checksum αα»αααααΌαααΆαααααΎααΆαααααααααΌα (init) α
CRC ααΆααααααααααααααα·αα "αααααα" ααΌαααααααΆααααααααααΎαααΆα (ααΌαα¬ααααΆααααα
αααΆααααΈααα
αααα»αααααΎαααΆα)α .
αααααΆααΆααα·α ααΎαααααΆ CRC αααααα»αααΆααα’ααααααααααΆ αα·ααα·αααααααα
ααΎααααααααα
αααααααΆααααΆα checksum ααΊααΆααααααΆαααααααααααΆαααααΆααα
ααααααΆααααΌαααΆααα ααΆα‘αΎαααΆααααααααααααΈαα½αααααααΆααααααα»αααΈ 0x00 αα·α 0xff (ααααα·αααΎαααα½αα±ααααααΈαα½αααααααααΆααΎααα½α 0xff αααααΆααααααΆαααααΆαααααααααα·αααααΎ 0x00 αααα αΆαααα α»α)α
αααα½ααααααααΆαα§ααΆα ααα
ααΆαα’αΆαααΈ Flash Memory
ααΆαα’αΆαααΆαα½αααααΆαα½αααΆαααααααα
ααααα·αααΎ checksum αα·αααααΌαααα ααΆαα’αΆαααααΌαααΆαααααΎαααααααα
αααΎαααααααααααΉαααΆααΉαα’αΆααα·ααααααααααΉαααααΌαα
(ααΆααα ααα»αα ααΈαα»α αα·αααααΎααααΆαααααααΆααα’αΆαααΈ NOR Flash ααΆααααααα)
ααααααα α’αααα αα αΆααααααΊ
ααΎααααααααΆαα·ααααααα
αααα’αΆααα½αααα
ααααα·αααΎαα·αααααααααααΆαα’αΆααα·αααααΌαααααΆααΉααα·αααααααααααΆααααααααα ααΎααααααααααααααααααΌααα α αΎααααα αΆααααααΆα’αααΈααα α»αα
αααα»ααααα α microcircuit ααααΈαααααΆααααααα·ααααα·ααΆα
αααααΆααααΆαα
αΆααααααΎα ααααααΆαααααΆααααα 1 ααααΌαααΆαααααααα
αααααααααΌα (α¬ααΌααα)α
αααααΆααααΈααα ααα·ααααααΌαααααΌαααΆαααααααα
ααΆαααααααααα (ααΆα UUID αααααααΆαααΈα αα·αααΆααααααααααΆαααΎα)α
αααα αΎαααΆααΆα’αααα αα αΆααααααΊααΊαα½α ααΆαααααααΆααααΆαααααΎααααΆααα
αααα»ααααα»ααααΆαααΈα
αα
ααααααα»α 8 ααααααΌααααααααααΈαα½αα (ααααααΆ + CRC) ααααΌαααΆαα’αΆα ααααααααααΆααααααααααααα·αααααΆαα α¬ CRC αα·αααααΉαααααΌααα·αααααΌαααΆαα’αΎααΎα
ααΈααααα "ααααΉαααααΌα" ααααααααααΆαααααα’αα·ααα·ααΆααααΌαααΆαααααΎαααΎα α αΎαααααααααααΆααααααααααααα»αααααΌαααΆαααα
ααααΈαα½αααα
αααααααααΆααααΌαααααΌαααΆαα’αΆα ααΆαααααΉαααααΌαααααΆαααΆααααα αααααα»ααΆ αα·αααααααΆαααααα "ααα·αα" ααααΌαααΆααα·αα·αααα ααααα·αααΎα’αααΈαααααααααΆαααα’ ααααααααααααΌαααΆαα
αΆαααα»αααΆαα
αα
α»ααααααα ααΎαα·αααΌα
αααααα ααΎααααααααα
ααααααα»ααα·α αα αΌααααααΎαααααΎαααααα "ααααΆαα"α
α αΎααα
ααΎααααααααααΆαααααΎα ααΎαα’αΆααααααααααΆααΆααα’αα αααααΎαααααΎααΆαα½αααα "ααα·αα"α
αααααΆαα»ααα
ααΆαα»αααα zlib (ααΆααΉαααααΌαααΆααααααΆααααΆααααααααα
αααααααα)α
αααα αΎαααΆααΆ ααΆαααΆαααααΆααααα αα ααα·ααααααΌαααΆαααααΆαα‘αΎααα·α α’αααα’αΆα ααααΎαααΆαααΆαα
ααΆαααααααααΆαα»αα·ααΆαα»αααααααα·
ααΎααααα αΆαααααααααααΆαααααααΎαα
ααΆαα»ααααααααΉαααααΌα ααααααααΆαα Z_SYNC_FLUSH α ααΎαααΎαααΆααΎαααααααααΆαααααΆααααα αΆααααααΉααα
ααΎααααααα
αα
α»αααααααααα¬ααα
ααααα·αααΎααΆαα·ααα (α¬ααΆαααα α»α CRC αα
ααΎααααα) ααΌαα
αΆααααααΎααααααααααΈ (ααΌαααΎαααΆαααααα)α
ααΎαααααααααααα ααα» αα·αααΆαααΆααααα αααααα»ααΆ α ααααα·αααΎααΆαααα α»αααΎαα‘αΎα ααΌαα
αΆααααααΎααααααααααΈα
αααααααααΈα
ααΎαααααΎαααΎααααααα₯ααα·ααααααααααΆαα
ααα½αα’αααααααΆ (ααΎαα
αΆαααα»ααααααα₯ααα·αααααααΆααααααααααΆαααΆααα·αα·ααααα·αααααΉαααααΌααα
αααα»αααααααΆ α¬ααΆααααααα·α
ααΆαααααααα
αα
α»αααααα)α ααααα·αααΎαα·αααΆαααααααααααααα ααΌαααααΎαααΎαααααααααααΆαα
ααα½αα’αααααααΆααΈααααααααααΆαααααααααΎααΉαααααααα
αα
α»ααααααα
ααΎααα»αααααααααααΆαααααΎαααΎαα ααΎααα·αα·αααααΎαααΆαα·ααΆααΆαα½α 0xff α ααΎβααΆαβα’αααΈβαα»α ααΌαβααβαααααβαααααΆααβαααβα₯αβαα·αβααααααα
ααΎααααααααααααΆαα
ααΎααααααααααΆααα»α ααΆαα»ααΈαα½αααΊααΆααααΆαααΆααα
αα
α»ααααααααααα·αα ααΆαα»αααααΆααααΊααΆααααα
αΌααααααα ααα»ααααα·αααΆαααααα (ααααα·αααΎααΆααα½α)α
ααΆαα’αΆα α’αα»ααααααΆααααααααα
ααΆααααα·ααααααααα»α ααΆαααααα ααΆααααααααααα’αααααΆαααααααΆαα»αααααααΈαααααααΆααααα’αΆα αααα αΆααααΆαα αααΎα α¬αα·α (α’αααααααααααΆ JSON, MessagePack, CBOR α’αΆα ααΆ protobuf) αα αααα»α NOR Flash α
ααΆβααΆαβαα·αβααΆαα αααααααααΆαβααααΌαβααΆα "αααααΌαβααΆα" αααααΆαα SLC NOR Flash α
ααΆαα·ααα½αααααΎααΆαα½ααααα BER αααααααΌα ααΆ NAND α¬ MLC NOR ααα (ααΎα’αααα αα αΆαααααααααΆααααααΆααααααα?.
ααΎαααΈααααα ααα ααΆαα·ααα½αααααΎααΆαα½αα§ααααααααααΆα FTL ααααΆαααααα½ααααααα USB flash, SD, MicroSD ααΆααΎαα (αααααΆααα’αααα αα αΆααααααα αααα»αααΆααααααΎααααααααααααΆαααα αααααα 512 αα α αααααααΆαα ααΎααααααααΈαα½αα αα·αααααααααααααΆαααα½αααα - αααααααααΆα’αΆα αα αα½α αααα»αααΆααααααααααα·ααααααααΆααα’ααααΈ flash drive "αα·αααααααααΈ" αααααΆαα’αΆαααΆαααααΆαααααααααΆαααα).
α’αΆαααααααΎααΆααα·α αα αααααααααΆαα’αΆα ααααΎαααααααΆαααΆαααααΆααααααΌααα ααΎ flash drives ααΈ 128Kbit (16Kb) αα 1Gbit (128MB)α ααααα·αααΎα ααααΆα α’αααα’αΆα ααααΎααΆαα ααΎαααααααααααΈααααΆα ααα»ααααα’ααααααα ααααΆααααΌααααααααΌαααα αααααα (ααα»αααααα ααΈααααααα½αααααααααΆαααααααα·α αα ααΆαααΎαα‘αΎααα½α α αΎα ααααααααααΆααααα·ααΆααα NOR Flash αα·αααΎαααΉαα α·ααααα).
ααααα·αααΎααααΆααααΆααααααΎααααααααα½αα±ααα αΆααα’αΆαααααα α αΎαα ααααααΎααΆαα αααα»αααααααααΎαα αα ααααα αααα»αααΉαααααΆααΆαααααααααααααααΆ αα»αααΆααααΌα α αΎααααα ααααΆαα ααΎ github α
ααα ααααΈααααα·ααααΆα
ααΌα αααα’αααα’αΆα ααΎααα ααΈαααα αααααααααααΆααααααα ααΆααΆαααα αα·αααΌααααΈαααα½αα±αααα»α.
ααΆαα·ααΆααααα»αααΆααααα»ααααα αΆααααΈααΆααα·αααααααααααααααααααα»ααα αααα»αα’ααααααα½α ααα»ααααααΏαααα»αα ααααΌααααα»αα αααααααΎαα’αααΈαααααααΎα αα·αα’αΆα ααααααΆαααΆα ααΆααααααααΆααααααΆαααΆαααΈαα·α ααΌααααΈααααΆααααα»ααα»αααααα’ααααα αα·αααααααα αααααΆαααΆαααΆαααααα ααα»αα (αααα»ααααααΉαααΆ) αα αααααα α αΎαα’αΆαα·ααΆαααααα·α αααααααΆαααααΆααααααΌαααααααα ααααΆαααΆαααα αα·αααααα½αα
ααΆα’αΆα ααΆαααα»ααα»α? ααααΆααα αΎαα ααΆα§ααΆα ααα ααΆα’αΆα ααΉαααααααααΆαααΆααΎαααΆααα·αααααα»ααα microcircuits αααααΆααα»αααΆαααΆαα α¬αααααΆααα ααα»αααααααααα α§αααααααΉααα·ααααααααΆαααΆαααααΉααα»ααααα’αΆα ααΏααΆααααΆαα
ααΎαααα»αααΆααααααααααααΆααααΏαααααα? αααα»αβαα·αβααΆβαααααΆααβααΈβααΆαβα’αΆαβα’αααααβα’αααβαα·αβααΆαβααΆαβααααααβααβααΆβααΆαβαααααΆαβαα½αβα α αΎααα·ααααααααααΆααα―αααα
αα ααΎαααααα αααΆααααααααααααααΆααααααααα·α ααααααααααΌαααΆααααααΎαα‘αΎαααΆααααΆαααααΎαααααΎααΆα αα·αααΆ "ααααααααααΆααααα"α
αα ααααααα’αααΈααα ααΎαα»αααα»αααααΎαααΆαααα’ αα αααααααααααααααααααααΆαααΉαααααΌαααΆαααΆααα±ααααααΎααααΆαα (αααα αα) αα ααΎα§αααααααΆαααα ααΌαααΎαα’αααΈαααααΎαα‘αΎααα αααα»αααααα·ααααα·ααΆα "ααααα»ααα" (ααααΆαααα’ αααα»ααααααΉαααΆααααααα’αα»ααααΆαα±ααα’αααααααΎαααΆααααΆααααααααΆαααΏααΆαα ααΌα ααααα’αααα’αΆα αααααΌααααα·αα·αααααα)α αααα»αααααααααΈαααΈαα ααΆααΉαα’αΆα ααααΎααΆαααααα·ααααΆαααΆαα (α αΎαααααα·αααΎα’αααααααΆα ααΌααααΈαααα»αααα).
ααααα·αααΎααα’ααααΎααααααααααΆαααααΎααααΆαα αααα αΆαααααααααααααΌαααΆαααααΎα α αΎαααΆααααααα’ααααΌαααΆαααΆαααΆα ααααααα»αααΉααααααα’αααΈααΆα
α’ααααααΆααααα
αααα»αβαα·αβα ααβαααααΎαβαααααΈβααΆαααΆαβαααβααΆαβααααΎβααΌαβαα½αβα±ααβαα»αααααΆααβαα αααααΆααβαα α’αααβααΆααβααααΆβααΆα Google α
αα ααΈααααααα»αααΆααααααα α α·αααα αΆαα ααααΈαααααΈααααΆαααααΎααααα αΆααααΌα ααΆαα½αα±ααα αΆααα’αΆααααααααΆαα·ααααααααΆαααααα»α ααα»ααααααααα·α ααααααα½αααααΆαααααΎα αααΆααααα»ααααααααΆαααα αααα»αα’αααααααα’ααααα α αΎαααΆαα»αα½ααα αααααα·ααααα»ααααααΈα
- α§αααααααααΎααααΆαα
infgen ααΈα’ααααα·αααα zlib α α’αΆα αααα αΆαααααΉαααΆαααααααααΆα deflate/zlib/gzip αααΆαα αααΆααα ααααα·αααΎα’αααααααΌααααααααΆαααΆαα½ααα ααΆααααααααααΆααααα»ααααααααα deflate (α¬ gzip) αααα»αααΌαααααΆαααΆαααΆαααααΆααα
ααααα: www.habr.com