Ce este stocarea USB. Dar înregistrarea? Actualizarea dispozitivului de stocare în masă USB pe STM32F103 utilizând FreeRTOS și DMA

În articolul precedent am încercat să descriem haosul care a avut loc în 1998-2003. în domeniul protocoalelor pentru împerecherea jucătorilor cu computerele. Perioada 2003-2004 a devenit o perioadă de raționalizare pentru industrie. Multe fluxuri de protocoale proprietare au fost înlocuite cu trei fluxuri armonioase. Mai exact, două și jumătate, pentru că... două dintre aceste fluxuri au fost variații ale aceluiași protocol.

Acestea erau:

  1. "curat" Stocare în masă protocol
  2. Protocol de stocare în masă cu suplimentar configurarea software-ului
  3. Protocolul MTP.

Depozitarea de masă pură a fost folosită cel mai mult o cantitate mare producători, în special companiile mici din Coreea sau China. În Rusia a devenit cel mai popular protocol. Povestea noastră de astăzi este despre el.

Pentru a desemna stocarea în masă „în viața de zi cu zi”, sunt utilizate două abrevieri - MSC și UMS. MSC (Mass Storage Class) este oficială, iar UMS (opțiuni posibile de decodare: USB/Universal Mass Storage) este „folk”. Ele nu se contrazic, ci se completează reciproc.

MSC raportează că protocolul este una dintre „clasele de dispozitive” standard aprobate în cadrul specificației USB și, prin urmare, este un standard industrial de jure. UMS vorbește despre universalitatea protocolului, care astăzi este susținut de majoritatea sistemelor de operare și de nenumărate dispozitive finale, făcându-l un standard de facto. Opțiunea de decriptare UMS ca USB Mass Stocarea completează aceste informații prin clarificarea faptului că linie fizică folosit interfață USB. Literele MS (Mass Storage), comune tuturor abrevierilor, indică faptul că acesta este un protocol conceput pentru a funcționa cu dispozitive de stocare volume mari date. A fost conceput pentru ei acest standard– pentru unități flash, cititoare de carduri, unități HDD mobile. Cum a ajuns în playerele portabile?

ProtocolMasaStocarea a fost concepută în primul rând pentru astfel de dispozitive. Apariția lui înPlayerele MP3 au fost un pas forțat

În materialele anterioare, am vorbit în mod repetat despre modul în care playerele audio portabile au apărut și au început să se dezvolte în mod spontan și neașteptat. Industria pur și simplu nu a vrut să le observe, mai întâi din cauza marginalității lor, mai târziu din cauza conexiunii exagerate a acestor dispozitive cu pirateria digitală. Acest lucru a avut multe consecințe, iar una dintre ele a fost că jucătorii au fost „ocoliți” atunci când distribuiau clase de dispozitive USB.

Să aruncăm o privire la lista acestor clase: există și externe plăci de sunet, Și dispozitive de comunicare, și o clasă separată pentru periferice, cum ar fi mouse-uri și tastaturi, există și clase pentru imprimante, hub-uri USB, camere web, adaptoare comunicații fără fir. Există și o clasă pentru camere digitale. Și doar playerele audio și multimedia au rămas în categoria „altele”.

Dintre clasele standardUSB-ul are locul cel mai mult diferite dispozitive. Dar nu pentru playere multimedia

Timp de cinci ani buni, nimeni nu s-a gândit să dezvolte o clasă separată pentru ei. Producătorii trebuiau să aleagă dintre ceea ce era disponibil.

În acest context, MSC/UMS a fost singura soluție universală. Dacă vă limitați sarcinile exclusiv la încărcarea „prost” a conținutului în player, atunci nu mai este nevoie de nimic. În plus, protocolul a făcut posibilă transformarea playerului într-un dispozitiv de stocare mobil. Vânzătorii și cumpărătorii obișnuiți chiar și acum descriu jucătorii cu acest protocol ca „lucrând ca o unitate flash”, „se conectează ca o unitate flash”, „nu este nevoie să instalați niciun program”, „puteți stoca fișiere” etc. și așa mai departe.

O simplă unitate de redare - „MP3-Stick” siMasaProtocol de stocare – făcut unul pentru celălalt

Acest oportunitate suplimentară se încadrează bine în abordarea all-in-one adoptată de producătorii asiatici de playere MP3. Ei au fost pionierii în adaptarea MSC/UMS în playere audio. Ei și Sigmatel, a cărui platformă STMP3400 a început să accepte acest protocol la începutul anului 2003.

ianuarie 2003 -Sigmatel anunță suportMasaDepozitarea pe platformele lorD-Major

