FI120422B - Menetelmä ja laitteita muutoslokin kompressoimiseksi käyttäen flash-transaktioita - Google Patents

Menetelmä ja laitteita muutoslokin kompressoimiseksi käyttäen flash-transaktioita Download PDF

Info

Publication number
FI120422B
FI120422B FI20070520A FI20070520A FI120422B FI 120422 B FI120422 B FI 120422B FI 20070520 A FI20070520 A FI 20070520A FI 20070520 A FI20070520 A FI 20070520A FI 120422 B FI120422 B FI 120422B
Authority
FI
Finland
Prior art keywords
flash
buffer
flash memory
compression result
volatile
Prior art date
Application number
FI20070520A
Other languages
English (en)
Swedish (sv)
Other versions
FI20070520A0 (fi
FI20070520A (fi
Inventor
Matti Hallivuori
Original Assignee
Tellabs Oy
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 Tellabs Oy filed Critical Tellabs Oy
Priority to FI20070520A priority Critical patent/FI120422B/fi
Publication of FI20070520A0 publication Critical patent/FI20070520A0/fi
Priority to EP08159167A priority patent/EP2012465B1/en
Priority to DE602008000571T priority patent/DE602008000571D1/de
Priority to AT08159167T priority patent/ATE456220T1/de
Priority to US12/164,133 priority patent/US8095711B2/en
Priority to CN2008101319659A priority patent/CN101369969B/zh
Publication of FI20070520A publication Critical patent/FI20070520A/fi
Application granted granted Critical
Publication of FI120422B publication Critical patent/FI120422B/fi

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • H04L41/0856Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information by backing up or archiving configuration information
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Micro-Organisms Or Cultivation Processes Thereof (AREA)

Description

Menetelmä ja laitteita muutoslokin kompressoimiseksi käyttäen flash-trans· aktioita - Förfarande och arrangemang för att komprimera förändringslogen genom att använda flash-transaktioner
5 TEKNINEN ALA
Keksintö liittyy yleisesti tärkeiden digitaalisten tietojen muistiin tallentamiseen tavalla, joka mahdollistaa tietojen palauttamisen myöhemmin odottamattoman toimintahäiriön sattuessa. Erityisesti keksintö liittyy reitittimen usein muuttuvien kon-figuraatiotietojen tallentamiseen käyttäen haihtumatonta flash-muistia ja tietojen 10 pakkausta.
KEKSINNÖN TAUSTAA
Reitittimen on tallennettava vastaanottamansa reititinkonfiguraation muutokset aina silloin tällöin, kun uusia yhteyksiä muodostetaan ja vanhoja jää pois käytöstä. Konfiguraatiotiedot ovat oleellisia reitittimen oikean toiminnan kannalta, ja ne on 15 tallennettava sellaisessa muodossa, että ne voidaan myöhemmin palauttaa myös silloin, kun tapahtuu odottamaton virhe, joka korruptoi tai hävittää tiedot haihtuvasta käytönaikaisesta muistista. Tiedostoa, joka sisältää kerätyt tiedot reititinkonfiguraation muutoksista, kutsutaan usein delta-lokitiedostoksi (engl. delta log).
Jotkin tekniikan tason mukaiset reitittimet käyttävät flash-muistia haihtumattomana 20 tallennuspaikkana, jonne delta-lokitiedot tallennetaan pakatussa muodossa. Delta-lokitietojen tallentamiseen käytetyssä algoritmissa täytyy ottaa huomioon, että tietoja kerätään jatkuvasti ja että virhe voi tapahtua milloin tahansa, joten datan ei pidä antaa kerääntyä pelkästään haihtuvaan muistiin liian pitkään ennen seuraavaa kopiointia haihtumattomaan flash-muistiin. Toisaalta flash-muistin tunnettu raken-25 ne ja toiminta sopivat huonosti jatkuvaan bitti-bitiltä-tallennukseen ja suosivat flash-muistin käsittelyä suurempina yksikköinä, ns. tietueina.
Kuvio 1 esittää erästä tunnettua tapaa käyttää flash-muistia delta-lokitietojen tallentamiseen tekniikan tason mukaisesti. Käyttöön on osoitettu kaksi erillistä flash-muistin osaa, joita tässä nimitetään flash-puskuriksi 101 ja flash-tiedostoksi 102. 30 Konfiguraatiotiedot tallennetaan ensin flash-puskuriin 101, ja ne siirretään flash-tiedostoon 102 vasta, kun riittävän suuri määrä dataa on kerätty niin, että flash-puskuri 101 on oleellisesti täynnä.
2
Vaiheessa 111 molemmat flash-muistin osat ovat tyhjiä. Kirjoitusosoitin, jota on kuvattu pienellä nuolella, näyttää kussakin flash-muistin osassa sen sijaintipaikan, josta seuraavan kirjoitusoperaation tulee alkaa. Vaiheessa 112 konfiguraatiotietoja 103 kirjoitetaan flash-puskuriin, jolloin kirjoitusosoitin siirtyy seuraavaan vapaa-5 seen paikkaan puskurissa. Kirjoitusosoittimen entinen sijainti on esitetty suluissa olevalla nuolella. Mitään ei tapahdu flash-tiedostossa vielä. Vaihe 113 esittää samanlaista tapausta, kun seuraavia konfiguraatiotietoja 104 kirjoitetaan flash-puskuriin. Vasta vaiheessa 114, kun flash-puskuri täyttyy, jotakin kirjoitetaan myös flash-tiedostoon: flash-puskuriin kerääntynyt sisältö pakataan käyttäen jotakin so-10 pivaa tietojenpakkausalgoritmia, ja pakkauksen tulos 105 kirjoitetaan flash-tiedostoon. Kirjoitusosoitin flash-tiedostossa etenee osoittamaan seuraavaa vapaata paikkaa. Vaiheessa 115 flash-puskuri tyhjennetään, ja alkaa uusi kierros konfigu-raatiotietojen keräämistä flash-puskuriin. Kun tietoja seuraavan kerran pakataan, uusi pakkaustulos seuraa edellistä flash-tiedostossa.
15 Kuvion 1 mukaisen järjestelyn haittapuolena on flash-muistitilan suhteellisen suuri tarve.
KEKSINNÖN YHTEENVETO
Keksinnön tavoitteena on esittää menetelmä ja laitteet delta-lokitietojen tallentamiseksi vähäisillä muistiin, erityisesti flash-muistiin, kohdistuvilla tilavaatimuksilla. 20 Keksinnön eräänä toisena tavoitteena on, että menetelmä ja laitteet delta-lokitietojen tallentamiseksi ovat yksinkertaiset ja luotettavat ja soveltuvat moniin erilaisiin reititintoteutuksiin.
Keksinnön tavoitteet saavutetaan ylläpitämällä puskuria uusille konfiguraatiotie-doille haihtuvassa muistissa, pakkaamalla puskurin sisältö aina uusien tietojen li-25 säämisen jälkeen ja käyttämällä flash-transaktioita joko ylikirjoittamaan edelliset pakkaustulokset flash-muistissa tai kirjoittamaan uusi pakkaustulos uuteen tietueeseen riippuen sen pituudesta.
Keksinnön mukaiselle menetelmälle ovat tunnusomaisia vaiheet, jotka on esitetty menetelmään kohdistuvan itsenäisen patenttivaatimuksen tunnusmerkkiosassa.
30 Keksinnön mukaiselle reititinlaitteelle ovat tunnusomaisia ominaisuudet, jotka on esitetty reititinlaitteeseen kohdistuvan itsenäisen patenttivaatimuksen tunnusmerkkiosassa.
3
Keksinnön mukaiselle tietokoneohjelmatuotteelle ovat tunnusomaisia ominaisuudet, jotka on esitetty tietokoneohjelmatuotteeseen kohdistuvan itsenäisen patenttivaatimuksen tunnusmerkkiosassa.
Kun uusia tietoja kirjoitetaan flash-muistiin, ne voivat joko korvata olemassa ole-5 van tietueen (so. olemassa oleva tietue voidaan päivittää) tai ne voidaan sijoittaa täysin koskemattomaan tietueeseen. Tässä ehdotetaan, että valinta näiden kahden mahdollisuuden välillä tehdään perustuen pakatun delta-lokipuskurin senhetkiseen pituuteen. Mikäli pakkaustulos on paljon lyhyempi kuin tietue, se vain päivittää olemassa olevan, välittömästi aiemmin kirjoitetun tietueen. Konfiguraatiotieto-10 jen jatkuva kerääminen merkitsee, että vähä vähältä pakkaustulos pitenee, kunnes se on riittävän pitkä täyttääkseen nykyisen tietueen ja mahdollisesti osittain vuo-taakseen yli seuraavaan tietueeseen flash-muistissa. Siinä vaiheessa täyttynyt tietue "jäädytetään", puskuri tyhjennetään ja prosessi alkaa alusta uudelleen, ja uusi kirjoituskohta flash-muistissa valitaan joko tietueesta, johon tietoja on valunut yli 15 jäädytetystä tietueesta, tai flash-muistin seuraavasta loogisesta tietueesta. Jos valitaan tietue, johon tietoja on valunut yli jäädytetystä tietueesta, kirjoituskohta asetetaan välittömästi tietueen käytetyn tilan jälkeen.
Tässä patenttihakemuksessa esimerkkinä esitettyjen suoritusmuotojen ei pidä tulkita asettavan rajoituksia oheisten patenttivaatimusten sovellettavuudelle. Verbiä 20 "käsittää" on käytetty tässä patenttihakemuksessa avoimena rajoitteena, joka ei sulje pois myös tässä mainitsemattomia ominaisuuksia. Epäitsenäisissä patenttivaatimuksissa mainittuja ominaisuuksia voidaan vapaasti yhdistellä, ellei nimenomaan toisin ole mainittu.
Keksinnölle tunnusomaisina pidetyt uudet ominaisuudet on esitetty yksityiskohtai-25 sesti oheisissa patenttivaatimuksissa. Keksintöä itseään, sen rakennetta ja toimintaperiaatetta, sekä sen lisätavoitteita ja -etuja on kuitenkin selostettu seuraavassa eräiden tiettyjen suoritusmuotojen avulla ja viitaten oheisiin piirustuksiin.
PIIRUSTUSTEN LYHYT KUVAUS
Kuvio 1 esittää erästä tunnettua tapaa käyttää flash-muistia delta-lokitietojen tal-30 lentämiseen, kuvio 2 esittää keksinnön erään suoritusmuodon mukaista periaatetta, kuvio 3 esittää keksinnön erään suoritusmuodon mukaista menetelmää, 4 kuvio 4 esittää erästä tapaa käyttää muisteja delta-lokitietojen tallentamiseen keksinnön erään suoritusmuodon mukaisesti, kuvio 5 esittää keksinnön erään suoritusmuodon mukaista menetelmää tilakaaviona, ja 5 kuvio 6 esittää keksinnön erään suoritusmuodon mukaista re ititi n la itetta.
KEKSINNÖN JA SEN EDULLISTEN SUORITUSMUOTOJEN YKSITYISKOHTAINEN SELITYS
Kuvio 2 havainnollistaa, miten yhdistetään haihtuvan puskurin ja flash-muistin käyttö keksinnön erään suoritusmuodon mukaisesti. Uusien konfiguraatiotietojen 10 saapuessa ne kirjoitetaan ensin haihtuvaan puskuriin lohkon 201 mukaisesti. Rei-tittimessä uudet konfiguraatiotiedot esiintyvät protokollan määritteleminä merkkijonoista koostuvina komentoina, mahdollisesti täydennettynä muilla tekstimuotoisilla tiedoilla. Haihtuva puskuri on oleellisesti suurempi kuin flash-muistin tietueen koko; puskuri saattaa olla ainakin kymmenen kertaa tietueen kokoinen.
15 Lohkossa 202 käytetään pakkausalgoritmia haihtuvan puskurin koko sisällön pakkaamiseen. Puskurin todellinen sisältö sekä pakkausalgoritmin tehokkuus ratkaisevat, kuinka monta bittiä pakkaustuloksessa lopulta on. Jos puskuri oli vasta täyttämisen alussa, so. se sisälsi vain jonkin yksittäisen konfigrointitiedon ennen pakkaamista, pakkaustulos voi olla jopa pitempi kuin alkuperäinen konfigurointitieto. 20 Kuitenkin jo kahdella puskuriin kerääntyneellä konfiguraatiotiedolla pakkaussuhde (pakkaustuloksen pituuden ja pakkaamattoman konfigurointitiedon määrän suhde) on edullisempi, ja se on sitä parempi, mitä enemmän konfiguraatiotietoja on kerääntynyt puskuriin.
Oletetaan, että on olemassa jokin ennalta asetettu raja tai kynnysarvo, johon pak-25 kaustuloksen pituutta verrataan. Raja tai kynnysarvo on hieman suurempi kuin flash-muistin tietueen koko, joten kun pakkaustuloksen pituus saavuttaa rajan tai kynnysarvon, se täyttää hieman enemmän kuin yhden täyden tietueen flash-muis-tissa. Jos pakkaustulos oli pienempi tavuissa mitattuna kuin raja tai kynnysarvo, sillä ylikirjoitetaan (so. päivitetään) välittömästi aiemmin tallennettu pakkaustulos 30 flash-muistissa lohkon 203 mukaisesti, ja se jää sinne odottamaan tullakseen puolestaan seuraavan pakkaustuloksen ylikirjoittamaksi. Jos pakkaustulos oli riittävän suuri täyttääkseen vähintään yhden täyden tietueen, se tallennetaan flash-muistiin (so. se ylikirjoittaa välittömästi aiemman pakkaustuloksen, mutta "jäädytetään" sen jälkeen, eikä sitä enää ylikirjoiteta), ja haihtuva puskuri tyhjennetään lohkon 204 5 mukaisesti. Seuraavalla kerralla uuden konfiguraatiotiedon lisäämisen ja pakkauksen jälkeen kirjoitusoperaatio kohdistuu uuteen sijaintiin flash-muistissa.
Kuvio 3 esittää keksinnön erään suoritusmuodon mukaista menetelmää systemaattisemmin tilakaavion muodossa. Vaiheessa 301 vastaanotetaan uusi konfigu-5 raatiotieto. Vaiheessa 302 se kirjoitetaan haihtuvaan puskuriin alkaen sijaintipaikasta, jonka puskurin kirjoitusosoitin osoittaa vapaaksi. Kirjoituksen jälkeen puskurin kirjoitusosoitin etenee vaiheessa 303 osoittamaan seuraavaa jäljellä olevaa vapaata sijaintipaikkaa haihtuvassa puskurissa.
Vaiheessa 304 haihtuvan puskurin koko sisältö pakataan. Pakkauksen tulos kirjoi-10 tetaan flash-muistiin vaiheessa 305, tarkemmin sanottuna flash-muistin tietueeseen, johon flash-muistin kirjoitusosoitin osoittaa. Kirjoittaminen flash-muistin tietueeseen suoritetaan edullisimmin flash-muistitransaktiona, jollaista on selitetty saman hakijan patenttihakemuksessa WO 01/31458, joka on liitetty tähän viittaamalla siihen. Transaktio on joukko operaatioita, joiden täytyy kaikkien onnistua tai 15 kaikkien epäonnistua. Reitittimen konfiguraatiotietojen muuttaminen on tyypillinen tapahtuma, jolla on transaktion luonne, sillä mikäli reitityssovellus ei onnistu varmistamaan, että uusi konfiguraatio on turvallisesti tallennettu haihtumattomaan muistiin, sen ei pidä ottaa sitä käyttöön lainkaan. Jos reitityssovellus toimisi pelkästään haihtuvaan muistiin tallennettujen konfiguraatiotietojen mukaisesti ja haih-20 tumaton flash-muisti sisältäisi jotakin muuta, ikävästi ajoittuva toimintahäiriö voisi johtaa siihen, että palautuminen tapahtuisi erilaiseen toimintaan kuin mitä todellisuudessa suoritettiin ennen häiriötä.
On huomattava, että flash-muistin luonteen vuoksi tietueen päivittäminen ei tarkasti ottaen tarkoita, että tiedot tallennettaisiin uudestaan täsmälleen samaan muisti-25 paikkaan. Kuten edellä mainitussa toisessa patenttihakemuksessa esitetään, tietueen päivittämiseen liittyy suhteellisen suuri määrä vaiheita, joiden aikana päivitetyt tiedot kirjoitetaan uuteen muistipaikkaan ja vanha muistipaikka merkitään likaiseksi. Flash-muistin apurutiini järjestää muistipaikkojen käyttöä niin, että "likaiset" muistipaikat palautuvat käyttöön jonkin ajan päästä. Koska apuoperaatiot kuitenkin 30 ovat läpinäkyviä flash-muistia käyttävälle sovellukselle, on tavallista puhua flash-muistin tietueista loogisina muistipaikkoina ja jättää huomiotta kaikkinainen riippuvuus fyysisesti olemassa olevista muistipaikoista.
Transaktiotyyppiset rutiinit flash-muistin käytössä varmistavat automaattisesti, ettei tiedoista tallenneta mitään tarpeettomia kopioita. Tarpeettomien kopioiden puuttu 6 minen auttaa pitämään laitteistovaatimukset (asennetun flash-muistin määrä) hyvin kohtuullisella tasolla.
Vaiheessa 306 tarkistetaan, saavuttiko flash-muistiin kirjoitetun datan määrä tietyn rajan. Ellei, menetelmä palaa vaiheeseen 301 ilman muutoksia flash-muistin kirjoi-5 tusosoittimeen. Näin ollen, seuraavan kerran kun pakkaustulos kirjoitetaan flash-muistiin, se ylikirjoittaa (so. päivittää) välittömästi aiemmin kirjoitetun tietueen.
Mikäli flash-muistiin kirjoitetun datan määrä tavuissa oli saavuttanut rajan vaiheessa 306, menetelmä etenee vaiheeseen 307, jossa flash-muistin kirjoitusosoitin siirretään osoittamaan uutta tietuetta (samassa tiedostossa kuin aiempi tietue). Vai-10 heessa 308 haihtuva puskuri tyhjennetään ja puskurin kirjoitusosoitin asetetaan osoittamaan juuri tyhjennetyn puskurin alkuun. Sen jälkeen palataan vaiheeseen 301.
Ei ole välttämätöntä suorittaa näitä menetelmävaiheita tarkalleen tässä järjestyksessä, kunhan vain sama toimintaperiaate säilyy. Olisi esimerkiksi mahdollista 15 vaihtaa vaihe 303 vaiheiden 302 ja 304 välistä edeltämään vaihetta 301. Tällöin olisi tarpeetonta erikseen asettaa puskurin kirjoitusosoitin alkuun vaiheessa 308, koska puskurin kirjoitusosoittimen asettaminen välittömästi puskurin tyhjentämisen jälkeen, vaihe 308, osoittamaan seuraavaan vapaaseen paikkaan saisi automaattisesti sen osoittamaan alkuun.
20 Kuvio 4 havainnollistaa haihtuvan puskurin 401 ja flash-tiedoston 402 käyttöä keksinnön erään suoritusmuodon mukaisesti. Flash-tiedosto 402 on jaettu tietueisiin, joista esimerkkinä on esitetty tietue 403. Kirjoitusosoittimia on esitetty pienillä nuolilla samalla tapaa kuin kuviossa 1.
Vaiheessa 421 sekä haihtuva puskuri 401 että flash-tiedosto 402 ovat tyhjät. Vai-25 heessa 422 haihtuvaan puskuriin kirjoitetaan konfiguraatiotieto 404. Tällöin puskurin kirjoitusosoitin etenee seuraavaan vapaaseen paikkaan. Haihtuvan puskurin koko sisältö pakataan ja pakkaustulos 405 kirjoitetaan flash-tiedoston ensimmäiseen tietueeseen. Pakkaustulos oli lyhyempi kuin ennalta määrätty raja, mistä syystä flash-muistin kirjoitusosoitinta ei siirretä. Jos verrataan kuvioon 3, vaihe 422 30 kuviossa 4 päätyy paluuseen vaiheesta 306 vaiheeseen 301.
Vaiheet 423 ja 424 ovat samanlaisia kuin vaihe 422; uusin konfiguraatiotieto (406 vaiheessa 423 ja 408 vaiheessa 424) ketjutetaan aiempiin olemassa oleviin konfi-guraatiotietoihin haihtuvassa puskurissa, ja kullakin kerralla uusi pakkaustulos (407 vaiheessa 423 ja 409 vaiheessa 424) päivittää ensimmäisen tietueen flash- 7 tiedostossa. Vaiheessa 425, kun on lisätty konfiguraatiotieto 410, pakkaustuloksen pituus saavuttaa rajan. Tässä se tapahtuu yhtä aikaa haihtuvan puskurin täyttymisen kanssa, mutta niin ei tarvitse välttämättä olla; luultavammin pakkaustuloksen pituus saavuttaa rajan jo aiemmin, ennen kuin haihtuva puskuri täyttyy. Keksinnön 5 tälle suoritusmuodolle on tyypillistä, että raja on sidottu pakkaustuloksen pituuteen, eikä haihtuvan puskurin täyttöasteeseen tai jäljellä olevaan tyhjään tilaan ennen pakkausta.
Rajaehdon Hipaissut pakkaustulos 411 on viimeinen, joka ylikirjoittaa (päivittää) flash-tiedoston ensimmäisen tietueen. Kuvion 3 vaiheen 307 mukaisesti flash-10 muistin kirjoitusosoitin siirretään vaiheessa 425 osoittamaan flash-tiedoston toista tietuetta. Tässä oletetaan, että pakkaustulos oli hieman tietuetta pitempi, ja yli jäävä osa, joka ei mahdu ensimmäiseen tietueeseen, menee seuraavaan tietueeseen, minkä jälkeen flash-muistin kirjoitusosoitin asetetaan osoittamaan ensimmäiseen vapaaseen paikkaan toisessa tietueessa. Vaihtoehtona olisi asettaa 15 flash-muistin kirjoitusosoitin osoittamaan täysin uuteen tietueeseen. Vaiheessa 426 haihtuva puskuri tyhjennetään ja puskurin kirjoitusosoitin asetetaan haihtuvan puskurin alkuun (kuten kuvion 3 vaiheessa 308). Vaiheessa 427 seuraavaksi saapuva konfiguraatiotieto 412 aloittaa saman prosessin kuin vaiheessa 422 sillä erolla, että uusin pakkaustulos 413 menee nyt toiseen tietueeseen, jonka ensimmäi-20 nen osa on jo jäädytetty eikä siten muutu myöhemmissä päivityksissä.
Keksinnön erään suoritusmuodon mukaan flash-muistiin ei tallenneta pelkästään puhdasta pakkausalgoritmin tulosta. Kuvion 4 oikeassa alareunassa nähdään, miten kukin pakkaustulos voi koostua otsakeosasta ja runko-osasta, joista otsakeosa sisältää tietoa runko-osasta. Pakkaustuloksessa 411 on otsakeosa 431 ja runko-25 osa 432, ja pakkaustuloksessa 413 on otsakeosa 433 ja runko-osa 434. Eräs hyödyllinen tieto, jonka otsakeosa voi kertoa, on pakkaustuloksen pituus tavuina. Myöhemmin, kun flash-tiedoston sisältö käydään läpi, on tehokkaampaa, jos skan-nausalgoritmi voi hypätä runko-osien yli, kun se tietää niiden pituudet. Otsakeosan käyttö pakkaustuloksessa ei kuitenkaan ole välttämätöntä, koska esim. pakkaustu-30 loksen pituus voidaan saada selville muutenkin tutkimalla itse pakattuja tavuja.
Flash-tiedostojen skannaus voi tulla ajankohtaiseksi virran päällekytkemisen yhteydessä, mikä nähdään kuvion 5 tilakaaviosta. Tilakaavio on korkean tason esitys konfiguraatiotietojen käsittelystä reitittimessä keksinnön erään suoritusmuodon mukaisesti. Virran päällekytkemisen jälkeen tallennetut flash-tiedostot skannataan 35 tilassa 501 oikean sijainnin löytämiseksi flash-muistin kirjoitusosoittimelle ja tarvittavien reititystietojen regeneroinnin mahdollistamiseksi tallennetuista pakatuista 8 delta-lokitiedostojen osista. Kun virta on kytketty päälle onnistuneesti, järjestelmä siirtyy odotustilaan 502. Jos odotustilan aikana saapuu uusia konfiguraatiotietoja, se Hipaisee kirjoitustransaktion tilan 503 mukaisesti. Liittyykö kirjoitustransaktioon vain vanhemman flash-tietueen päivitys vai liittyykö siihen valmiiksi tulleen tietu-5 een jäädytys ja uuden käyttöönotto, riippuu pakkaustuloksen pituudesta, kuten selitettiin kattavasti edellä liittyen kuvioihin 2, 3 ja 4.
Jossain vaiheessa flash-muistista flash-tiedostolle varattu tila täyttyy, mikä Hipaisee tiedoston regeneroinnin tilan 504 mukaisesti. Toinen kriteeri, joka kuvion 5 mukaisesti mahdollisesti aiheuttaa siirtymän odotustilasta 502 tiedoston regene- 10 rointitilaan 504, on aikavalvonnan laukeaminen eli aikaliipaisu. Mikäli on kulunut tietty aika ilman, että on täytynyt prosessoida mitään uusia konfiguraatiotietoja, voi olla edullista regeneroida konfiguraatiotiedosto. Konfiguraatio koostuu pakatusta peruskonfiguraatiosta ja delta-lokiin kirjatuista muutoksista. Regeneroinnissa yhdistetään muutokset peruskonfiguraatioon ja poistetaan tarpeettomat komennot.
15 Koko konfiguraation regenerointi dumppaamalla tiedostoon todellinen käytössä oleva konfiguraatio ja pakkaamalla regeneroitu tulos yhtenä kappaleena tilassa 505 mahdollistaa vielä suuremmat säästöt haihtumattoman muistitilan tarpeessa. Regeneroitu ja uudelleen pakattu tiedosto tallennetaan tilassa 506 ennen paluuta odotustilaan 502.
20 Kuvio 6 esittää kaavamaisesti keksinnön erään suoritusmuodon mukaista reititin-laitetta. Ohjausprosessori tai ohjausprosessorit 601 suorittavat varsinaista reititys-ohjelmaa ristikytkentämatriisin 602 ohjaamiseksi, jossa ristikytkentämatriisissa paketteja kytketään syöttö/tulostuslohkon 603 kautta kulkeville yhteyksille ja yhteyksiltä. Ohjelma on tallennettu tietokoneluettavina käskyinä ohjelmamuistiin 604.
25 Ajonaikainen (haihtuva) datamuisti 605 sisältää mm. edellä mainitun haihtuvan puskurin. Flash-tiedosto tietueineen sijaitsee (haihtumattomassa) flash-muisti-lohkossa 606. Luettuaan asianmukaiset käskyt ohjelmamuistista 604 ohjauspro-sessori(t) 601 tietää/tietävät, miten suorittaa kuvioiden 2, 3, 4 ja 5 mukaiset vaiheet ja menetelmät.

Claims (9)

1. Förfarande för att lagra konfigureringsdata i en router, kännetecknat av att 20 vid förfarandet: - tillsätts varje mottagna konfigureringsdata tili nästa för stunden lediga ställe i en flyktig buffert, - innehället i den flyktiga bufferten komprimeras efter tillförseln av respektive mottagna konfigureringsdata, varvid ett kompressionsresultat genereras, 25. kompressionsresultatet lagras i ett ickeflyktigt flash-minne, - ifall kompressionsresultatet är kortare än ett givet gränsvärde, fär följande kompressionsresultat som skall lagras i flash-minnet överskriva kompressionsresultatet i flash-minnet, och - ifall kompressionsresultatet är längre än nämnda gränsvärde, sparas kompres-30 sionsresultatet i flash-minnet och nästa kompressionsresultat som skall lagras i flash-minnet styrs tili ett annat ställe i flash-minnet.
1. Menetelmä konfiguraatiotietojen tallentamiseksi reitittimeen, tunnettu siitä, että menetelmässä: - lisätään kukin vastaanotettu konfiguraatiotieto seuraavaan sillä hetkellä vapaa-5 seen paikkaan haihtuvassa puskurissa, - kunkin vastaanotetun konfiguraatiotiedon lisäämisen jälkeen pakataan haihtuvan puskurin sisältö, jolloin muodostuu pakkaustulos, - tallennetaan pakkaustulos haihtumattomaan flash-muistiin, -jos pakkaustulos on lyhyempi kuin tietty raja-arvo, sallitaan seuraavan flash-10 muistiin tallennettavan pakkaustuloksen ylikirjoittaa flash-muistissa oleva pakkaus-tulos, ja -jos pakkaustulos on pitempi kuin mainittu raja-arvo, säästetään flash-muistissa oleva pakkaustulos ja ohjataan seuraava flash-muistiin tallennettava pakkaustulos eri paikkaan flash-muistissa.
2. Förfarande enligt patentkrav 2, varvid: - konfigureringsdata mottas, 35. nämnda konfigureringsdata skrivs i en flyktigt buffert med början frän ett ställe som anges av buffertens skrivindikator, - buffertens skrivindikator flyttas att indikera den flyktiga buffertens följande ställe, som är ledigt efter inskrivningen av nämnda konfigureringsdata, - innehället i den flyktiga bufferten komprimeras, varvid ett kompressionsresultat uppstär, 5. kompressionsresultatet skrivs pa ett första logiskt minnesställe som indikeras av flash-minnets skrivindikator i ett ickeflyktigt flash-minne, - ifall kompressionsresultatets längd i bitgrupper är större än ett givet gränsvärde, flyttas flash-minnets skrivindikator att indikera nästa lediga ställe pä ett annat logiskt minnesställe i det ickeflyktiga flash-minnet, den flyktiga bufferten töms och 10 buffertens skrivindikator inrättas att indikera den flyktiga buffertens början, och - ifall kompressionsresultatets längd i bitgrupper inte är större än nämnda gränsvärde, hälls flash-minnets skrivindikator att indikera det första logiska minnesstället och innehället i den flyktiga bufferten sparas. 15 3. Förfarande enligt patentkrav 1 eller 2, varvid lagringen av kompressions resultatet i flash-minnet innehaller lagring av ett huvudfält och ett kroppfält i flash-minnet, av vilka fält nämnda huvudfält innehäller data om kompressionsresultatets längd i bitgrupper. 20 4. Förfarande enligt nägot av föregäende patentkrav, varvid: - man observerar att det utrymme som reserverats för delta-loggfilens poster i flash-minnet häller pä att fyllas, och - som svar pä en dylik observation regenereras en hei konfigureringsfil, varvid onödiga konfigureringsförändringar avlägsnas, den regenererade konfigurerings- 25 filen komprimeras i ett stycke och ett dylikt kompressionsresultat lagras.
2. Patenttivaatimuksen 1 mukainen menetelmä, jossa: - vastaanotetaan konfiguraatiotieto, - kirjoitetaan mainittu konfiguraatiotieto haihtuvaan puskuriin alkaen puskurin kirjoi-tusosoittimen osoittamasta paikasta, - siirretään puskurin kirjoitusosoitinta osoittamaan haihtuvan puskurin seuraavaan 20 paikkaan, joka on vapaana mainitun konfiguraatiotiedon kirjoittamisen jälkeen, - pakataan haihtuvan puskurin sisältö, jolloin muodostuu pakkaustulos, - kirjoitetaan pakkaustulos flash-muistin kirjoitusosoittimen osoittamaan ensimmäiseen loogiseen muistipaikkaan haihtumattomassa flash-muistissa, -jos pakkaustuloksen pituus tavuina on suurempi kuin tietty raja-arvo, siirretään 25 flash-muistin kirjoitusosoitinta osoittamaan seuraavaan vapaaseen paikkaan haih-tumattoman flash-muistin toisessa loogisessa muistipaikassa, tyhjennetään haihtuva puskuri ja asetetaan puskurin kirjoitusosoitin osoittamaan haihtuvan puskurin alkuun, ja - jos pakkaustuloksen pituus tavuina ei ole suurempi kuin mainittu raja-arvo, pide-30 tään flash-muistin kirjoitusosoitin osoittamassa ensimmäiseen loogiseen muistipaikkaan ja säilytetään haihtuvan puskurin sisältö.
3. Patenttivaatimuksen 1 tai 2 mukainen menetelmä, jossa pakkaustuloksen tallentaminen flash-muistiin sisältää otsakekentän ja runkokentän tallentamisen flash-muistiin, joista kentistä mainittu otsakekenttä sisältää tiedon pakkaustuloksen 35 pituudesta tavuina.
4. Jonkin edeltävän patenttivaatimuksen mukainen menetelmä, jossa: - havaitaan, että flash-muistista delta-lokitiedoston tietueille varattu tila on täyttymässä, ja - vasteena tällaiseen havaintoon regeneroidaan kokonainen konfiguraatiotiedosto, 5 jolloin poistetaan tarpeettomat konfiguraatiomuutokset, pakataan regeneroitu konfiguraatiotiedosto yhtenä kappaleena ja tallennetaan tällaisen pakkauksen tulos.
5. Förfarande enligt nägot av föregäende patentkrav, varvid: - man observerar att en given tidsgräns har överskridits efter det att nya poster av delta-loggfilen senast lagrats i flash-minnet, och 30. som svar pä en sädan observation regenereras en hei konfigureringsfil, varvid onödiga konfigureringsförändringar avlägsnas, den regenererade konfigurerings-filen komprimeras i ett stycke och ett dylikt kompressionsresultat lagras.
5. Jonkin edeltävän patenttivaatimuksen mukainen menetelmä, jossa: - havaitaan, että tietty aikaraja on ylitetty siitä, kun viimeksi tallennettiin flash-muis-tiin delta-lokitiedoston uusia tietueita, ja 10. vasteena tällaiseen havaintoon regeneroidaan kokonainen konfiguraatiotiedosto, jolloin poistetaan tarpeettomat konfiguraatiomuutokset, pakataan regeneroitu konfiguraatiotiedosto yhtenä kappaleena ja tallennetaan tällaisen pakkauksen tulos.
6. Förfarande enligt nägot av föregäende patentkrav, väri lagringen av kom-35 pressionsresultatet i ett ickeflyktigt flash-minne utförs som en uppdaterings- transaktion riktad mot flash-minnets post.
6. Jonkin edeltävän patenttivaatimuksen mukainen menetelmä, jossa pakkaus-tuloksen tallennus haihtumattomaan flash-muistiin suoritetaan flash-muistin tietu- 15 eeseen suunnattuna päivitystransaktiona.
7. Routeranording, innefattande: - en processor, - ett flyktigt minne och - ett ickeflyktigt flash-minne, 5 kännetecknad av att processorn är anordnad att: - tillsätta varje mottagna konfigureringsdata till följande för stunden lediga ställe i en buffert som ingär i nämnda flyktiga minne, - komprimera buffertinnehället efter tillsatsen av respektive mottagna konfigureringsdata, varvid ett kompressionsresultat genereras, 10. lagra kompressionsresultatet i nämnda ickeflyktiga flash-minne, - tilläta följande kompressionsresultat som skall lagras i flash-minnet att överskriva kompressionsresultatet i flash-minnet, ifall kompressionsresultatet är kortare än ett givet gränsvärde, och - spara kompressionsresultatet i flash-minnet och styra följande kompressionsre-15 suitat som skall lagras i flash-minnet till ett annat ställe i flash-minnet, ifall kompressionsresultatet är längre än nämnda gränsvärde.
7. Reititinlaite, johon kuuluu: - prosessori, - haihtuva muisti ja - haihtumaton flash-muisti, 20 tunnettu siitä, että prosessori on järjestetty: - lisäämään kukin vastaanotettu konfiguraatiotieto seuraavaan sillä hetkellä vapaaseen paikkaan mainitun haihtuvan muistin sisältämässä puskurissa, - pakkaamaan puskurin sisältö kunkin vastaanotetun konfiguraatiotiedon lisäämisen jälkeen, jolloin muodostuu pakkaustulos, 25. tallentamaan pakkaustulos mainittuun haihtumattomaan flash-muistiin, -jos pakkaustulos on lyhyempi kuin tietty raja-arvo, sallimaan seuraavan flash-muistiin tallennettavan pakkaustuloksen ylikirjoittaa flash-muistissa oleva pakkaus-tulos, ja - jos pakkaustulos on pitempi kuin mainittu raja-arvo, säästämään flash-muistissa 30 oleva pakkaustulos ja ohjaamaan seuraava flash-muistiin tallennettava pakkaustulos eri paikkaan flash-muistissa.
8. Routeranordning enligt patentkrav 7, varvid storleken hos bufferten som ingär i nämnda flyktiga minne är mer än tio ganger sä stor som nämnda flash- 20 minnets post.
8. Patenttivaatimuksen 7 mukainen reititinlaite, jossa mainitun haihtuvan muistin sisältämän puskurin koko on enemmän kuin kymmenen kertaa suurempi kuin mainitun flash-muistin tietueen koko.
9. Tietokoneohjelmatuote, tunnettu siitä, että se koostuu ohjelmallisista käskyistä, jotka, kun ne suoritetaan tietokoneella, saavat tietokoneen suorittamaan vaiheet, joissa: - lisätään kukin vastaanotettu konfiguraatiotieto seuraavaan sillä hetkellä vapaa-5 seen paikkaan haihtuvassa puskurissa, - pakataan haihtuvan puskurin sisältö kunkin vastaanotetun konfiguraatiotiedon lisäämisen jälkeen, jolloin muodostuu pakkaustulos, - tallennetaan pakkaustulos haihtumattomaan flash-muistiin, -jos pakkaustulos on lyhyempi kuin tietty raja-arvo, sallitaan seuraavan flash-10 muistiin tallennettavan pakkaustuloksen ylikirjoittaa flash-muistissa oleva pakkaus-tulos, ja -jos pakkaustulos on pitempi kuin mainittu raja-arvo, säästetään flash-muistissa oleva pakkaustulos ja ohjataan seuraava flash-muistiin tallennettava pakkaustulos eri paikkaan flash-muistissa. 15
9. Dataprogramprodukt, kännetecknad av att den bestär av programkomman-don, som, da de utförs med en dator, fär datorn att utföra skeden, i vilka: - varje mottagna konfigureringsdata tillförs tili nästa för stunden lediga ställe i den 25 flyktiga bufferten, - innehället i den flyktiga bufferten komprimeras efter tillförseln av respektive mottagna konfigureringsdata, varvid ett kompressionsresultat genereras, - kompressionsresultatet lagras i ett ickeflyktigt flash-minne, - ifall kompressionsresultatet är kortare än ett givet gränsvärde, fär följande kom-30 pressionsresultat som skall lagras i flash-minnet överskriva kompressionsresultatet i flash-minnet, och - ifall kompressionsresultatet är längre än nämnda gränsvärde, sparas kompressionsresultatet i flash-minnet och följande kompressionsresultat som skall lagras i flash-minnet styrs tili ett annat ställe i flash-minnet.
FI20070520A 2007-07-02 2007-07-02 Menetelmä ja laitteita muutoslokin kompressoimiseksi käyttäen flash-transaktioita FI120422B (fi)

Priority Applications (6)

Application Number Priority Date Filing Date Title
FI20070520A FI120422B (fi) 2007-07-02 2007-07-02 Menetelmä ja laitteita muutoslokin kompressoimiseksi käyttäen flash-transaktioita
EP08159167A EP2012465B1 (en) 2007-07-02 2008-06-27 Method and devices for compressing delta log using flash transactions
DE602008000571T DE602008000571D1 (de) 2007-07-02 2008-06-27 Verfahren und Vorrichtungen zur Delta-Protokollkomprimierung mittels Flash-Transaktionen
AT08159167T ATE456220T1 (de) 2007-07-02 2008-06-27 Verfahren und vorrichtungen zur delta- protokollkomprimierung mittels flash- transaktionen
US12/164,133 US8095711B2 (en) 2007-07-02 2008-06-30 Method and devices for compressing delta log using flash transactions
CN2008101319659A CN101369969B (zh) 2007-07-02 2008-07-02 使用闪速事务处理压缩Delta日志的方法和设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20070520 2007-07-02
FI20070520A FI120422B (fi) 2007-07-02 2007-07-02 Menetelmä ja laitteita muutoslokin kompressoimiseksi käyttäen flash-transaktioita

Publications (3)

Publication Number Publication Date
FI20070520A0 FI20070520A0 (fi) 2007-07-02
FI20070520A FI20070520A (fi) 2009-01-03
FI120422B true FI120422B (fi) 2009-10-15

Family

ID=38331538

Family Applications (1)

Application Number Title Priority Date Filing Date
FI20070520A FI120422B (fi) 2007-07-02 2007-07-02 Menetelmä ja laitteita muutoslokin kompressoimiseksi käyttäen flash-transaktioita

Country Status (6)

Country Link
US (1) US8095711B2 (fi)
EP (1) EP2012465B1 (fi)
CN (1) CN101369969B (fi)
AT (1) ATE456220T1 (fi)
DE (1) DE602008000571D1 (fi)
FI (1) FI120422B (fi)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090217382A1 (en) * 2008-02-25 2009-08-27 Alcatel-Lucent Method and procedure to automatically detect router security configuration changes and optionally apply corrections based on a target configuration
US8321626B2 (en) 2010-03-31 2012-11-27 Gainspan Corporation Management of configuration data using persistent memories requiring block-wise erase before rewriting
US20150032945A1 (en) * 2012-01-29 2015-01-29 Thomson Licensing Method for flash compressed instruction caching for limited ram/flash device architectures
US20150256343A1 (en) * 2012-08-13 2015-09-10 Richard F. Graveman Securely Generating and Storing Passwords in a Computer System
US9183091B2 (en) 2012-09-27 2015-11-10 Intel Corporation Configuration information backup in memory systems
CN105824716B (zh) * 2016-03-15 2019-04-23 四川效率源信息安全技术股份有限公司 一种重新生成ldr文件的方法
US11303296B2 (en) * 2018-06-26 2022-04-12 International Business Machines Corporation Hardware accelerated compression of instrumentation data

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586285A (en) * 1993-02-19 1996-12-17 Intel Corporation Method and circuitry for increasing reserve memory in a solid state memory disk
US5860124A (en) 1996-09-30 1999-01-12 Intel Corporation Method for performing a continuous over-write of a file in nonvolatile memory
US6202090B1 (en) 1997-12-11 2001-03-13 Cisco Technology, Inc. Apparatus and method for downloading core file in a network device
FI109620B (fi) 1999-10-26 2002-09-13 Tellabs Oy Menetelmä ja järjestely atomaaristen päivitysten toteuttamiseksi loogista flashmuistilaitetta käyttäen
US20030191876A1 (en) * 2000-02-03 2003-10-09 Fallon James J. Data storewidth accelerator
US7689678B2 (en) * 2002-04-26 2010-03-30 Extreme Networks Method and apparatus for restoring the configuration of a network device
US6941219B2 (en) * 2003-09-30 2005-09-06 Detroit Diesel Corporation Method for recreating valid calibration data for an engine control module
KR100548427B1 (ko) * 2004-03-03 2006-02-02 엘지전자 주식회사 플래시 메모리 파일 시스템의 데이터 관리방법
JP4937902B2 (ja) 2004-03-17 2012-05-23 アルカテル−ルーセント ユーエスエー インコーポレーテッド オペレーティングシステム環境でのプロセス状態情報の管理
US8977859B2 (en) * 2004-05-04 2015-03-10 Elsevier, Inc. Systems and methods for data compression and decompression
US7606954B2 (en) * 2005-09-29 2009-10-20 Intel Corporation Data storage using compression
US7676282B2 (en) * 2005-12-02 2010-03-09 International Business Machines Corporation Compression of servo control logging entries
US20080228998A1 (en) * 2007-03-16 2008-09-18 Spansion Llc Memory storage via an internal compression algorithm

Also Published As

Publication number Publication date
CN101369969B (zh) 2012-07-25
US20090013126A1 (en) 2009-01-08
EP2012465B1 (en) 2010-01-20
FI20070520A0 (fi) 2007-07-02
US8095711B2 (en) 2012-01-10
CN101369969A (zh) 2009-02-18
DE602008000571D1 (de) 2010-03-11
FI20070520A (fi) 2009-01-03
ATE456220T1 (de) 2010-02-15
EP2012465A1 (en) 2009-01-07

Similar Documents

Publication Publication Date Title
FI120422B (fi) Menetelmä ja laitteita muutoslokin kompressoimiseksi käyttäen flash-transaktioita
US9342444B2 (en) Log-structured filed system with file branching
US8930617B2 (en) Autonomic reclamation processing for tapes
EP2742428B1 (en) Cache management including solid state device virtualization
JP5571691B2 (ja) 記憶装置におけるマッピングアドレステーブルの維持
CN1130641C (zh) 具有永久性存储器的可恢复磁盘控制系统
US9104629B2 (en) Autonomic reclamation processing on sequential storage media
US20130139030A1 (en) Storage controller, storage device, information processing system, and storage controlling method
US20140297918A1 (en) Buffer cache apparatus, journaling file system and journaling method for incorporating journaling features within non-volatile buffer cache
CN102662856A (zh) 一种固态硬盘及其存取方法
US11841801B2 (en) Metadata management in non-volatile memory devices using in-memory journal
US6687815B1 (en) Method and apparatus for storing non-volatile configuration information
US9552300B2 (en) Cache system using solid state drive
US20230044942A1 (en) Conditional update, delayed lookup
US5860088A (en) Method for extraction of a variable length record from fixed length sectors on a disk drive
CN116027981A (zh) 数据存储器及其数据回收方法
US5857213A (en) Method for extraction of a variable length record from fixed length sectors on a disk drive and for reblocking remaining records in a disk track
JP2008269520A (ja) 記録装置及び記録方法
JP2019003288A (ja) ジャーナルログ制御システム、ジャーナルログ制御方法およびジャーナルログ制御プログラム
CN111949212A (zh) 基于自定义开放通道ssd的文件系统及文件管理方法
KR101975058B1 (ko) 데이터 가용성 지원 시스템 및 방법
US11650759B2 (en) Method and apparatus of managing a non-volatile memory using an in-memory journal
KR101404129B1 (ko) 데이터 저장 시스템 및 데이터 관리 방법
US8555020B2 (en) Reclaiming space occupied by an expired variable record in a non-volatile record storage
CN117331494A (zh) 一种基于NAND Flash的电能表数据存储管理方法及系统

Legal Events

Date Code Title Description
FG Patent granted

Ref document number: 120422

Country of ref document: FI

PC Transfer of assignment of patent

Owner name: CORIANT OY

MM Patent lapsed