Bir Katı Hal Diski'ne veri yazıldığında ne olur, burada çok karmaşık ve temel teknolojiye bağlı olduğu için birkaç makaleye layıktır ( burada iyi özet ). Kısa öykü, SSD'lerin genel olarak belleğe sıfır bit yazamamasıdır. Bunun yerine, hafızanın bütün bir bölümünü sıfırlamak (silmek) ve daha sonra bunları sadece bunları yazarak depolayabilirler. Tipik olarak bu günlerde 512 baytlık bloklar yazıyorlar , ancak 4096 olan 8 blokluk bir sayfayı siliyorlar. Bu ve her yazma / silme döngüsünün belleğin bir miktar fiziksel aşınmasına neden olması ve bellek sonunda yıpranması, SSD'leri çok farklı kılıyor manyetik sabit diskleri çevirmekten daha iyidir.
Bunu bir kenara bırakırsak, SATA sürücüleri (ve AFAIK SAS sürücüleri) bir sektörden diğerine veri kopyalamak için yerel bir komut uygulamaz. (Ya da en azından SATA veya SAS spesifikasyonundaki hiçbir şey onları gerektirmez, bu yüzden işletim sistemi böyle bir komutun mevcut olduğuna güvenemez.) Bu nedenle bir bölümdeki bir dosya kopyası, bir sürücü sektöründen ana belleğe veri okumayı ve sonra yazmayı içerir farklı bir sektördeki güce geri dönüyor.
Bunun nedeni, işletim sistemi ile ilgili olarak, bir sürücünün bir dizi numaralı mantıksal sektör olmasıdır ve yapabileceği tek şey sektörlerden okumak ve sektörlere yazmaktır. İşletim sistemi, diskleri yeniden eşleme dürtüsünü söyleyemez.
Ayrıca, dosya sistemi (HFS +, NTFS, ext3, vb.), Bir dizi mantıksal blokta düzen getiren bir veri yapıları kümesidir. Bu veri yapıları "dosyalar", "dosya adları", "dizinler", "izinler" vb. Uygular. Bu nedenle, evet, bir dosyayı bir dizinden diğerine taşıdığınızda kopyalanmaz; yalnızca dosyanın hangi dizinde bulunduğunu gösteren dosya sistemi verileri güncellenir.
Bir kavramı bölümü tek dosya sistemi tarafından talep edilen sürücüde mantıksal sektörlere bir dizi olmasıdır. Bunun sonucu, bir dosya sisteminin bölümünün dışındaki sektörlere erişemeyebilmesidir. Büyük ölçüde bu bir güvenlik özelliğidir, ancak aynı zamanda dosya sisteminin veri yapılarının, dosya sisteminin sahibi altındaki sürücünün her sektörü için hesap oluşturması ve sektör eklemesi veya kaldırması önemsiz değildir. bu yapılara. Bu nedenle, bir bölümün boyutunu ayarlamak için özel yordamlar çalıştırmanız ve ayrıca dosya sistemlerinin bitişik bir sektör kümesinde çalışmak için ısrar etmeleri gerekir.
Bu nedenle sektörleri bir dosya sisteminden diğerine aktarırken bir dosya kopyası uygulamak pratik değildir ve tehlikelidir. Dönen bir manyetik sürücüde, aynı zamanda bir performans kabusu da olacaktır, çünkü sürücü kötü sektörler için istisnalar yapsa da, genel olarak sektörlerin art arda numaralandırılmış okuma ve yazma hızını optimize edecek şekilde fiziksel olarak yerleştirilmesini düzenler. sektörler.
Buna ek olarak, 2 dosya sistemi dosya verilerini diskte aynı şekilde depolayamayabilir, yani takas sektörleri pratik olsa bile çalışmayacaktır. NTFS ile aynı dosya sistemi türleri olsalar bile, biri şifreleme veya sıkıştırma kullanıyor olabilir, diğeri veriyi şifrelemiyor olabilir veya her ikisi de verileri şifreliyor olabilir, ancak farklı anahtarlarla. Dosyadaki verilerin tam olarak diskte depolanan bir gereklilik olması gerekmez, depolanması gereken tek şey verilerin geri dönüşümlü bir dönüşümüdür, böylece dosya sistemi bir şey yaparak dosyanın verilerini alabilir diskteki veriler. Dolayısıyla, her iki dosya sistemi de tam olarak aynı dönüşümü kullanmadığı sürece, sektörleri değiştirmek sadece dosya verilerini aktarma hedefini gerçekleştiremez.
Tüm bu nedenlerden dolayı, OS yazarları ve dosya sistemi yazarları için SSD'ler için bölümler arası hareketleri optimize eden bir özellik uygulamak çok az kazanç için çok fazla iştir. Yani herhangi bir çapraz bölüm hareketi bir okuma ve bir yazma olacaktır.
SSD'nin içinde biraz farklı bir hikaye. İşletim sistemi sürücüye veriyi bir yerden başka bir yere kopyaladığını söylemese de, SSD'lere yazma işlemleri o kadar pahalıdır (ve karmaşıktır) ve SSD denetleyicileri yazma işlemlerini en aza indirmek için çok iş yapar. Bazı SSD'ler, depolamaya yazılan bir sektörün zaten depolanmış bir sektörle ne zaman eşleştiğini tespit etmeye çalışacak ve bu fiziksel bellek parçasını kopyalamak yerine 2 farklı mantıksal sektörle eşleştiriyor gibi işaretliyor, dahili sürücü seviyesinde İşletim sistemi yapılamadı.
Ama buna güvenmeyin.
mv
işbirliği yapmak zorunda kalacak ve soyutlama katmanlarını büyük ölçüde karıştıracaktır.