Avantajele protocolului. Principalul lucru este simplitatea: toate operațiunile sunt efectuate prin shell-uri de fișiere standard, inclusiv. Windows Explorer(Dirijor), nu sunt necesare cunoștințe sau pregătire suplimentară pentru a lucra cu acesta.

Prevalența – deja Windows Eu și 2000 aveam suport de bază pentru protocol, Windows XP îl suporta complet. Multe alte sisteme de operare - MacOS, Linux etc. – compatibil cu stocarea în masă.

OS care acceptă într-o formă sau altaMasaProtocol de stocare

Astăzi este mai greu să găsești un PC care să nu accepte acest protocol. Suportul în acest caz înseamnă prezența driverelor de protocol ca parte a sistemului de operare.

MasaPlayer de stocare pe hard disk de 1,8”.Toshiba conectat la PC. CumDispozitivul MSC folosește un driver standardUSBSTOR.SYS, care face parte din sistemul de operare. Ca unitate, folosește și drivere standardWindows. Instalare Drivere suplimentare nu este necesar.

Deoarece toate lucrările cu conținut sunt, de asemenea, efectuate mijloace standard, prin Windows Explorer, utilizatorul nu trebuie să instaleze nimic: tot suportul pentru protocol este deja încorporat în sistemul de operare.

Jucătorul este vizibil în ExplorerWindows ca altul HDD. Toate lucrările cu conținut sunt efectuate în Explorer sau în orice manager de fișiere la alegerea utilizatorului. Instalarea suplimentară software nu este necesar

Se dovedește a fi un adevărat Plug-and-Play: scoate-l din cutie, conectează-l și folosește-l. În ceea ce privește parametrii precum transparența și invizibilitatea pentru utilizator, acest protocol pur și simplu nu are egal.

În ceea ce privește compatibilitatea cu dispozitive portabile Totul este în regulă și la noi: protocolul nu depinde de sistemele de fișiere și poate funcționa cu oricare dintre ele dacă este acceptat de sistemul de operare.

De asemenea, este important să existe o specificație de gazdă USB (în mișcare) care vă permite să conectați dispozitive de stocare în masă la alte dispozitive portabile (și neportabile). Astăzi, un player compatibil MSC poate fi conectat la o gamă largă de dispozitive, fie că este vorba de o consolă de jocuri, sistem stereo, radio auto, transmițător FM sau alt player.

Mașinile câștigă popularitateTransmițătoare FM care vă permit să conectați oricareMasaPlayer de stocare

Dezavantajele protocolului sunt o continuare a avantajelor acestuia. Funcționalitatea sa este de bază, primitivă. De fapt, nu este capabil de altceva decât să copieze date înainte și înapoi.

Dar datele cu care se ocupă jucătorul sunt mai mult decât un set de caractere binare; Fiecare bucată de conținut, fie că este o melodie sau un fișier, are o serie de proprietăți, cum ar fi titlul, formatul, autorul, durata etc. Unitățile individuale pot face parte din agregate mai complexe, cum ar fi un album sau o listă de redare.

Mass Storage nu știe despre așa ceva, ceea ce pune toate grijile legate de gestionarea conținutului fie asupra utilizatorului, fie asupra software-ului încorporat al jucătorului. Acesta din urmă este cel mai adesea incapabil să facă față în mod eficient sarcinii de a gestiona o cantitate mare de conținut. Ca urmare, majoritatea jucătorilor MSC/UMS au un mecanism de navigare extrem de slab - prin foldere, similar cu navigarea în Windows Explorer. În același timp, o cantitate semnificativă de informații conținute în metadate și etichete, care este convenabilă pentru clasificarea conținutului, nu este utilizată.

Informații care pot fi conținute în etichete (folosind exemplul unui programMP3etichetă). Puțin din acest lucru este folosit înJucători de stocare în masă

Utilizatorul este obligat să-și organizeze conținutul în mod independent, folosind un sistem de subdosare. În același timp, după ce a ales, de exemplu, sistemul de clasificare „autor-album-melodie”, el nu va putea trece rapid și fără durere la sistemul „genul cântecului” sau „anul înregistrării cântecului”. va trebui să zguduie întreaga bibliotecă.

Organizarea listelor de redare la astfel de jucători este foarte slabă în ceea ce privește capacitățile sale. De obicei, există o singură listă de redare posibilă. Lucrul cu listele de redare este atribuit exclusiv dispozitivului în sine, iar dacă unul dintre fișierele incluse în lista de redare a fost șters prin intermediul unui computer în modul MSC/UMS, acest lucru poate perturba funcționarea întregii liste în ansamblu. O astfel de caracteristică premium precum afișarea copertei albumului (art album sau jachetă) nu este disponibilă în principiu jucătorilor „puri” MSC/UMS. Teoretic, poate fi implementat prin încărcare fisier grafic din folder, dar în practică nimeni nu a făcut asta încă. Și dacă o face, utilizatorul va trebui să pună manual imaginile corespunzătoare în toate folderele. Unii jucători au capacitatea de a afișa cuvintele unei melodii (Versuri), dar aceste cuvinte nu sunt preluate din metadate: utilizatorul trebuie să le pregătească independent folosind un program special.

