SE531837C2 - Förfarande och datorprogramprodukt - Google Patents

Förfarande och datorprogramprodukt

Info

Publication number
SE531837C2
SE531837C2 SE0702750A SE0702750A SE531837C2 SE 531837 C2 SE531837 C2 SE 531837C2 SE 0702750 A SE0702750 A SE 0702750A SE 0702750 A SE0702750 A SE 0702750A SE 531837 C2 SE531837 C2 SE 531837C2
Authority
SE
Sweden
Prior art keywords
stocking
block
stored
size
blocks
Prior art date
Application number
SE0702750A
Other languages
English (en)
Other versions
SE0702750L (sv
Inventor
Mikael SUNDSTROEM
Original Assignee
Oricane 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 Oricane Ab filed Critical Oricane Ab
Priority to SE0702750A priority Critical patent/SE531837C2/sv
Priority to PCT/SE2008/051392 priority patent/WO2009072970A1/en
Priority to EP08857080A priority patent/EP2218007A4/en
Priority to US12/746,087 priority patent/US8347054B2/en
Publication of SE0702750L publication Critical patent/SE0702750L/sv
Publication of SE531837C2 publication Critical patent/SE531837C2/sv

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

25 30 35 'F fi! tall ...m v30 lå-Sl 2 Metoden skulle kunna användas i en server.
Enligt en andra aspekt av föreliggande uppfinning tillhandahålls en dataprogrampro- dukt, med dataprogramkodsmedel för att få en dator att exekvera metoden ovan när pro- grammet körs på en dator.
Det uppfattas att datorprogramprodukten är anpassad för att utföra utföringsformer som hänför sig till det ovan beskrivna förfarandet, såsom är tydligt från den bifogade upp- sättningen av osjälvständiga systempatentkrav.
Sålunda är det koncept som ligger bakom föreliggande uppfinning att tillhandahålla en minneshanteringsalgoritm som innefattar så kallad stockpiling i en masslagringsanord- ning.
Uppfinningen är användbar för routing, forensiskt nätverksarbete, brandväggupp- gifter, qos-klassificering, trafikformning, intrångsdetektion, IPSEC, lVlPLS, etc, och såsom komponent i teknologier för att lösa vilken som helst av de problem som nämnts.
Ytterligare särdrag hos och fördelar med föreliggande uppfinning beskrivs av de bilagda osjälvståndiga patentkraven.
Kort beskrivning av ritningarna För att ytterligare förklara uppfinningen kommer nu utföringsformer som valts såsom exempel att beskrivas närmare med hänvisning till ritningarna, av vilka: Fig i illustrerar stockpiling.
Beskrivning av utföringsformer av uppfinningen Nu hänvisas till Fig 1 som illustrerar en utföringsform av föreliggande uppfinning inkluderande konceptet "stockpiling".
En masslagringsanordning innehåller filer med olika storlekar. l\/led storlek, avser vi hur många disk- eller minnesblock som krävs för att lagra filen och vi beaktar filer som använder samma grundtal block att vara av samma storlek. Två filer som kräver 5,1 och 6 block anses båda med andra ord att respektive ha storlek 6, 10 15 20 25 30 35 3 Vårt mål är att lagra alla filer konsekutivt på masslagringsanordningen så att läs- /skrivanordningen inte behöver "hoppa" mellan olika platser när en fil läses/skrivs. istället läser/skriver den bara "nästa" block upprepade gånger tills arbetet är klart. Såsom ett första steg, kommer vi dock att beskriva en metod där alla filer av samma storlek, utom en, lagras konsekutivt. Vi kommer därefter att beskriva hur man modifierar metoden så att alla filer lag- ras konsekutivt.
Därför kommer vi nu att anta att godtycklig fil kan lagras i två delar, men inte mer än två konsekutiva delar. l den följande beskrivningen kommer vi även att använda termen min- nesaccess att betyda läsning eller skrivning av ett block.
En så kallad "stockling" är ett hanterat minnesområde av s block (dvs b bitar block) som kan flyttas och lagras i två delar för att förhindra fragmentering. Vår ansats är att använda en stockling för att lagra varje datatil i masslagringsanordningen. Den associeras med information om sin storlek s, vare sig området är eller inte är delat i två delar och lokali- seringen och storleken för de respektive delarna. Dessutom måste varje stockling vara asso- cierad med adressen till pekaren till datastrukturen som lagras i stocklingen sä att den kan uppdateras när stocklingen flyttas. Slutligen är den associerad med en (eventuellt tom) pro- cedur för att koda lokaliseringen och storleken för den andra delen och storleken för den för- sta delen i det första blocket. Låt ns vara antalet stocklingar med storlek s. Dessa stocklingar lagras i, eller utgör faktiskt, en stockpile som är ett minnesområde av intilliggande sns-block.
En stockpile kan flyttas ett block till vänster genom att flytta ett block från den vänstra sidan av stockpiten till den högra sidan av stockpilen (informationen lagrad i blocket i blocket längst åt vänster flyttas till ett fritt block till höger om blocket längst åt höger). Att flytta en stockpile ett block till höger åstadkoms genom att flytta blocket längst ät höger till den vänstra sidan av stockpilen. Stocklingen längst át höger i en stockpile lagras eventuellt i två delar medan alla andra stocklingar är intilliggande. Om den lagras i två delar, lagras den vänstra delen av stocklingen i den högra änden av stockpilen och den högra änden av stocklingen vid den vänstra änden av stockpilen.
Antag att vi har c olika storlekar av stocklingar sl, s2, sc där si > si+1. Vi organl' serar minnet så att stockpilarna lagras i sorterad ordning genom att öka storlek i tillväxtrikt- ningen. Antag vidare, utan att förlora allmängiltigheten, att tillväxtriktningen är till höger. Allo- kerering och deallokeriingav en stockling med storlek si från stockpile i åstadkoms enligt följande: Allokera si. 10 15 20 25 30 35 4 Flytta upprepade gånger var och en av stockpilama 1, 2, i -1 ett block till höger tills alla stockpilar till höger om stockpile i har flyttats si block. Vi har nu ett fritt område av si block till höger om stockpile i. Om stocklingen längst åt höger av stockpile i lagras i ett stycke, återrför det fria området. Flytta annars den vänstra delen av stocklingen längst åt höger till änden av det fria området (utan att ändra ordningen mellan blocken). Återrför sedan området med de intilliggande si-blocken och som börjar där stocklingen längst åt höger bör- jade innan dess del längst åt vänster flyttades.
Deallokera si.
Lokalisera stocklingen längst åt höger som lagras i ett stycke (det är antingen stock- lingen längst åt höger själv eller stocklingen till vänster om stocklingen längst åt höger) och flytta den till lokaliseringen för stocklingen som ska deallokeras. Reversera sedan alloke- ringsproceduren. l Fig 1 illustrerar vi stockpilingstekniken i sammanhanget av att infoga och radera strukturer med storlek 2 och 3 i ett hanterat mlnnesområde med stocklingsstorlekar 2, 3 och 5. Varje struktur består av ett antal block och dessa illustreras av kvadrater med en grå nyans och en symbol. Nyansen används för att skilja mellan block inuti en struktur och sym- bolen används för att skilja mellan block från olika strukturer. Vi börjar med en 5-struktur och sedan i (a) infogar vi en 2-struktur efter att allokerat en 2-stockling. Observera att 5-struktu- ren lagras i två delar där den vänstra delen börjar vid det 6:e blocket och den högra delen vid det 3:e blocket. l (b) allokerar och infogar vi 3 block och till följd av detta återrförs 5-struktu- ren till ett stycke. En enkel radering av 2-strukturen utförs i (c), vilket leder till att båda åter- stående strukturerna lagras i två delar. Slutligen infogas i (d) en ny 3-struktur. Detta kräver att vi först flyttar 5-strukturen 3 block till höger. Sedan flyttas den vänstra delen (enbart det vita blocket i detta fall) av den gamla 3-strukturen till bredvid 5-strukturen och slutligen kan den nya 3-strukturen infogas. Kostnaden för att allokera en si-stockling och infoga en mot- svarande struktur beräknas enligt följande. Först måste vi spendera (i - 1) si minnesaccesser för att flytta de andra stockpilarna för att skapa det fria utrymmet vid änden av stockpilen. Vi har då två fall: (i) Infoga datastrukturen direkt in i det fria området. Kostnaden för detta är noll minnesaccesser eftersom vi redan fått tillgång till det fria området när stockpilama flyttades (infogning kan göras samtidigt medan stockpilarna flyttas). (ii) Vi behöver flytta delen längst åt vänster av stocklingen längst åt höger. Dock ockuperar den ett område som kommer att skrivas över när datastrukturen infogas. Därför får vi en ytterligare si minnesaccesser för att infoga datastrukturen. För deallokering får vi en ytterligare kostnad för si minnesaccesser eftersom vi kan behöva skriva över den raderade stocklingen någonstans i mitten av stock- pilen. Vi behöver även redovisa för kostnaden för att uppdatera pekarna till datastrukturerna 10 15 20 25 30 35 5 som flyttas. Eftersom stockpilarna är organiserade med ökande storlek, behöver högst en pekare uppdateras för varje flyttad stockpile plus två extra pekaruppdateringar i den aktuella stockpilen. Därav följer att kostnaden för att infoga en si block datastruktur när stockpile min- neshantering används är isi + (i - 1) + 2 = isi + i + 1 minnesaccesser och kostnaden för radering är (i + 1)-si+(i - 1)+2 = (i + 1)~si+i+1 minnesaccesser.
Enligt en annan utföringsform av föreliggande uppfinning kan stockpiling användas även om det inte är möjligt att lagra datastrukturer i två delar. i varje stockpile har vi en dummystockling och säkerställer att det alltid är dummystocklingarna som lagras i två delar efter omorganisation.
Genom att använda stockpiling kan vi begränsa kostnaden för att infoga och radera en ai-blockstrukturtill högst iai + i + 1 minnesaccesser respektive (i + 1)-ai + i + 1 minnesac- cesser, där a1 > a2 > > ak är de olika allokeringsenheterna som är tillgängliga. Beakta, såsom ett exempel, ett fall där den maximala allokeringsenheten (datafilstorleken) är s (7, 128) = 364 block och antagande att vi kräver maximal kompression, mäste vi använda 364 olika allokeringsenheter. Till följd av detta, ai = 364 - (i - 1) och kostnad i det värsta fallet för att infoga en a182 = 364 - (182 - 1) = 183 -blockstruktur är 33489 minnesaccesser. För att reducera minneshanteringsomkostnadema mäste vi reducera antalet allokeringsenheter.
Detta àstadkoms genom att minska kompressionskvoten. När vertikal segmentering används, slösarvi 128 bitar i varje blad i den övre delen för att lagra pekare och viss ytterli- gare information som krävs när stockpiling används. Genom att använda dessa bitar kan vi även lagra variablerna k, r, och I som krävs för att köra underhållet av varje blockträd i den undre delen på stället. Den totala kostnaden för detta är 162-128 = 20736 bitar vilket amorte- ras över 91935 intervall, vilket ger en försumbar omkostnad per intervall. Därmed är den maximala relativa storleken ungefär 144 bitar per intervall även med vertikal segmentering.
Antag att vi ökar lagring med en faktor C, för någon konstant C > 1. Vi kan sedan allokera (och använda) 364 block även om vi bara behöver A block, under förutsättning att AC 2 364.
Vidare kan vi hoppa över alla allokeringsenheter mellan A-1 och 364. Genom att tillämpa detta upprepade gånger, erhåller vi en reducerad uppsättning av allokeringsenheter där ai = ceil(a1/C^(i-1)). För att ytterligare demonstrera detta, väljer vi C = 2, vilket motsvarar en 100 % storleksökning, och utför en grundlig värsta fall-analys av uppdateringskostnaden. Det första steget är att beräkna uppsättningen av allokeringsenheter och infognings- och rade- ringskostnaden för att varje allokeringsenhet (se Tabell 9). Före undersökning av värsta falls uppdateringskostnad, observerar vi att 364 + 730 = 1094 minnesaccesser är en undre gräns på uppdateringskostnaden som är oberoende av C. Detta är en följd av att helt enkelt rekon- 10 15 20 25 30 83? 6 struera en 364-blockstruktur utan att involvera minneshanteraren och samtidigt deallokera den andra 364-blockstrukturen till en kostnad för 730 minnesaccesser. För vårt speciella val av C, måste ytterligare 367 minnesaccesser för att allokera en 182-blockstruktur adderas till den undre gränsen, vilket leder till en verklig undre gräns av 1461 minnesaccesser. I värsta fallet krävs en infogning av en allokeringsenhet och en radering av en annan för båda block- träden. Dock är inte alla kombinationer av infognings- och raderingskostnader möjliga. Den första observationen är att radering av en allokeringsenhet följs av infogning av den nästa mindre eller den nästa större allokeringsenheten. Vi kan även välja bort kombinationerna där storleken på den raderade allokeringsenheten från ett blockträd är samma som den infogade allokeringsenheten från det andra blockträdet eftersom detta eliminerar en deallokerings- kostnad. Genom att jämföra kostnader för de återstående kombinationerna i tabellen ovan, konstaterar vi att värsta fallet inträffar vid radering av ett 364-block- och en 91-blockstruktur och infogning av två 182-blockstrukturer vilket leder till en total kostnad för 730 + 368 + 2-367 = 1832 minnesaccesser. Genom att addera den enkla minnesaccessen som krävs för att uppdatera den övre delen ger en total värsta fallets inkrementell uppdateringskostnad av 1833 minnesaccesser för en 100 % storleksökning. För att tillhandahålla en bättre förståelse av eventuella kompromisser mellan kompressionskvot och garanterade uppdateringskostna- der har vi utfört dessa databeräkningar för olika värden av C och resultatet presenteras i Tabell 10. Dessa siffror ska jämföras med 134322 minnesaccesser som är den uppdate- ringskostnad som erhålls för C = 1. Notera även att för C .>. 3,31, är värsta fallets uppdate- ringskostnad lika med den generella undre gränsen som beräknades ovan plus kostnaden för att allokera en a2-blockstruktur.
Tabell 9: lnfognings- och raderingskostnader för de olika allokeringsenheterna erhållna för C = 2.
Tabell 10: Förhållande mellan lagrings- och uppdateringskostnader.
Föreliggande uppfinning har beskrivits genom givna exempel och utföringsformer som inte är avsedda att begränsa uppfinningen till dessa. Fackmannen inser att bifogade uppsättning av patentkrav framställer andra fördelaktiga utföringsformer.

Claims (6)

10 15 20 25 30 35 m E: *i mßl :n n: »ti Patentkrav
1. Metod för minneshantering i en masslagringsanordning, varvid nämnda metod innefattar stegen: - att tillhandahålla ett hanterat minnesområde av s block som kan flyttas och lagras i två delar för att förhindra fragmentering, där det hanterade minnesområdet (stocklingen) associeras med information om sin storlek s, vare sig området är eller inte är delat i två delar och lokaliseringen och storleken för de respektive delarna; - att associera varje stockling med adressen till pekaren till datastrukturen som lag- ras i stockiingen så den kan uppdateras när stocklingen flyttas; - att associera stocklingen med en, eventuellt tom, procedur för att koda lokalise- ringen och storleken för den andra delen och storleken för den första delen i det första blocket, där ns är antalet stocklingar med storlek s; - att lagra stocklingama i en stockpile som är ett minnesområde av intilliggande sns- block, vilken stockpile kan flyttas ett block till vänster genom att flytta ett block fràn den vänstra sidan av stockpilen till den högra sidan av stockpilen (informationen som lagras i blocket i blocket längst åt vänster flyttas till ett fritt block till höger om blocket längst åt höger). - att organisera minnet så att stockpilarna lagras i sorterad ordning genom att öka storlek i tillväxtriktningen, dessutom innefattande stegen: - att upprepade gånger flytta var och en av stockpilarna 1, 2, , i -1 ett block till höger tills alla stockpllar till höger om stockpile i har flyttats si block, eller den vänstra delen av stocklingen längst åt höger till änden av det fria området (utan att ändra ordningen mellan blocken); att återställa området med de intilliggande si-blocken med början där stocklingen längst åt höger började innan dess del längst åt vänster flyttades; - att lokalisera stocklingen längst åt höger som lagras i ett stycke (det är antingen stocklingen längst åt höger själv eller stocklingen till vänster om stocklingen längst àt höger) och att flytta den till lokaliseringen för stocklingen som ska deallokeras, och reversera alloke- ringsproceduren.
2. Metod enligt krav 1, i vilken steget att minska kompressionskvot är innefattad.
3. Metod enligt krav 1 eller 2, i vilken en dummystockling är tillhandahållen och lag- ras i två delar efter omorganisation.
4. Metod enligt något av kraven 1~3, i vilken metoden används i en server. 8
5. Datorprogramsprodukt som gàr att ladda in direkt i internmlnnet hos en digitalda- tor, kännetecknad därav att nämnda produkt innefattar mjukvarukodsmedel för att utföra steget enligt krav 1.
6. Datorprogramsprodukt innefattande ett datorläsbart medium, kännetecknad därav att pà nämnda medium finns det lagrat datorprogramkodsmedel, när det är laddat len dator, för att förmå datorn att utföra stegen enligt krav 1.
SE0702750A 2007-12-05 2007-12-05 Förfarande och datorprogramprodukt SE531837C2 (sv)

Priority Applications (4)

Application Number Priority Date Filing Date Title
SE0702750A SE531837C2 (sv) 2007-12-05 2007-12-05 Förfarande och datorprogramprodukt
PCT/SE2008/051392 WO2009072970A1 (en) 2007-12-05 2008-12-02 Method and computer program product for memory management in a mass storage device
EP08857080A EP2218007A4 (en) 2007-12-05 2008-12-02 METHOD AND COMPUTER PROGRAM PRODUCT FOR MEMORY MANAGEMENT IN AN AUXILIARY MEMORY DEVICE
US12/746,087 US8347054B2 (en) 2007-12-05 2008-12-02 Method and computer program product for memory management in a mass storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE0702750A SE531837C2 (sv) 2007-12-05 2007-12-05 Förfarande och datorprogramprodukt

Publications (2)

Publication Number Publication Date
SE0702750L SE0702750L (sv) 2009-06-06
SE531837C2 true SE531837C2 (sv) 2009-08-25

Family

ID=40717969

Family Applications (1)

Application Number Title Priority Date Filing Date
SE0702750A SE531837C2 (sv) 2007-12-05 2007-12-05 Förfarande och datorprogramprodukt

Country Status (4)

Country Link
US (1) US8347054B2 (sv)
EP (1) EP2218007A4 (sv)
SE (1) SE531837C2 (sv)
WO (1) WO2009072970A1 (sv)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5577243A (en) * 1994-03-31 1996-11-19 Lexmark International, Inc. Reallocation of returned memory blocks sorted in predetermined sizes and addressed by pointer addresses in a free memory list
US6070172A (en) * 1997-03-06 2000-05-30 Oracle Corporation On-line free space defragmentation of a contiguous-file file system
US5956745A (en) * 1997-04-23 1999-09-21 Novell, Inc. System and method for automatically resizing a disk drive volume
US6757801B1 (en) 2000-10-26 2004-06-29 International Business Machines Corporation Method to modify that an operation needs to be done on a file system
FR2818771A1 (fr) * 2000-12-21 2002-06-28 Bull Cp8 Procede d'allocation dynamique de memoire par blocs de memoire elementaires a une structure de donnees, et systeme embarque correspondant
FR2818770A1 (fr) 2000-12-21 2002-06-28 Bull Cp8 Procede de gestion optimisee de l'allocation de memoire d'un systeme embarque et systeme embarque correspondant
KR20030061948A (ko) 2002-01-14 2003-07-23 엘지전자 주식회사 정보 저장 장치 및 그를 이용한 파일 관리 방법
US7272698B2 (en) * 2003-03-19 2007-09-18 Autodesk, Inc. Heap memory management
US8078636B2 (en) * 2005-08-24 2011-12-13 Temporal Dynamics, Inc. Database heap management system with variable page size and fixed instruction set address resolution
US7827373B2 (en) * 2005-10-31 2010-11-02 Honeywell International Inc. System and method for managing a short-term heap memory
WO2007081638A2 (en) * 2005-12-21 2007-07-19 Sandisk Corporation Non-volatile memories and methods with adaptive file handling in a directly mapped file storage system
FR2899353B1 (fr) * 2006-03-31 2008-06-27 Infovista Sa Sa Systeme de gestion memoire pour la reduction de la fragmentation memoire

Also Published As

Publication number Publication date
US8347054B2 (en) 2013-01-01
EP2218007A4 (en) 2012-10-10
EP2218007A1 (en) 2010-08-18
US20100257330A1 (en) 2010-10-07
WO2009072970A1 (en) 2009-06-11
SE0702750L (sv) 2009-06-06

Similar Documents

Publication Publication Date Title
JP5043820B2 (ja) 低冗長記憶システムで索引を行う方法
US7523288B2 (en) Dynamic fragment mapping
US8271456B2 (en) Efficient backup data retrieval
US8612488B1 (en) Efficient method for relocating shared memory
US8001134B2 (en) Method for performing an external (disk-based) sort of a large data file which takes advantage of “presorted” data already present in the input
CN103019707A (zh) 调用栈的解析处理方法及装置
CN104133641A (zh) 一种外部存储设备文件清除方法以及装置
JPH1131096A (ja) データ格納検索方式
CN106980680B (zh) 数据存储方法及存储设备
JP5821744B2 (ja) データ有無判定装置、データ有無判定方法及びデータ有無判定プログラム
JP6089890B2 (ja) ストレージ制御装置、ストレージ制御装置の制御方法およびストレージ制御装置の制御プログラム
CN108829342A (zh) 一种日志存储方法、系统及存储装置
US20030177151A1 (en) Method for managing directories of large-scale file system
US7484068B2 (en) Storage space management methods and systems
KR100954603B1 (ko) 파일 시스템의 로그 파일 및 상기 파일 시스템의 오류 복구방법
SE531837C2 (sv) Förfarande och datorprogramprodukt
CN110837478A (zh) 文件管理方法、存储介质和电子设备
US9842061B2 (en) Implementing advanced caching
SE532996C2 (sv) Metod, anordning och datorprogramsprodukt för att representera den del av n-bitars intervall hörande till d-bitars data i ett datakommunikationsnät
CN113254273A (zh) 一种实时恢复主元数据的方法、系统、设备及介质
JP2000181768A (ja) デ―タ格納検索方式
KR100746035B1 (ko) 리니어 파일 시스템을 이용한 리소스 관리를 제공하는 장치및 방법
KR100876148B1 (ko) 플래시 메모리 관리장치 및 방법
CN115185857A (zh) 一种嵌入式flash数据存储管理方法、系统及存储介质
CN113779014A (zh) 一种数据存储方法、装置、设备和存储介质