SE534142C2 - Förfarande och system för lagring av data - Google Patents

Förfarande och system för lagring av data Download PDF

Info

Publication number
SE534142C2
SE534142C2 SE0950463A SE0950463A SE534142C2 SE 534142 C2 SE534142 C2 SE 534142C2 SE 0950463 A SE0950463 A SE 0950463A SE 0950463 A SE0950463 A SE 0950463A SE 534142 C2 SE534142 C2 SE 534142C2
Authority
SE
Sweden
Prior art keywords
data
ctrl
initial
virtual
ism
Prior art date
Application number
SE0950463A
Other languages
English (en)
Other versions
SE0950463A1 (sv
Inventor
Goeran Olsson
Leif Bystroem
Mats Maardberg
Original Assignee
Ikonoskop Ab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ikonoskop Ab filed Critical Ikonoskop Ab
Priority to SE0950463A priority Critical patent/SE534142C2/sv
Priority to EP10789824A priority patent/EP2443555A1/en
Priority to PCT/SE2010/050675 priority patent/WO2010147546A1/en
Priority to US13/377,837 priority patent/US8566557B2/en
Publication of SE0950463A1 publication Critical patent/SE0950463A1/sv
Publication of SE534142C2 publication Critical patent/SE534142C2/sv

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/188Virtual file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1847File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • G06F17/30233

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

534 142 2 Det är ett problem för ett databehandlingssystem med stora bandbreddskrav och realtidsbegränsningar på insamlingssidan och mindre strikta bandbreddskrav och realtidsbegränsningar men mycket striktare begränsningar vad avser standardiserade kommunikationsgränssnitt, standardiserat dataforrnat och standardiserad datafilsystemrepresentation på den sändande eller vidarebefordrande sidan, så som ett kamerasystem, att samla in och behandla data och sedan vidarebefordra data till ett mottagande datasystem pà ett smidigt och "plug-and-play"-kapabelt sätt.
Det är ett ännu svårare problem för nämnda datasystem att samla in och behandla data och sedan vidarebefordra data till ett mottagande datasystem på ett smidigt och "plug-and-play"-kapabelt sätt, när absolut maximal skurskrivprestanda ("burst writing performance") hos systemets initiala lagringsmedium krävs.
Det är ett problem att implementera ny formatkonverteringsmjukvara för varje okänt och icke standardiserat format som den för externa lagringsmedia utformade kontrollem måste stödja.
Det är ett problem att implementera en ny version av formatkonverteringsmjukvaran för varje unik kombination av för externt lagringsmedium utformad kontroller och operativsystem.
Det är ävenledes ett problem att alla versioner av formatkonverteringsmjukvaran måste modifieras om den för initialt lagringsmedium utformade kontrollern pà något sätt förändrar det initiala formatet för nämnda data som lagras pà det initiala mediet.
Lösning l syfte att lösa en eller flera av de ovan angivna problemen med utgångspunkt från det ovan angivna området för uppfinningen, och i syfte att uppnå den maximala skurskrivprestandan till ett initialt lagringsmedium (ISM), anvisar föreliggande uppfinning att en för initialt lagringsmedium utformad kontroller eller ISM-kontroller (ISM Ctrl) är optimerad för så snabb skrivning som möjligt, dvs med minimerade traditionella filsystemunderhàllsprocesser så som sektor- och blockrensning/defragmentering, avancerad “wear leveling" etc som kan uppehålla den högt prioriterade skrivprocessen och därmed reducera skurskrivprestandan. 10 20 25 30 534 142 3 Förfarandet och systemet enligt uppfinningen undviker de beskrivna problemen genom att låta en för virtuellt filsystem utformad kontroller (VFS Ctrl) dynamiskt buffra en virtuell representation av nämnda data i ett virtuellt filsystem (VFS) där VFS-formatet är allmänt känt av andra sorters lagringsmediumkontrollrar.
Meningen med ett VFS är att ett sådant filsystem inte är traditionellt implementerat i något fysiskt lagringsmedium så som det initiala lagringsmediet, filsystemet är implementerat internt i VFS-kontrollerns egen processmiljö och instansieras bara momentant vid behov i VFS-kontrollerns eget RAM-liknande minne när en begäran om åtkomst till nämnda data tas emot.
VFS-kontrollern presenterar nämnda data åt den för externt lagringsmedium utformade kontrollern på ett sådant sätt att det interpreteras såsom om nämnda data är lagrade ifiler pà ett filsystem som är allmänt känt av den för externt lagringsmedium utformade kontrollern.
Beroende på den extremt höga datahastigheten från bildsensom måste nämnda initiala data lagras sà snabbt som möjligt i använt lagringsmedium. Enligt en föreslagen utföringsform av föreliggande uppfinning är en datapipeline implementerad från den bilddetekterande enheten till det initiala lagringsmediet, och beroende på de höga datahastighetskraven är implementeringen inte gjord genom att använda traditionell CPU-mjukvara utan är istället implementerad i ett FPGA genom att använda källkod i ett hårdvarubeskrivande språk (HDL). Att samtidigt hantera komplexiteten hos ett filsystem och bildfiler på detta sätt är nästan omöjligt, speciellt när prestandan beaktas. Så huvudsakligen mäste nämnda data lagras sekventiellt allt eftersom de kommer. Dessa är inte låsbara med en vanlig dator utan kan göras tillgängliga via det virtuella filsystemet.
Om en flashminnesenhet används såsom ISM föreslås det att det virtuella filsystemet utgår från flashfilsystemet för flashminnesenheten.
För att undvika att ett enda minnesblock upprepande skrivs över och sålunda slits ut vid användning av en flashminnesenhet föreslås det att systemet utnyttjar en förenklad “wear leveling"-teknik: varje gång då flashminnet är fullständigt raderat beräknar ISM-kontrollern slumpvist en initial minnespekare som pekar på den initiala minnesblockadress där ISM-kontrollern kommer att börja skriva data. När den för dynamiskt minne utformade pekaren överstiger den sista mlnnesblockadressen med en minnesblockadressenhet kommer lSM-kontrollem 20 25 30 534 142 4 att återställa den för dynamiskt minne utformade pekaren till den första skrivbara fysiska minnesblockadressen och därifrån fortsätta att inkrementera den för dynamiskt minne utformade pekaren. Det sista skrivbara minnesblocket kommer då att vara den initiala minnesblockadressen dekrementerad med en minnesblockadressenhet. l syfte att hantera dåliga minnesblock föreslås det__att en algoritm för att detektera dåliga minnesblock används, att positionerna för identifierade dåliga minnesblock lagras, till exempel i en lista, och att när den för dynamiskt minne utformade pekaren kommer fram till en adress med ett dåligt minnesblock inkrementeras den för dynamiskt minne utformade pekaren med en minnesblockadressenhet utan att skriva några data i det identifierade dåliga minnesblocket.
Föreliggande uppfinning anvisar att komplexa implementeringar av själva filsystemarkitekturen skapas en gång för varje ny anslutning till ett externt datasystem och lagras i ett internt RAM-minne. att mer voluminösa och återkommande delar av filsystemet, så som fil-/bilddata, skapas "i flykten", och att egentliga bilddata hämtas vid behov från det initiala lagringsmediet.
Det föreslås också att antalet tagningar som lagras och antalet bildfålt för varje tagning används sàsom indata för att skapa det virtuella filsystemet i formatet av ett FAT32-filsystem eller -filsystemsskelett Den virtuella representationen av nämnda initiala data presenterar nämnda data i ett standardiserat format för digital fotografi. Ett sådant standardiserat format är DNG (Digital Negative). Detta speciella format kan enkelt implementeras eftersom det inte kräver någon ytterligare konvertering eller kompression av nämnda data. Det finns många andra standardiserade bildfilsformat så som JPEG (Joint Photographic Experts Group) och TlFF (Tagged Image File Format) och dessa format kan också användas, men dessa format skulle också kräva att VFS-kontrollern utför en konvertering av nämnda initiala data till bildfilsformatet eftersom nämnda initiala data ska presenteras för den för extemt lagringsmedium utformade kontrollern.
Den för virtuellt filsystem utformade kontrollern enligt uppfinningen kan implementeras på olika sätt. En föreslagen implementering är att det initiala datasystemet innefattar den för virtuellt filsystem utformade kontrollern, vilket sålunda gör det initiala datasystemet kompatibelt med godtyckligt externt 10 20 25 30 534 142 5 datasystem som kan komma åt det filforrnat som presenteras av den för virtuellt filsystem utfonnade kontrollern.
En annan möjlig implementering är att det externa datasystemet innefattar den för virtuellt filsystem utformade kontrollern. Detta skulle tillhandahålla ett enkelt och mindre dyrt kamerasystem men å andra sidan skulle det kräva en extra datorprogramkomponent i det externa datasystemet för att realisera den för virtuellt filsystem utformade kontrollern och komma åt nämnda initiala data i kamerasystemet.
Fördelar Fördelarna med ett förfarande och ett system enligt föreliggande uppfinning är att uppfinningen är tillämplig på alla former av datainsamlingsanordningar som har realtidsbegränsningar på insamlingssidan och mindre strikta realtidsbegränsningar under "avlastning". En annan fördel är att uppfinningen är tillämplig på alla former av datainsamlingsanordningar som har realtidsbegränsningar på insamlingssidan och striktare begränsningar vad avser standardiserade kommunikationsgränssnitt, standardiserat dataformat och standardiserad datafilsystemrepresentation under "avlastning". En annan fördel är att skaparen av datainsamlingsanordningar enligt uppfinningen inte behöver besvåra sig med ECS-sidans mjukvara, speciellt på drivrutinnivå.
Kort beskrivning av ritningama Ett förfarande och ett system enligt föreliggande uppfinning kommer nu att beskrivas närmare med hänvisning till åtföljande ritningar, på vilka: Figur 1 är en schematisk och förenklad illustration av ett förfarande och system enligt uppfinningen, Figur 2 är en schematisk och mycket förenklad illustration av ett initialt Iagringsmedium, Figur 3 är en schematisk illustration av en lista med dåliga minnesblock, och Figur 4 är en schematisk och förenklad illustration av en alternativ utföringsform av ett system enligt uppfinningen.
Beskrivning av utföringsformer såsom för närvarande föredras 10 20 25 30 534 142 6 Föreliggande uppfinning kommer nu att beskrivas med hänvisning till figur 1 som visar ett förfarande där traditionella filsystemunderhållsprocesser är eliminerade för att uppnå den maximala skurskrivprestandan till ett initialt lagringsmedium (ISM) 11 genom en för initialt Iagringsmedium utformad kontroller eller ISM-kontroller (ISM Ctrl) 12.
Data lagras konsekutivt i block, dvs konsekutiva data lagras alltid fysiskt i konsekutiva block eller sektorer. Det är inte tillåtet att dela konsekutiva data i icke konsekutiva block eller sektorer. En direkt innebörd är en begränsad dataraderingsfunktion, där radering av data måste följa en "sist-in-först-ut"-regeI, dvs alla data som lagras efter ett specifikt block eller sektor måste raderas innan detta specifika datablock kan raderas.
Figur 2 visar schematiskt ett initialt lagringsmedium 11 där det illustreras att nämnda data måste lagras i filer och sekvenser av filer, och att ISM-kontrollem 12 måste, momentant under realtidsskrivning, kunna lagra en filspecifik minnespekare 21 , 22, 2n, som representerar startadressen för varje lagrad fil och filsekvens Seq. 1, Seq. 2, Seq. n. ISM-kontrollem 12 kommer även att lagra och hantera en för dynamiskt minne utformad pekare 3 som pekar på nästa skrivbara adress i det initiala lagringsmediet 11. ISM-kontrollern 12 måste också kunna administrera alla minnespekare 21, 22, 2n, på ett sådant sätt att senare, i en situation utan realtidsrestriktioner, när åtkomst krävs till data som hör till en specifik fil och filsekvens, skulle ISM-kontrollern 12 kunna hitta och läsa denna specifika fil och filsekvensdata.
Föreliggande uppfinning anvisar sålunda att lagrade data görs åtkomliga genom en virtuell representation av nämnda data i ett virtuellt filsystem 4 med ett format som är känt av en för externt lagringsmedium utformad kontroller 51 så att nämnda data kan överföras till ett extemt lagringsmedium 52, och att den virtuella representationen är relaterad till de filspecifika pekarna 21, 22, 2n.
Det virtuella filsystemet 4 instansieras momentant vid behov när en begäran om åtkomst till nämnda data tas emot och det virtuella filsystemet 4 implementeras internt i processmiljön för en för virtuellt filsystem utformad kontroller 41.
Föreliggande uppfinning anvisar att den för virtuellt filsystem utformade kontrollern 41 presenterar nämnda data åt den för externt lagringsmedium utformade kontrollern 51 pà ett sådant sätt att det interpreteras såsom om nämnda 20 25 30 534 142 7 data är lagrade i filer pà ett filsystem som är allmänt känt av den för externt lagringsmedium utformade kontrollern 51.
En möjlig utföringsform visar att en datapipeline 13 används fràn den bilddetekterande enheten 14 hos systemet 1 till det initiala lagringsmediet 11, och att en fâltprogrammerbar grindmatris (FPGA) 15 används för att kontrollera lagringen av nämnda initiala data.
Olika minnesenheter kan användas såsom ett initialt lagringsmedium 11 och en möjlig minnesenhet är en flashminnesenhet, i vilket fall det virtuella filsystemet 4 utgår från flashfilsystemet för flashminnesenheten.
Vid användande av en flashminnesenhet föreslås det att varje gång flashminnesenheten raderas fullständigt, beräknas slumpvist en initial minnespekare som pekar på den initiala minnesblockadress där nya data kommer att börja skrivas. Då föreslås att när den för dynamiskt minne utformade pekaren 3 överstiger den sista minnesblockadressen i lagringsmediet 11 med en minnesblockadressenhet, återställs den för dynamiskt minne utformade pekaren 3 till den första skrivbara fysiska minnesblockadressen och att den för dynamiskt minne utformade pekaren 3 fortsätter att inkrementeras därifrån.
Det föreslås också att en algoritm för att detektera dåliga minnesblock används, att positionerna 61, 62, ..., 6n, för identifierade dåliga minnesblock lagras, till exempel i en lista 6, schematiskt visad i figur 3, och att när den för dynamiskt minne utformade pekaren 3 kommer fram till en adress 61, 62, 6n med ett dåligt minnesblock, inkrementeras den för dynamiskt minne utformade pekaren 3 med en minnesblockadressenhet utan att skriva nâgra data i det identifierade dåliga minnesblocket.
Komplexa implementeringar av själva filsystemarkitekturen skapas en gång för varje ny anslutning till ett externt datasystem och lagras i ett internt RAM- minne 7, medan mer voluminösa och återkommande delar av filsystemet, så som fil-lbilddata, skapas "i flykten", och egentliga bilddata hämtas vid behov från det initiala lagringsmediet 11 .
Antalet tagníngar som lagras och antalet bildfält för varje tagning används såsom indata för att skapa det virtuella filsystemet 4 och det föreslås att det virtuella filsystemet 4 skapas i formatet av ett FAT32-filsystem eller -filsystemsskelett. 20 25 30 534 142 8 Ett möjligt sätt att implementera föreliggande uppfinning är att en virtuell representation av nämnda initiala data presenterar nämnda data i ett standardiserat format för digital fotografi, så som formatet DNG (Digital Negative).
Med förnyad hänvisning till figur 1 kommer nu ett system A enligt uppfinningen att beskrivas, ett system A för att lagra initiala data med hjälp av ett initialt datasystem 1 som hör till ett kamerasystem och senare komma åt nämnda initiala data. Det initiala datasystemet 1 innefattar ett initialt lagringsmedium (ISM) 11 och en för initialt lagringsmedium utformad kontroller (ISM Ctrl) 12, vilken är anpassad för att lagra nämnda initiala data i det initiala lagringsmediet 11 konsekutlvt i block.
Såsom visas i figur 2 lagrar lSM-kontrollern 12 momentant filspecifika pekare 21, 22, 2n som representerar startadressen för varje lagrad filsekvens Seq. 1, Seq. 2, Seq. n, under realtidsskrivning av nämnda data till det initiala lagringsmediet 11. ISM-kontrollem 12 är även anpassad för att lagra och hantera en för dynamiskt minne utformad pekare 3 som pekar på nästa skrivbara adress i det initiala lagringsmediet 11, och ISM-kontrollern 12 är anpassad för att administrera alla minnespekare 21, 22, 2n på ett sådant sätt att, när åtkomst krävs till data som hör till en specifik filsekvens Seq. 1, Seq. 2, Seq. 3, ISM- kontrollern 12 kan hitta och läsa nämnda specifika fllsekvensdata.
En för virtuellt filsystem utformad kontroller eller VFS-kontroller (VFS Ctrl) 41 är anpassad för att dynamiskt buffra en virtuell representation av nämnda data i ett virtuellt filsystem (VFS) 4 med hjälp av de filspecifika pekarna 21, 22, 2n, där VFS-formatet är allmänt känt av en för externt lagringsmedium utformad kontroller eller ESM-kontroller (ESM Ctrl) 51 som hör till ett externt datasystem (ECS) 5.
VFS-kontrollern 41 är anpassad för att instansiera det virtuella filsystemet 4 momentant vid behov när en begäran om åtkomst till nämnda data tas emot från ESM-kontrollern 51, i vilket fall VFS-kontrollern 41 är anpassad för att implementera det virtuella filsystemet 4 internt i sin egna processmiljö.
VFS-kontrollern 41 är anpassad för att presentera nämnda data åt ESM- kontrollern 51 pá ett sådant sätt att det interpreteras såsom om nämnda data är lagrade i filer pà ett filsystem som är allmänt känt av ESM-kontrollern 51.
Det föreslås också att systemet A enligt uppfinningen innefattar en datapipeline 13 från den bilddetekterande enheten 14 hos systemet till det initiala 20 25 30 534 142 9 lagringsmediet 11, och att en fältprogrammerbar grindmatris (FPGA) 15 är anpassad för att kontrollera lagringen av nämnda initiala data.
Det initiala lagringsmediet 11 kan vara en flashminnesenhet, i vilket fall det virtuella filsystemet 4 utgàr från flashfilsystemel för flashminnesenheten. Det föreslås att ISM-kontrollern 12 är anpassad för att slumpvist beräkna en initial minnespekare, vilken pekar på den initiala minnesblockadress där nya data kommer att börja skrivas, varje gång flashminnesenheten raderas fullständigt.
Det föreslås också att ISM-kontrollern 12 är anpassad för att återställa den för dynamiskt minne utformade pekaren 3 till den första skrivbara fysiska minnesblockadressen när den för dynamiskt minne utformade pekaren 3 överstiger den sista minnesblockadressen i det initiala lagringsmediet 11 med en minnesblockadressenhet, och att ISM-kontrollern 12 är anpassad för att fortsätta att inkrementera den för dynamiskt minne utformade pekaren 3 därifrån.
I syfte att hantera dåliga minnesblock i det initiala lagringsmediet 11 föreslås det att lSM-kontrollern 12 är anpassad för att använda en algoritm för att detektera dåliga minnesblock, att ISM-kontrollern 12 är anpassad för att lagra positionerna 61, 62, 6n, för identifierade dåliga minnesblock, till exempel i en lista 6, schematiskt visad i figur 3, och att ISM-kontrollern 12 är anpassad för att inkrementera den för dynamiskt minne utformade pekaren 3 med en minnesblockadressenhet utan att skriva några data lett identifierat dåligt minnesblock när nämnda för dynamiskt minne utformade pekare kommer fram till en adress med ett dåligt minnesblock.
VFS-kontrollern 41 är anpassad för att skapa komplexa implementeringar av själva filsystemarkitekturen en gång för varje ny anslutning till ett externt datasystem (ECS) 5 och för att lagra den i ett internt RAM-minne 7. VFS- kontrollern 41 är även anpassad för att skapa mer voluminösa och återkommande delar av filsystemet, så som fil-lbilddata, "i flykten", och för att hämta egentliga bilddata från det initiala lagringsmediet 11 vid behov.
VFS-kontrollern kan vara anpassad för att använda antalet tagningar som lagras och antalet bildfält för varje tagning såsom indata för att skapa det virtuella filsystemet i formatet av ett FAT32-filsystem eller -filsystemsskeletL För att tillhandahålla ett välkänt format som kan hanteras av olika sorters externa datasystem 5 föreslås det att VFS-kontrollern 41 är anpassad för att skapa den virtuella representationen av nämnda initiala data så att den presenterar 10 20 534 142 10 nämnda data i ett standardiserat format för digital fotografi, så som formatet DNG (Digital Negative). l denna beskrivning visas det att det initiala datasystemet 1 innefattar VFS-kontrollern 41. Såsom visas i figur 4 ska det dock förstås att i ett system A' enligt uppfinningen är det även möjligt att det externa datasystemet 5' innefattar VFS-kontrollern 41 ', där det virtuella filsystemet 4' skapas i det externa datasystemet 5'.
Figur 1 visar föreliggande uppfinning på ett mycket förenklat sätt där det initiala datasystemet (ICS) 1 representeras av ett kamerasystem och det externa datorsystemet (ECS) 5 representeras såsom en värddator. Kamerasystemet detekterar att en värddator ansluts till USB-kontakten 8.
Kamerasystemet presenterar sig självt såsom en USB-massminnesenhet.
Värddatorn börjar därefter läsa grundinformation om den nyfunna minnesenheten genom att läsa sektorer från minnesenheten.
Kamerasystemet svarar med sektorer som motsvarar sektorer som vanligtvis finns i massminnesenheter såsom partitionstabeller, bootsektorer och så vidare.
När värddatorn frågar efter sektorer som är en del av filsystemet eller filhuvudena svarar kamerasystemet med de förberåknade sektorema eller sektorer skapade "i flykten". I denna utföringsform läser värddatom filsystemformatet såsom FAT32 och filformatet såsom DNG. Värddatorn kommer då att kunna bygga upp och representera de lagrade bildsekvenserna i ett filsystemformat (dvs FAT32) och filformat (dvs DNG, CinemaDNG) som värddatorn helt förstår.
När värddatorn frågar efter sektorer som innehåller egentliga bilddata hämtar kamerasystemet nämnda data frán det initiala lagringsmediet.
Det ska förstås att uppfinningen inte är begränsad till ovan beskrivna och illustrerade exemplifierande utföringsformer därav och att modifieringar kan göras inom ramen för konceptet enligt uppfinningen såsom det illustreras i tillhörande patentkrav.

Claims (25)

10 15 20 25 30 534 142 11 PATENTKRAV
1. Förfarande för att lagra initiala data från en bilddetekterande enhet i ett till ett kamerasystem hörande initialt lagringsmedium och senare komma åt nämnda data, där nämnda initiala data lagras konsekutivt i block, där filspecifika pekare som representerar startadressen för varje lagrad fil och filsekvens, och för dynamiskt minne utformade pekare som pekar på nästa skrivbara adress, hanteras och lagras under realtidsskrivning av nämnda data, kännetecknat därav att nämnda data görs åtkomliga genom en virtuell representation av nämnda data i ett virtuellt filsystem med ett format som är känt av en för externt lagringsmedium utformad kontroller, och att nämnda virtuella representation är relaterad till nämnda filspecifika pekare.
2. Förfarande enligt krav 1, kännetecknat därav att nämnda virtuella filsystem instansieras momentant vid behov när en begäran om åtkomst till nämnda data tas emot.
3. Förfarande enligt krav 2, kännetecknat därav att nämnda virtuella filsystem implementeras internt i processmiljön för en för virtuellt filsystem utformad kontroller.
4. Förfarande enligt krav 3, kännetecknat därav att nämnda för virtuellt filsystem utfonnade kontroller presenterar nämnda data åt den för externt lagringsmedium utformade kontrollern på ett sådant sätt att det interpreteras såsom om nämnda data är lagrade ifiler på ett filsystem som är allmänt känt av den för externt lagringsmedium utformade kontrollem.
5. Förfarande enligt något av föregående krav, i vilket nämnda initiala lagringsmedium är en flashminnesenhet, kännetecknat därav att nämnda virtuella filsystem utgår från flashfilsystemet för nämnda flashminnesenhet.
6. Förfarande enligt krav 5, kännetlecknat därav att varje gång nämnda flashminnesenhet raderas fullständigt, beräknas slumpvist en initial minnespekare som pekar på den initiala minnesblockadress där nya data kommer att börja skrivas. 10 15 20 25 30 534 142 12
7. Förfarande enligt krav 6, kännetecknat därav att då nämnda för dynamiskt minne utformade pekare överstiger den sista minnesblockadressen i nämnda lagringsmedium med en minnesblockadressenhet, återställs den för dynamiskt minne utformade pekaren till den första skrivbara fysiska minnesblockadressen och att nämnda för dynamiskt minne utformade pekare fortsätter att inkrementeras därifrån.
8. Förfarande enligt något av föregående krav, kännetecknat därav att en algoritm för att detektera dåliga minnesblock används, att positionerna för identifierade dåliga minnesblock lagras, till exempel i en lista, och att när nämnda för dynamiskt minne utformade pekare kommer fram till en adress med ett dåligt minnesblock. inkrementeras nämnda för dynamiskt minne utformade pekare med en minnesblockadressenhet utan att skriva några data i nämnda identifierade dåliga minnesblock.
9. Förfarande enligt något av kraven 2 till 8, kännetecknat därav att komplexa implementeringar av själva filsystemarkitekturen skapas en gång för varje ny anslutning till ett externt datasystem och lagras i ett internt RAM-minne, att mer voluminösa och återkommande delar av filsystemet, så som fil-lbilddata, skapas “i flykten", och att egentliga bilddata hämtas vid behov från lagringsmediet.
10. Förfarande enligt något av föregående krav, kännetlecknat därav att antalet tagningar som lagras och antalet bildfält för varje tagning används såsom indata för att skapa nämnda virtuella filsystem i formatet av ett FAT32-filsystem eller -filsystemsskelett.
11. Förfarande enligt något av föregående krav, kännetecknat därav att nämnda virtuella representation av nämnda initiala data presenterar nämnda data i ett standardiserat format för digital fotografi, så som formatet DNG, Digital Negative.
12. System för att lagra initiala data med hjälp av ett initialt datasystem som hör till ett kamerasystem och senare komma åt nämnda initiala data, varvid nämnda initiala datasystem innefattar ett initialt lagringsmedium, lSM, och en för initialt lagringsmedium utformad kontroller, lSM Ctrl, där nämnda lSM- Ctrl är anpassad för att lagra nämnda initiala data i nämnda lSM konsekutivt i block, där nämnda ISM Ctrl 10 15 20 25 30 534 142 13 momentant lagrar filspecifika pekare som representerar startadressen för varje lagrad filsekvens under realtidsskrivning av nämnda data till nämnda ISM, där nämnda ISM Ctrl är anpassad för att lagra och hantera en för dynamiskt minne utformad pekare som pekar på nästa skrivbara adress i nämnda ISM, och där nämnda ISM Ctrl är anpassad för att administrera alla minnespekare på ett sådant sätt att, när åtkomst krävs till data som hör till en specifik filsekvens, nämnda ISM Ctrl kan hitta och läsa nämnda specifika filsekvensdata, kännetecknat därav att en för virtuellt filsystem utformad kontroller, VFS Ctrl, är anpassad för att dynamiskt buffra en virtuell representation av nämnda data i ett virtuellt filsystem, VFS, med hjälp av nämnda filspecifika pekare, där VFS-formatet är allmänt känt av en för externt lagringsmedium utformad kontroller, ESM Ctrl, som hör till ett externt datasystem, ECS.
13. System enligt krav 12, kännetecknat därav att nämnda VFS Ctrl är anpassad för att instansiera nämnda virtuella filsystem momentant vid behov när en begäran om åtkomst till nämnda data tas emot från nämnda ESM Ctrl.
14. System enligt krav 13, kännetecknat därav att nämnda VFS Ctrl är anpassad för att implementera nämnda virtuella filsystem intemt i sin egna processmiljö.
15. System enligt krav 14, kännetecknat därav att nämnda VFS Ctrl är anpassad för att presentera nämnda data åt nämnda ESM Ctrl på ett sådant sätt att det interpreteras såsom om nämnda data är lagrade i filer på ett filsystem som är allmänt känt av nämnda ESM Ctrl.
16. System enligt något av kraven 12 till 15, kännetaecknat därav att nämnda system innefattar en datapipeline från nämnda bilddetekterande enhet till nämnda ISM, och en fältprogrammerbar grindmatris, FPGA, som är anpassad för att kontrollera lagringen av nämnda initiala data.
17. System enligt något av kraven 12 till 16, kännetecknat därav att nämnda ISM är en flashminnesenhet, och att nämnda virtuella filsystem utgår från flashfilsystemet för nämnda flashminnesenhet. 10 15 20 25 30 534 142 14
18. System enligt krav 17, kännetecknat därav att nämnda ISM Ctrl är anpassad för att slumpvist beräkna en initial minnespekare, vilken pekar på den initiala minnesblockadress där nya data kommer att börja skrivas, varje gång nämnda flashminnesenhet raderas fullständigt.
19. System enligt krav 18, kännetecknat därav att nämnda ISM Ctrl är anpassad för att återställa nämnda för dynamiskt minne utformade pekare till den första skrivbara fysiska minnesblockadressen när nämnda för dynamiskt minne utformade pekare överstiger den sista minnesblockadressen i nämnda ISM med en minnesblockad ressenhet, och att nämnda ISM Ctrl är anpassad för att fortsätta att inkrementera nämnda för dynamiskt minne utformade pekare därifrån.
20. System enligt något av kraven 12 till 19, kännetecknat därav att nämnda ISM Ctrl är anpassad för att använda en algoritm för att detektera dåliga minnesblock. att nämnda ISM Ctrl är anpassad för att lagra positionerna för identifierade dåliga minnesblock, till exempel i en lista, och att nämnda ISM Ctrl är anpassad för att inkrementera nämnda för dynamiskt minne utformade pekare med en minnesblockadressenhet utan att skriva nâgra data i ett identifierat dåligt minnesblock när nämnda för dynamiskt minne utformade pekare kommer fram till en adress med ett dåligt minnesblock.
21. System enligt något av kraven 13 till 20, kännetecknat därav att nämnda VFS Ctrl är anpassad för att skapa komplexa implementeringar av själva filsystemarkitekturen en gång för varje ny anslutning till ett externt datasystem, ECS, och lagra den i ett internt RAM-minne, att nämnda VFS Ctrl är anpassad för att skapa mer voluminösa och återkommande delar av filsystemet, så som fil-/bilddata, "i flykten", och att nämnda VFS Ctrl är anpassad för att hämta egentliga bilddata från det initiala lagringsmediet vid behov.
22. System enligt något av kraven 12 till 21, kännetecknat därav att nämnda VF S Ctrl är anpassad för att använda antalet tagningar som lagras och antalet bildfält för varje tagning såsom indata för att skapa nämnda VFS iformatet av ett FAT32- filsystem eller -filsystemsskelett. 10 15 534 142 15
23. System enligt något av kraven 12 till 22, kännetecknat därav att nämnda VFS Ctrl är anpassad för att skapa nämnda virtuella representation av nämnda initiala data så att den presenterar nämnda data i ett standardiserat format för digital fotografi, så som formatet DNG, Digital Negative.
24. System enligt något av kraven 12 tiil 23, kännetecknat därav att nämnda initiala datasystem innefattar nämnda för virtuellt filsystem utformade kontroller, VFS Ctrl.
25. System enligt något av kraven 12 till 23, kännetecknat därav att nämnda extema datasystem innefattar nämnda för virtuellt filsystem utformade kontroller, VFS Ctrl.
SE0950463A 2009-06-16 2009-06-16 Förfarande och system för lagring av data SE534142C2 (sv)

Priority Applications (4)

Application Number Priority Date Filing Date Title
SE0950463A SE534142C2 (sv) 2009-06-16 2009-06-16 Förfarande och system för lagring av data
EP10789824A EP2443555A1 (en) 2009-06-16 2010-06-16 Method and system for storage of data
PCT/SE2010/050675 WO2010147546A1 (en) 2009-06-16 2010-06-16 Method and system for storage of data
US13/377,837 US8566557B2 (en) 2009-06-16 2010-06-16 Method and system for storage of data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE0950463A SE534142C2 (sv) 2009-06-16 2009-06-16 Förfarande och system för lagring av data

Publications (2)

Publication Number Publication Date
SE0950463A1 SE0950463A1 (sv) 2010-12-17
SE534142C2 true SE534142C2 (sv) 2011-05-10

Family

ID=43356619

Family Applications (1)

Application Number Title Priority Date Filing Date
SE0950463A SE534142C2 (sv) 2009-06-16 2009-06-16 Förfarande och system för lagring av data

Country Status (4)

Country Link
US (1) US8566557B2 (sv)
EP (1) EP2443555A1 (sv)
SE (1) SE534142C2 (sv)
WO (1) WO2010147546A1 (sv)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8789146B2 (en) * 2011-04-14 2014-07-22 Yubico Inc. Dual interface device for access control and a method therefor
FR2983599A1 (fr) 2011-12-01 2013-06-07 Thomson Licensing Procede de stockage de donnees de contenu d'un recepteur de contenus dans un equipement de stockage portable, et dispositif de controle associe
WO2016192025A1 (en) 2015-06-01 2016-12-08 SZ DJI Technology Co., Ltd. Systems and methods for memory architecture
US11157422B2 (en) 2017-03-31 2021-10-26 Intel Corporation Shared memory for intelligent network interface cards
US10444722B2 (en) * 2017-09-29 2019-10-15 Intel Corporation Techniques to direct access requests to storage devices
CN109635588A (zh) * 2018-12-20 2019-04-16 天津天地伟业信息系统集成有限公司 一种基于Linux虚拟文件系统的文件保护方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04506720A (ja) 1990-03-23 1992-11-19 イーストマン・コダック・カンパニー ディジタル・データ処理システムのための仮想メモリ管理及び割付け装置
US6195734B1 (en) * 1997-07-02 2001-02-27 Micron Technology, Inc. System for implementing a graphic address remapping table as a virtual register file in system memory
US6266753B1 (en) 1997-07-10 2001-07-24 Cirrus Logic, Inc. Memory manager for multi-media apparatus and method therefor
US6996582B2 (en) 2002-10-03 2006-02-07 Hewlett-Packard Development Company, L.P. Virtual storage systems and virtual storage system operational methods
US7634494B2 (en) * 2005-05-03 2009-12-15 Intel Corporation Flash memory directory virtualization

Also Published As

Publication number Publication date
EP2443555A1 (en) 2012-04-25
SE0950463A1 (sv) 2010-12-17
WO2010147546A1 (en) 2010-12-23
US20120102266A1 (en) 2012-04-26
US8566557B2 (en) 2013-10-22

Similar Documents

Publication Publication Date Title
JP5284905B2 (ja) データ移行方法、及びプログラム
US7945734B2 (en) Removable storage device with code to allow change detection
US8838875B2 (en) Systems, methods and computer program products for operating a data processing system in which a file delete command is sent to an external storage device for invalidating data thereon
US9122630B2 (en) Memory system having high data transfer efficiency and host controller
US8209693B2 (en) System and method for processing series of processes in given order having processing status generation with tables storing status including beginning, end and existence segment
SE534142C2 (sv) Förfarande och system för lagring av data
US20120110239A1 (en) Causing Related Data to be Written Together to Non-Volatile, Solid State Memory
US9128615B2 (en) Storage systems that create snapshot queues
JP2010015610A (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
US20080320211A1 (en) Nonvolatile memory control device, nonvolatile memory control method, and storage device
JP5674634B2 (ja) コントローラ、記憶装置およびプログラム
US8880756B1 (en) Direct memory access controller
WO2003043254A2 (en) Transferring data using direct memory access
US20210103445A1 (en) Method and apparatus for preprocessing data transfer commands
US20180052632A1 (en) Storage system and storage control method
JP4895262B2 (ja) 情報処理装置、コントローラおよびファイル読み出し方法
EP2216712A2 (en) Information processing apparatus, information processing method, and program
JP5318076B2 (ja) 複数のアクセスコマンドを並行して実行するメモリ装置及び同装置におけるメモリアクセス方法
US20130297859A1 (en) Control device, storage device, and storage control method
CN104951254B (zh) 一种管理存储设备的方法及装置
JP5846016B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
CN109634874A (zh) 一种数据处理方法、装置、电子设备及存储系统
CN103942007A (zh) Raid控制器及其命令处理方法
JP3747213B1 (ja) シーケンシャルromインターフェース対応nand型フラッシュメモリーデバイス及びそのコントローラ
JP5908416B2 (ja) インターフェース制御装置、データ記憶装置及びインターフェース制御方法

Legal Events

Date Code Title Description
NUG Patent has lapsed