În toate acestea problema principala Stocare în masă. Un player este mai mult decât un dispozitiv de stocare mobil pentru a funcționa eficient, trebuie să aibă o înțelegere profundă a ceea ce este stocat de fapt în memoria sa. Fiind un dispozitiv multimedia modern conceput pentru o gamă largă de utilizatori, nu poate pur și simplu bolborosi tot ce este înregistrat pe el. El trebuie să fie capabil să spună ce urmărim sau ascultăm și pe scurt, cuprinzător și discret, ca un animator de înaltă clasă. El, ca un bibliotecar experimentat, ar trebui să ne ajute să găsim rapid printre mii de cântece exact ceea ce avem nevoie, chiar dacă am uitat numele. În toate acestea, protocolul MSC/UMS, care este extrem de limitat în capacități, nu îi este de ajutor. Și o nouă lovitură incendiară, o teză de master și un fișier de schimb Windows pentru el sunt doar o serie de date fără chip. Acest lucru transformă protocolul într-un fel de blocaj depersonalizant între două sisteme multimedia puternice - player și PC. Întreaga povară a transformării fluxului de informații fără chip într-o formă ușor de utilizat cade pe umerii acestuia din urmă.

Pe un PC, totul depinde de utilizatorul însuși: dacă dă dovadă de perseverență și ingeniozitate, va organiza o bibliotecă muzicală care va fi invidia tuturor. Sau poate aruncați totul într-un singur folder până când devine complet imposibil să găsiți ceva acolo.

De jucător, totul depinde de dezvoltator și nu sunt deloc dornici să facă efort deosebit pentru a dezvolta software puternic. Drept urmare, animatorul de la astfel de jucători este atât de așa - cu o voce monotonă, va citi titlul melodiei, autorul, cel mai bun scenariu- album. Sau poate doar numele fișierului.

InterfațăiPod versus interfațăMasaStocare pentru jucătorifluviulh300 arată mai spartan, dar încă se afișează semnificativ mai multe informatii despre piesa redată. În același timp, jucătorul de lairiver este încă un exemplu relativ de succesMasaStocare pentru jucători

Și este un bibliotecar inutil - așa că, cu mâna, va indica direcția în care să se uite, dar nimic mai mult.

UtilizatorMasaStocare pentru jucători (CowonX5 în acest caz, în stânga) atunci când se caută o compoziție de interes, poate fi ghidat doar de logica folderelor și fișierelor create de el însuși. Dacă se aplică alte soluții (ca înCreativZenAtingeți, în dreapta) au capacitatea de a căuta liber după parametri

Mânca excepții individuale(de exemplu, jucători de la Archos), dar nu sunt mulți dintre ei.

Această situație are o consecință foarte simplă. Utilizatorii care sunt familiarizați cu un computer, obișnuiți cu conceptul de fișiere și foldere, nu foarte pretențioși la efectele externe și se adaptează rapid la lucruri noi, sunt puternic în favoarea stocării în masă pură. Transparența, deschiderea și utilizarea pe scară largă a protocolului sunt avantaje pentru ei, alături de care se estompează toate dezavantajele.

Companiiiriu siCowon pentru popularitatea sa printre anumite straturi cumpărătorii sunt obligați, nu în ultimul rând, la sprijinul „gratuit”Stocare în masă

Dar notorii utilizatori „obișnuiți” nu sunt foarte fericiți. Pentru ei, un player nu este încă o unitate flash, nu este stocare pentru fișiere, ci un player. Construiți cu atenție o piramidă de fișiere și foldere biblioteca muzicala nu au nicio dorință să rătăcească în adâncurile acestei piramide de pe ecranul jucătorului, concentrându-se doar pe numele folderelor. Navigare cu metadate, redare cu imagini frumoase ale albumului, descărcare automată jucătorului de melodii noi - toate acestea sunt mult mai aproape de ei. O dovadă în acest sens este un număr semnificativ de playere MSC/UMS returnate în magazin și schimbate cu iPod-uri în Statele Unite.

Cu toate acestea, industria este stabilită de producători care nu folosesc purMasaDepozitare

