Dit is een geweldige video die uitlegt hoe flash-geheugen werkt. Natuurlijk, de video is zeer technisch, maar het werkt door middel van het concept van het lezen en schrijven van gegevens in het flashgeheugen, zodat als je tiene17 minuten, stel ik u de video bekijken. De video omvat SLC, MLC en TLC en hoe elk van deze technologieën lezen en schrijven met de verschillende lagen van een inrichting zoals zwevende poort NAND flash.
Bron: YouTube.
Lees verder
Is Checksum of CRC beter voor het controleren van de gegevens op USB flash drives ?
Dit bericht is voor de algemene gebruiker een idee van wat de verificatie methode beter is voor het schrijven van gegevens naar een flash drive te geven . Er zijn referentie- links aan de onderkant van deze post die veel dieper in de twee methoden van verificatie of dit eenvoudig overzicht is niet genoeg.
Het korte antwoord is Cyclische Redundancy Check of CRC is de beste methode voor het controleren van de gegevens op een USB flash drive .
Velen geloven dat een checksum is de beste methode om gegevens weggeschreven naar een flash drive ( meest populaire is MD5 ) controleren . Ik geloof dat dit de voorkeur omdat het gemakkelijker is om te begrijpen hoe de verificatie werkt , en ook makkelijker te implementeren. Echter, er zijn gebreken in checksum verificatie en daarom niet geschikt voor verificatie van de gegevens weggeschreven naar een flash drive .
Wat is het verschil tussen Controlesom en CRC verificatie ? De checksum methode maakt gebruik van toevoeging in zijn wiskundige berekeningen te controleren of alle gegevens correct zijn geschreven . CRC gebruikt staartdeling in zijn wiskundige berekeningen te controleren of alle gegevens correct zijn geschreven . Vermeldenswaard is heb ik het over binaire staartdeling , niet de school yard staartdeling je zo liefdevol herinneren .
Checksum methoden wordt de totale bits in een pakket van gegevens te berekenen en omvatten dat de totale checksum bedrag wanneer de gegevens via communicatielijnen wordt verzonden. De ontvanger zal dan kijken naar het pakket , lees de checksum waarde en voert dezelfde berekening om te controleren of alles klopt . Als de berekening op het einde van de ontvanger overeenkomt met de waarde die in het pakket , alles is goed. Het probleem is een grote kans dat ergens tussen de zender en ontvanger van de bits van de gegevens zijn gewijzigd, beschadigd of nog geruild toch weer een correcte checksum waarde na berekening aan de ontvangende kant .
In zeer eenvoudige termen stel je hebt een bak van sinaasappelen en rode appels gaan van Los Angeles naar New York . Alle appels en sinaasappels waar eerst geteld en opgeschreven op een manifest , vervolgens uitgegoten in de bak en afgevoerd . Langs de manier waarop sommige van de rode appels waar vervangen met groene appels . Toen de bak aangekomen in New York , het totale aantal appels en sinaasappelen hetzelfde gebleven na de definitieve telling , maar de ontvanger nooit wist dat het moest alleen rode appels zijn.
Cyclische redundantiecontrole is ongeveer net zo eenvoudig als toevoeging, maar het gebruik van staartdelingen . Het voordeel van deze benadering is kijkt het hele pakket te controleren of alle informatie correct aangekomen , dan afhankelijk ineens getal als controle . Net als bij traditionele staartdeling , tweedeling werkt door middel van het dividend nummer uit de deler nummer .
Sinds de CRC methode is een beetje ingewikkelder om uit te leggen , laat ik eerst contact op de appel en sinaasappelen voorbeeld ( voordat je in slaap valt of klik buiten de pagina ) . Laten we zeggen dat het dezelfde bak van appels en peren gaat van Los Angeles naar New York , maar deze keer van de appels en peren op trays vergelijkbaar met wat je denkt voor een eierdoos worden geplaatst . De trays zijn mooi en netjes gestapeld en het manifest zegt hoeveel appels , kleur van appels, sinaasappels en lagen van trays voor al het fruit . Wanneer de bak van appelen en sinaasappelen worden ontvangen in New York kan de ontvanger gemakkelijk de aantal lagen in de bak en gaan het totale aantal vruchten , zoals beschreven in het manifest .
Cyclische Redundancy Check berekeningen staartdeling berekeningen voor een pakket van informatie, maar hebben slechts een klein beetje tweaken . Om de berekening van een deler nummer is ingesteld of ” gegeven . ” Next start , voegt u in Zeros die een lager is dan de deler nummer . Dus bijvoorbeeld als de deler nummer 5 cijfers lang , dan zou je vier nullen toe te voegen aan het einde van het pakket . De berekening zou dan beginnen voor binaire staartdeling . Zodra de binaire staartdeling wordt gedaan is er een restant nummer zal zijn. Hier is waar de ” cyclische ” deel komt inch Nu indien de berekening ruilt de rest nummer met de vier hierboven genoemde ( bij de berekening voor het eerst begonnen ) nullen , dan wanneer de staartdeling weer liep , is er geen rest ( rest gelijk is aan nul ) . Met behulp van deze methode betekent dat alle bits in een pakket worden onderzocht bij de binaire staartdeling proces na het datapakket wordt ontvangen.
Waarschijnlijk de makkelijkste manier om dit te begrijpen zou zijn met een visueel hulpmiddel . Bestudeer de twee grafieken hieronder , dan zal het zinvol zijn .
Als het gaat om de reden voor verificatie toe te passen methodes voor data- overdracht wordt meestal gedaan als gevolg van ” ruis” op de transmissielijnen , niet vanwege een hacker of buiten manipulatie proberen om de gegevens te tweaken . Ruis op een transmissielijn kunnen worden aangetroffen om vele redenen , zoals slechte ontwerp van het elektrische gedeelte (zeg de printplaat van een flash drive ) of niet goed geaard (de meeste flash drives maken gebruik van twee layer PCB maar de specificatie voor USB is vier laags CPB minimaal ) of slechte kwaliteit materialen in de inrichting . Door betrouwbare verificatie methoden , kan de ontvanger , betrouwbaarder , bepalen of alle gegevens verzonden en correct ontvangen .
Bron: Bedankt Nexcopy Inc ingenieurs voor het nemen van een technisch onderwerp en presenteren in een niet-technische manier .
referenties :
Binary Long Division
https://courses.cs.vt.edu/ ~ cs1104/BuildingBlocks/divide.030.html
CRC definities via Wikipedia
https://en.wikipedia.org/wiki/Cyclic_redundancy_check
Meer technische definitie + code voor CRC in C en C + +
https://www.barrgroup.com/Embedded-Systems/How-To/CRC-Math-TheoryLees verder