Întreb dacă TRIM este activat pe iOS deoarece, de când am rămas fără memorie pe iPhone-ul meu (de atunci am șters câțiva GB înapoi), pare a fi mai lent decât înainte. Bănuiala mea este că, cu majoritatea „sectoarelor” de memorie flash acum parțial utilizate, fiecare operație de scriere durează mai mult …
Bazându-mă puternic pe memoria flash, mă întreb dacă iPhone implementează TRIM (sau orice funcție „asemănătoare”) pentru a maximiza performanța memoriei flash și mai ales dacă asta îmi va permite să depanez un telefon lent și / sau să știu dacă Aș dori să jailbreak dispozitivul pentru a activa TRIM sau pentru a controla altfel stocarea mai strâns decât este livrat iOS.
Comentarii
- I ' am eliminat a doua parte a întrebării dvs., deoarece acest lucru nu poate ' să se răspundă cu adevărat aici.
- Încă nu am ideea dacă iOS implementează (sau va implementa) suport TRIM în viitor, dar cel puțin pentru And roid – deși le-a luat ceva timp – ' vine cu noul suport pentru Android 4.3 TRIM . (Îmi imaginez că iOS nu va fi ' să nu rămână mult în urmă în acest sens, dacă nu ' este deja.)
- Văd două motive pentru a deschide acest lucru, dar nu ' știu ce întrebare aveți cu adevărat: 1) Da sau nu – există decupaje pe iOS în general 2) Cum pot diagnosticați un telefon lent, indiferent dacă are sau nu TRIM. Deoarece preferăm întrebări practice și care descurajează da / nu, voi ' voi edita acest lucru presupunând că într-adevăr doriți să știți # 2 – oricine este liber să editeze acest lucru din nou și putem revizui / închide din nou în cazul în care devine prea larg sau nefocalizat pe linie.
Răspuns
Din moment ce eu „sunt doar un curios generic care poate face unele cercetări pe web, voi face aici câteva ipoteze, astfel încât să putem fi pe aceleași motive:
- TRIM este o tehnologie SSD și, ca atare, poate însemna prea mulți lucruri diferite.
- iPhone utilizează MLC NAND memorie , care este într-adevăr un SSD .
- Noi, oameni, (cum ar fi dhy8386 și poate chiar Mr . Brian Klug ) love t o vorbește mare despre lucruri pe care nu le știm suficient de adânc. Pentru a afla mai multe, aveți mai puțină încredere.
- Apple nu dezvăluie în mare parte nimic semnificativ din punct de vedere tehnic cu privire la tehnologia lor. Și folosește multe tehnologii proprietare pe care nimeni nu le folosește.
- Chiar și astăzi, iPhone-ul va funcționa mult mai impecabil în condiții de stres profund (memorie umplută, multe aplicații etc.) decât orice Android sau Windows Phone. (da, le-am folosit pe toate și dețin în prezent un S3)
Dacă urmați fiecare legătură de mai sus suficient, vă puteți da seama că nu este atât de simplu. Chiar și suportul TRIM pentru Android nu este probabil același TRIM pe care îl folosește un notebook pe SSD-ul său.
Deci, nu contează dacă acceptă TRIM sau nu. Întregul punct de a merge cu un iPhone este să ai încredere în Apple și să-i lași să facă munca de hardcore tech. Și întregul punct al jailbreaking poate face lucruri pe care Apple nu le poate permite din niciun motiv, cum ar fi deblocarea operatorilor de transport. Orice altceva de pe JB face greșit (mai ales acum avem Android, chiar și pentru iPhone ) – și spun asta din experiența mea grea folosind jailbreak de la iPhone 3 la 4.
Acum, pentru a răspunde la întrebarea dvs. principală și neanunțată, cel mai bun lucru pe care îl puteți face pentru a testa dacă hardware-ul dvs. nu funcționează este să faceți backup iPhone-ului și resetați din fabrică . Apoi completați-l cu muzică sau imagini, deoarece bănuiți că un disc complet cauzează defecțiunea și evitați deloc instalarea aplicațiilor. Probabil că nu veți vedea nicio problemă și, dacă da, trimiteți la garanție. De asemenea, îl puteți trimite direct la garanție, dar riscați să revină și să pierdeți câteva zile acolo.
Comentarii
- Nu ' nu înțeleg de ce presupuneți că dispozitivul este un dispozitiv jailbreak. Persoana care a întrebat-o nu a indicat niciodată acest lucru și am ajuns la această întrebare, deoarece bănuiam că iPhone-ul meu ar putea avea chiar problema. IPhone-ul meu nu a fost niciodată închis … nici măcar o dată. În ceea ce privește diferența dintre SSD și RAM, nu ' nu văd cât de relevant este '. I / O joacă un rol critic în performanța sistemului.Dacă SSD-ul încetinește, atunci utilizatorul va vedea un impact vizibil asupra performanței.
- @ Avian00 deoarece, pe atunci, iPhone nu ' nu avea multitasking . Ar fi foarte dificil să încărcați memoria fără a avea jailbreak (pentru a permite multitasking). În ceea ce privește performanța, voi ' voi edita întrebarea pentru a adăuga câteva puncte și actualizări care au avut loc de atunci.
- @Cawas Întrebarea mea nu a avut nimic de-a face cu memoria RAM disponibilă sau multitasking, dar cu performanța subsistemului de stocare flash înainte / după ce acesta a fost complet complet. ' obțineți performanțe decente într-un caz, s-ar înrăutăți după ce îl umpleți și îl eliberați din nou. În Android, Google a adus asistență TRIM pe Nexus în ultima versiune 4.3 (le-a luat destul de mult! 🙂 Mă întreb dacă / când Apple face același lucru în iOS.
- @Cawas De ce naiba îl amesteci? cu RAM ??
- Interesant este că Android 4.3 a fost primul Android care a acceptat TRIM pe anumite dispozitive. Mă îndoiesc că iOS acceptă TRIM.
Răspuns
Nu este o întrebare la care se poate răspunde cu da sau nu deoarece depinde atât de tipul de iPhone (model), cât și de versiunea iOS, sunteți interesat.
În general, pot spune că TRIM nu este utilizat, pur și simplu pentru că TRIM este o comandă specifică găsită în protocolul SATA. Deoarece niciun iPhone nu folosește o interfață de stocare SATA, ei nu pot desigur să implementeze TRIM.
Discul de pe iPhone este de fapt un bliț NAND lipit direct pe PCB-ul telefonului. Aceasta înseamnă că acolo ” nu există conector SATA sau conector PCIe sau similar. Cu toate acestea, protocoalele electrice și logice reale utilizate pentru transferul de date diferă în funcție de model și de versiunile iOS.
Cipurile flash NAND funcționează diferit față de un hard disk de modă veche. Pentru ca nucleul și software-ul de aplicație de pe un iPhone să le trateze ca pe un spațiu liniar de „blocuri” sau „octeți” trebuie să se întâmple ceva.
Pe iOS 1 și 2, acest lucru a fost făcut printr-o traducere flash strat numit VFL. Pe iOS 3 și 4.0, Apple a trecut la utilizarea YaFTL și VSFL. Pe iOS 4.1 și versiuni ulterioare, s-au schimbat din nou în PPNFTL pentru acele telefoane care aveau hardware fizic cu PPN (bliț Perfect Page New NAND). Numai pe hardware-ul PPN există un controler real în blițul NAND. Cu toate acestea, cea mai mare parte a activității de traducere flash are loc de fapt în software.
În plus față de gestionarea conversiei între „realitățile flash” reale și vizualizarea logică „spațiul liniar al blocurilor”, FTL este, de asemenea, responsabil pentru făcând nivelarea uzurii. Funcționalitatea pe care o cunoașteți ca TRIM este de fapt adânc înrădăcinată în sistemul de nivelare a uzurii.
Răspunsul scurt este că utilizarea unei funcționalități „asemănătoare TRIM” depinde în mare măsură de modelul dvs. hardware real iPhone, versiunea iOS folosită și dacă Apple a decis sau nu să utilizeze funcționalitatea. Cu toate acestea, este clar că Apple a proiectat aspectele NAND și straturile de traducere flash pentru a susține de fapt o funcționalitate asemănătoare TRIM și au făcut acest lucru acum mulți ani. Deci, ar avea sens să fie folosit și el. Cu toate acestea, nu este documentat public dacă Apple folosește sau nu această funcționalitate TRIM în practică.
Puteți citi mai multe despre aspectele și straturile de traducere flash în iOS / iPhone aici:
http://esec-lab.sogeti.com/posts/2012/06/28/low-level-ios-forensics.html