Mai există o categorie de nemulțumiți de protocol. Acestea sunt studiouri de înregistrare și studiouri de film. Indiferent la orice, Mass Storage nu va putea, cu siguranță, să distingă o piesă „piratată” de una cumpărată cinstit. Un producător ai cărui jucători acceptă descărcarea de conținut prin stocarea în masă „pură” cu greu poate conta pe o cooperare fructuoasă cu casele de discuri majore. Cu siguranță, firme mici nu e chiar nevoie. Dar marile corporații care doresc să ofere utilizatorilor o soluție verticală, inclusiv achiziționarea de conținut, sunt nevoite să țină cont de acest factor.

Ca rezultat, un producător care dorește să creeze un jucător care:

    Atrăgător pentru „utilizatorul obișnuit” datorită greutății sale, lucru automatizat cu el, navigare convenabilă, rapidă și frumoasă, utilizare eficientă metadate

    Nu ar provoca respingere în rândul studiourilor de film și de înregistrare, ceea ce ar face posibilă organizarea unui convenabil pentru aceștia „ utilizatori obișnuiți„(și profitabilă pentru companie) achiziție de conținut

    Nu necesită investiții mari în dezvoltare, atât în ​​timp, cât și în calificările programatorilor

– forțat să caute soluții dincolo de capacitățile stocării în masă „pure”.

Pentru a desemna stocarea în masă „în viața de zi cu zi” sunt folosite două abrevieri - MSC și UMS. MSC (Mass Storage Class) este oficială, iar UMS (posibile opțiuni de decodare: USB/Universal Mass Storage) este „folk”. Ele nu se contrazic, ci se completează reciproc.

MSC raportează că protocolul este una dintre „clasele de dispozitive” standard aprobate în cadrul specificației USB și, prin urmare, este un standard industrial de jure. UMS vorbește despre universalitatea protocolului, care astăzi este susținut de majoritatea sistemelor de operare și de nenumărate dispozitive finale, făcându-l un standard de facto. Opțiunea de decodare UMS ca USB Mass Storage completează aceste informații, specificând că interfața USB este utilizată ca linie fizică. Literele MS (Mass Storage), comune tuturor abrevierilor, indică faptul că acesta este un protocol conceput să funcționeze cu dispozitive de stocare pentru cantități mari de date. Pentru ei a fost dezvoltat acest standard.

Clasa de dispozitive de stocare în masă USB include dispozitive care transferă fișiere în una sau două direcții. Reprezentanți tipici ai acestei clase de dispozitive: hard disk-uri, unități CD, DVD și unități flash. Sistemul de fișiere permite utilizatorului să copieze, să mute și să șteargă fișiere de pe dispozitiv.

Aproape toate dispozitivele de stocare în masă USB utilizează protocolul de transport numai în vrac (BOT, numit și BBB). (Excepție fac unele unități de dischetă cu viteză maximă, care utilizează mai multe tipuri de transferuri de date: transferuri de control, în bloc și întrerupere (acest protocol se numește CBI). dispozitive USB stocarea în masă utilizează, de asemenea, comenzi SCSI definite de diverse standarde SCSI (Small Computer System Interface).

Protocolul de transfer în bloc definește modul în care o gazdă USB poate trimite comenzi și primi răspunsuri folosind transferul în bloc, așa cum este definit în specificația USB. Într-un protocol de numai date, fiecare schimb de informații necesită 2 sau 3 transferuri de date USB. În prima transmisie, gazda trimite o comandă într-o structură numită CBW (Command Block Wrapper). Setul de CBW este urmat de o transmisie care conține date trimise de gazdă sau dispozitiv. În ultima transmisie, dispozitivul returnează starea într-o structură numită CSW (Command Status Wrapper).

Avantajele protocolului. Principalul lucru este simplitatea: toate operațiunile sunt efectuate prin shell-uri de fișiere standard, inclusiv. Windows Explorer (Explorer), nu sunt necesare cunoștințe sau pregătire suplimentară pentru a lucra cu acesta.

Prevalență - deja Windows Me și 2000 aveau suport de bază pentru protocol, Windows XP îl suporta complet. Multe alte sisteme de operare - MacOS, Linux etc. - compatibil cu stocarea în masă.

De asemenea, este important să existe o specificație de gazdă USB (în mișcare) care vă permite să conectați dispozitive de stocare în masă la alte dispozitive portabile (și neportabile).

Specificații:

221 Kb Engl USB Mass Storage Class – UFI Command Specification
103 Kb Engl USB Mass Storage Class – Bulk Only Transport
103 Kb engleză
23 noiembrie 2011 la 02:17

Despre suportul „USB Mass Storage” în Ice Sandwich cu cremă

  • Dezvoltare Android

Din recenzii timpurii dispozitive (și anume Galaxy Nexus) pornite versiune noua Android 4.0 (aka ICS, alias „sandviș cu înghețată”) s-a dovedit că nu acceptă o funcție atât de minunată precum USB Mass Storage, de exemplu. folosind telefonul ca pe o unitate flash, fără trucuri suplimentare. Utilizatorii de dispozitive Android, până la versiunea 3.0 „Honeycomb” (și, după cum s-a dovedit, au avut loc modificări în această versiune) știu că, pentru a transfera fișiere pe sau de pe telefon, a fost suficient să îl conectați pur și simplu la computer fără legătură cu ce sistem de operare sau software-ul instalat pe acesta. Este logic că știrile despre dispariția acestei opțiuni în versiunile noi nu au stârnit entuziasm în rândul utilizatorilor de Android și chiar i-au făcut pe mulți să se gândească la prezența unui fel de problemă sau defect. Din fericire, unul dintre inginerii Google Dan Morill(Dan Morrill) în comentariile postării furioase de pe reddit, a clarificat situația, explicând în detaliu ce s-a întâmplat de fapt și de ce. În opinia mea, acest lucru este foarte interesant, așa că traduc mai jos traducerea comentariilor sale.

ICS însuși acceptă USB Mass Storage (UMS). A Telefon Galaxy Nexus - nu. Este aceeași poveste ca și cu Honeycomb: HC acceptă UMS, dar tableta Xoom nu. Dacă un dispozitiv are un card SD extern, atunci accesul la acesta prin UMS este acceptat. Dacă aveți doar memorie încorporată (cum ar fi Xoom și Galaxy Nexus), atunci accesul la memoria dispozitivului este acceptat numai prin MTP *(Protocolul de transfer media)și PTP *(Protocol de transfer de imagini). Este imposibil din punct de vedere fizic să suportați UMS pe dispozitivele care nu au o partiție dedicată pentru stocarea informațiilor (cum ar fi un card SD extern sau o partiție separată, ca în Nexus S). Motivul este că USM este un protocol de bloc de nivel scăzut care oferă mașinii gazdă acces direct la blocurile fizice ale media, ceea ce nu permite montarea acestuia simultan în Android. Cu noul model de stocare unificat pe care l-am introdus în Honeycomb, toți cei 32 GB (sau toți 16 GB, sau toți N...) sunt complet partajați între aplicații și fișiere media. Nu mai trebuie să vă uitați cu tristețe la cei 5 GB gratuiti de pe Nexus S în timp ce partiția internă a aplicației este plină - acum este o partiție mare și fericită. Din păcate, prețul care a venit cu aceasta este că Android nu își mai permite să ofere PC-ului acces direct și să îi permită să acceseze mediile de stocare USB cu impunitate. În schimb, folosim MTP. Pe Windows (pe care au majoritatea utilizatorilor), există suport încorporat pentru MTP în Explorer, iar dispozitivul arată exact la fel ca un disc obișnuit. Pe Linux și Mac, din păcate, totul nu este atât de simplu, dar sunt sigur că situația se va îmbunătăți în curând. În general, acest lucru ar trebui să facă utilizarea telefonului mult mai convenabilă.

Când a fost întrebat dacă Nexus S are doar memorie internă, cum pot funcționa programe precum managerii de fișiere fără root, Dan a explicat:

Magie. ;)

În primul rând, selectăm un director din memoria internă care va fi „cardul SD”. Apoi luăm sistemul de fișiere FUSE, care nu face nimic decât să remontăm acest director ca /sdcard cu verificarea accesului dezactivată. În afară de accesări, FUSE este pur și simplu un shell end-to-end care transferă scrierea și citirea direct către/dinspre un director. Cu alte cuvinte, folosim sistemul de fișiere fals FUSE pentru a remonta un anumit director care se preface ca un card SD. Acest lucru este complet transparent pentru aplicațiile care nu știu că nu accesează direct discul.

Da. De fapt, prin definiție, folderul /sdcard funcționează sub FAT32 (sau, așa cum este numit în API, „folder medii externe informații") nu acceptă accesul restricționat, ceea ce este normal, deoarece acesta este un dump de fișiere comun, deschis tuturor, în care o aplicație poate călca în picioare fișierele alteia. A fost conceput inițial pentru lucruri precum muzică și fotografii, și nu pentru date private care „trăiesc” în stocarea personală a aplicațiilor, situată în memoria internă cu acces partajat.
Pe dispozitivele fără card SD, singurul sistem de fișiere fizic este stocarea datelor personale ale aplicației. Așa că selectăm un director, îl declarăm un dump de fișiere, îl montăm ca un sistem de fișiere FUSE separat, care ignoră permisiunile, așa cum sunt ignorate în FAT32.

Dan a explicat motivele tuturor acestor schimbări:

(...) Nu am făcut-o pentru că am vrut să trecem la ext3, deși am câștigat-o ca prin efect. Am făcut asta pentru că am vrut să combinăm spațiul de stocare partajat (cum ar fi muzică și fotografii) cu stocare internă pentru aplicații. Ne-am săturat să vedem că producătorii de telefoane includ gigaocteți de spațiu de stocare pentru muzică, dar utilizatorii încă rămân fără spațiu pentru aplicații și informații. Această abordare vă permite să combinați totul într-o singură secțiune, ceea ce este mult mai bine.

O altă persoană a întrebat de ce este imposibil să utilizați ambele abordări, deoarece slotul de memorie ocupă destul de mult spațiu. La care s-a spus puțin despre ideologia Android:

Din punct de vedere tehnic, nu există nicio problemă în hardware pentru a instala ambele. Problema este că nu o poți face o interfață ușor de utilizat.
Unul dintre principiile de bază ale Android este că utilizatorul nu are nevoie manager de fișiere. Nu. Am vrut să evităm sindromul când fiecare strănut face să apară un dialog de selectare a fișierelor, așa cum se întâmplă adesea în alte sisteme de operare. Informațiile interne cu care pot lucra aplicațiile ar trebui pur și simplu să fie disponibile „prin magie” sau stocate în cloud. Nu puteți forța utilizatorul să se angajeze în speologie în timp ce caută fișiere pe cardul SD.

Problema este că acceptând atât memoria internă, cât și un card SD extern, acest principiu devine brusc mult mai dificil de urmat. Pentru o anumită fotografie, camera ar trebui să o salveze pe 16 GB intern sau pe un card SD? Aplicații din Market – ar trebui să fie instalate pe memoria internă sau pe SD? Și așa mai departe. Da, putem rezolva acest lucru forțând utilizatorul să aleagă sau să seteze setările. Dar acesta este în cele din urmă acel dialog de selecție a fișierelor, sau ceva similar cu acesta, atât de mult încât nici nu ne place.

În plus, vor exista consecințe pentru API - dacă bagi într-un card SD cu fotografii, furnizorul de conținut media de sistem ar trebui să le indexeze?.. Dacă da, atunci aplicațiile vor avea de suferit, deoarece nu au fost concepute pentru a ține cont de faptul că fotografiile pot apărea și dispărea brusc.
La un moment dat, probabil vom adăuga conceptul de import/export din mediile conectate. Apoi, camera va salva întotdeauna fotografiile pe 16 GB intern, iar când introduceți un card SD (sau conectați Flash Drive USB), veți putea să începeți migrarea sau să obțineți o fereastră de import/export. Dar până atunci, majoritatea dispozitivelor vor avea fie un card SD, fie memorie internă mare, dar nu ambele. Înțeleg perfect că multor oameni le plac cardurile SD și mie îmi lipsește stocarea în masă USB, dar de aceea este atât de tare că avem atât de multe dispozitive din care să alegem :)
În general, desigur, aceasta este o încurcătură de probleme. Ne gândim deja la compromisuri pentru versiunile viitoare.

Sper că acest lucru v-a ajutat să clarificați puțin situația și a fost interesant să aruncăm o privire asupra funcționării interioare a dezvoltatorilor Android :)

Despre Modul USB Mass Storage, care a „dispărut” de pe Android Ice Cream Sandwich pe nimeni nu știe unde, este acum subiectul multor pasiuni pe internet. Toți au vorbit, atât cei care știu, dar rareori vorbesc, cât și cei care nu știu, dar au întotdeauna o părere. Pasiunile sunt atât de serioase încât a trebuit chiar să mă „întorc” de la pensionarea de blogging, să merg la LiveJournal și să scriu câteva rânduri.

Pentru a fi rapid și la obiect:
- Mod USB Mass Storage - acesta este modul pentru conectarea unui card SD la telefon, atunci când telefonul se transformă în cititor de carduri pentru cardul SD.
- Modul de stocare în masă USB necesită un card SD separat în telefon, înlocuibil sau încorporat. Adică depinde de configurația specifică a hardware-ului din telefon.
- De la Android 4.x ICS Suport USB Stocarea în masă este aici pentru a rămâne - trebuie doar să instalați ICS pe Nexus S și veți vedea că este acolo și funcționează excelent.
- USB Mass Storage nu este acceptat pe Galaxy Nexus, din nou din cauza configurației hardware a acestuia din urmă. Cineva a confundat pur și simplu hardware-ul cu software-ul, iar oamenii l-au luat.
- Pentru cei îngrijorați de telefoanele viitoare: nu vă faceți griji. Producătorii de telefoane sunt foarte conștienți de faptul că, în multe piețe, a avea un card SD într-un telefon este important pentru cumpărători, iar multe modele vor include suport pentru un card SD extern înlocuibil, adesea împreună cu un card SD „intern” încorporat.


Să începem de departe. Cu configurație de hard disk în timpul asamblarii computer de acasă toți tociștii s-au întâlnit. Cineva cumpără unul mare și îl împarte în mai multe partiții, cineva cumpără un SSD mic pentru a instala sistemul pe el și un SATA intern mare pentru stocarea fișierelor, cineva cumpără și el USB extern pentru stocarea/transferul de filme, fotografii și muzică. Trebuie să vă dați seama ce dimensiune de discuri să cumpărați, ce viteză, ce interfață de conectare, ce companie le-a făcut etc. Situație comună? Deci, producătorii de telefoane se confruntă cu o situație similară atunci când își proiectează și își produc următorul model.

Ce ar trebui să păstrați pe telefon? Da, aproape la fel:
1. Fișiere de sistem(OS)
2. Programe instalateși dosarele lor
3. Fișiere utilizator

Să presupunem că trebuie să te asiguri că tipuri diferite datele au fost stocate pe diferite unități: C, D și, respectiv, E. Vorbesc despre această defecțiune și avantajele ei. Permiteți-mi să vă reamintesc că o astfel de diviziune oferă o anumită „flexibilitate”, inclusiv pe desktop. De exemplu, trebuie să reinstalăm sistemul - formatăm C, dar datele noastre pe D și E rămân. Atunci vorbeam în principal despre C și D. Acum să vorbim despre E.

E este locul în care dvs. și programele dvs. stocați datele, mai ales dacă acele date ocupă mult spațiu. De obicei puneți acolo conținutul media (filme, muzică, fotografii), camera scrie acolo fotografii și videoclipuri noi, Navigatoare GPSîși încarcă cardurile gigabyte acolo etc. În Android, acesta este cardul tău SD. Din punct de vedere istoric, memoria flash „internă” pentru C și D era costisitoare și, dacă trebuia să stocați ceva mare, trebuia făcută pe un microSD extern ieftin, adică pe unitatea E. O bucurie suplimentară a fost că utilizatorul a putut să ajusteze dimensiunea „unității E”, precum și să folosească microSD pentru a face schimb de date cu alte dispozitive, scop în care a fost formatat sub sistemul de fișiere VFAT, pe înțelesul tuturor. Ceva de genul dacă ai avea unitatea E ca hard disk extern USB și l-ai conecta la un alt computer pentru a „descărca filme”.

Continuând analogia microSD cu un hard disk extern USB, să presupunem că procesul de conectare la un alt dispozitiv (computer, media player etc.) a necesitat deconectarea completă a acestuia de la smartphone. Nu puteți conecta un hard disk USB la două dispozitive simultan. Aici la pornirea USB Modul de stocare în masă Controlerul de citire/scriere a cardului SD a trecut complet la USB. Ca urmare, telefonul nu a mai avut acces la cardul SD, iar controlerul său a acționat ca un cititor USB. Ca și în cazul oricărui cititor, computerul a lucrat direct cu cardul SD. Adică, dacă ar fi formatat pentru un sistem de fișiere necunoscut pentru sistemul de operare care rulează pe computer, sistemul de operare ți-ar spune pur și simplu că integritatea cardului SD a fost compromisă și ar trebui să fie formatat. Așa lucrează orice cititor, el nu înțelege structura fișierului pe unitate, pur și simplu oferă acces la „blocuri” (clustere) de pe acesta, restul trebuie să fie „înțeles” de sistemul de operare.

Producătorii experimentează mult. În unele telefoane pun un C mic rapid, scump, un D mai puțin rapid, mai ieftin și mai mare, și lasă utilizatorul să aleagă E (Galaxy S), în unele C și D „trăiesc” pe același „hard disk fizic” , iar E încă trăiește pe microSD. Și în unele (tablete, Galaxy Nexus) - totul trăiește ca partiții logice pe un singur cip mare. Și se întâmplă că producătorii instalează un E logic intern și oferă utilizatorului posibilitatea de a introduce o unitate F - un microSD extern (Samsung Vibrant). Alegerea configurației este determinată de mulți factori. Factorii variază în funcție de companie. De exemplu, în dispozitivele de la Apple, totul va trăi pe un cip intern scump. Pentru alții, configurația va fi determinată în principal de prețul componentelor, de dorințele operatorilor și de piața de vânzare. Android (mulțumită utilizării nucleului Linux) acceptă cu ușurință orice configurație.

Acum să trecem la terminologia Linux, unde toate dispozitivele (discurile logice, unitățile de dischetă, CD-ROM-urile etc.) sunt directoare și să numim un spade un spade. C va deveni /system, D - /data, E - /sdcard. Pe tablete (apropo, de ce nu s-au făcut atunci toată agitația? Unde căutau criticii Android?) și pe Galaxy Nexus /sdcard este doar directorul /data/media, montat prin FUSE. (Oh, FUSE este un lucru minunat, despre asta altădată, pentru tocilari complet fără speranță). În limbajul normal, putem spune că /sdcard a devenit o legătură atât de complicată către /data/media. Adică, unitatea E a devenit o legătură către un director de pe unitatea D. Astfel, programe de utilizatorși conținutul media de utilizator împărtășește spațiu pe disc comun. Și nu se dovedește că a mai rămas mult spațiu pentru muzică, dar aveți nevoie de spațiu pentru următorul program, dar acum nu a mai rămas niciunul. Exact ca pe un iPhone.

De ce nu poate fi activat modul de stocare în masă USB pentru această configurație? Și anume pentru că este necesar să conectați întregul " unitate logică"imediat. Dar a ta nu este reală, deoarece este special făcută astfel încât să fie de dimensiune variabilă. Și pentru a te putea conecta, trebuie să știi ce bucată a cipului este alocată pentru unitatea logică dorită, adică , fixați-i dimensiunea, ceea ce nu doriți să faceți „De ce nu întregul cip atunci”, mă veți ierta, „conectați întregul cip și o să-l dau seama singur.” întregul cip și nu aveți doar /data și /system, dar este, de asemenea, destul de probabil că boot, recovery, bootloader un sistem complex din mai multe partiții (unități logice), dintre care câteva se află într-un loc pe care puțini oameni îl înțeleg Sistemul de fișiere ext4. Și dacă toată chestia asta este conectată la computer ca extern drive USB, orice computer vă va oferi să formatați această mizerie. Cred că nu este nevoie să explici ce se întâmplă atunci când unitatea C de pe computer se dovedește brusc a fi formatată.

Ca înlocuitor, ni se oferă MTP (Media Transfer Protocol), atunci când este utilizat, computerul dvs. vede telefonul ca pe un player MP3. Windows înțelege acest protocol Windows Media Player (și Windows însuși înțelege, începând cu Vista), permițându-vă să transferați conținut media din biblioteca dvs. media pe telefon (de la același Media Player). Soluția este mai puțin democratică decât USB Mass Storage, dar mai democratică decât iTunes. Decizia este controversată și nu va plăcea tuturor, dar să luăm în considerare următoarele:

Galaxy Nexus, deși este un dispozitiv emblematic pentru Android Ice Cream Sandwich, a fost creat pentru a demonstra nu toate capacitățile sistemului de operare, ci doar o parte dintre ele. Și în niciun caz capabilitățile sistemului de operare nu sunt limitate de capacitățile acestui telefon.

Dispozitivele Nexus sunt un fel de „loc de joacă” Google, o platformă pentru testarea de noi funcții și idei. Este probabil ca unii dintre ei să meargă undeva, iar alții nu. Dar ar trebui să le încerci oricum.

Dispozitivele Nexus nu sunt disponibile altor producători. Google nu impune restricții privind configurarea telefonului. Chiar dacă Android nu acceptă un anumit hardware, producătorul nu costă nimic să adauge ei înșiși suport - codul sursă este deschis și acest lucru a fost făcut de mai multe ori. Deci, chiar dacă suportul pentru stocarea în masă USB ar dispărea brusc din ICS la ordinul Google, ar fi adăugat rapid înapoi (nu este dificil, crede-mă).

Vor exista telefoane pe ICS cu card SD detașabil și stocare în masă USB. Pentru piețele în care conexiunile 3G sunt lente sau au o acoperire slabă (ex. India), a avea un card SD în telefon este unul dintre principalii factori de cumpărare. Și, credeți-mă, producătorii de telefoane știu foarte bine acest lucru. Și știu că acest lucru este solicitat nu numai în India.

Dacă ești un adevărat tocilar, vei găsi întotdeauna o modalitate de a transfera orice fișier (nu doar media) pe telefon. Sugestie: fișier push adb /sdcard/

P.S. Pentru îndrăgostiți teorii ale conspirației: Ce părere aveți despre ideea că Google a ales această configurație pentru a evita utilizarea VFAT (obligatoriu atunci când se folosește un card SD), temându-se de un proces de la Microsoft bazat pe un brevet vechi de 17 ani pentru utilizarea numelor lungi de fișiere în sistemul de fișiere FAT ?