FI120220B - Menetelmä ja järjestely transaktioiden käsittelemiseksi flash-tyyppisessä muistivälineessä - Google Patents

Menetelmä ja järjestely transaktioiden käsittelemiseksi flash-tyyppisessä muistivälineessä Download PDF

Info

Publication number
FI120220B
FI120220B FI20060571A FI20060571A FI120220B FI 120220 B FI120220 B FI 120220B FI 20060571 A FI20060571 A FI 20060571A FI 20060571 A FI20060571 A FI 20060571A FI 120220 B FI120220 B FI 120220B
Authority
FI
Finland
Prior art keywords
memory block
memory
transaction
payload
state
Prior art date
Application number
FI20060571A
Other languages
English (en)
Swedish (sv)
Other versions
FI20060571A (fi
FI20060571A0 (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 FI20060571A priority Critical patent/FI120220B/fi
Publication of FI20060571A0 publication Critical patent/FI20060571A0/fi
Priority to PCT/FI2007/000162 priority patent/WO2007141375A1/en
Priority to EP07788705.7A priority patent/EP2024840A4/en
Priority to US12/303,437 priority patent/US9495286B2/en
Priority to CN2007800212747A priority patent/CN101467134B/zh
Publication of FI20060571A publication Critical patent/FI20060571A/fi
Application granted granted Critical
Publication of FI120220B publication Critical patent/FI120220B/fi

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • 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
    • 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
    • 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/1474Saving, restoring, recovering or retrying in transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • G06F9/467Transactional memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/346Cards serving only as information carrier of service
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card
    • G06Q20/35765Access rights to memory zones
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0833Card having specific functional components
    • G07F7/084Additional components relating to data transfer and storing, e.g. error detection, self-diagnosis
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

Menetelmä ja järjestely transaktioiden käsittelemiseksi flash-tyyppisessä muistivälineessä ΐ
Keksinnön ala
Keksinnön kohteena on menetelmä transaktioiden käsittelemiseksi flash-5 tyyppisessä muistivälineessä, missä transaktio on tiedon päivitys- ja/tai muutosoperaatio, joka koostuu yhdestä tai useammasta osaoperaatioista, joiden täytyy kaikkien olla onnistuneesti suoritettuja, jotta tarkasteltava transaktio voitaisiin kokonaisuutena katsoa onnistuneesti suoritetuksi. Keksinnön kohteena on myös järjestely transaktioiden käsittelemiseksi flash-tyyppisessä 10 muistivälineessä.
. i " 5
Keksinnön tausta
Transaktion käsitettä käytetään sellaisten tietojärjestelmien ylläpidossa, jossa järjestelmään tallennettujen tietojen täytyy jokaisella ajanhetkellä olla toistensa suhteen yhteensopivia eli ristiriidattomia. Esimerkkinä voidaan ajatella IS pankkisovellusta, jossa tiettyyn pankkitiliin liittyy sellaisia tietoja kuin tilin saldo ja tilitapahtumat. Oletetaan esimerkinomainen tilanne, jossa tilitapahtumia koskeviin tietoihin olisi luotu tilillepano- tai tililtäottotapahtumaa kuvaava tapahtumamerkintä mutta tilin saldotietoa ei olisi vielä ehditty päivittää. Mikäli tietojärjestelmä joutuisi tässä vaiheessa virheillään eli kaatuisi, olisi mahdollista, että j 20 uudelleenkäynnistyksen yhteydessä syntyisi tilanne, jossa pankkitiliin liittyvien tietojen välillä olisi keskinäinen ristiriita: saldotieto ja tilitapahtumatiedot eivät mahdollisesti vastaisi toisiaan. Edellä kuvatun ristiriidan syntyminen voidaan välttää siten, että järjestelmään tallennettuihin tietoihin liittyviä operaatioita käsitellään yhteen tiedonkäsittelykokonaisuuteen eli transaktioon kuuluvina 25 osaoperaatioina, joiden kaikkien tulee olla onnistuneesti suoritettuja, jotta mainittu transaktio voitaisiin katsoa onnistuneesti suoritetuksi. Mikäli kaikki osaoperaatiot eivät ole onnistuneesti suoritettuja, tällöin yhtäkään osaoperaatiota ei katsota suoritetuksi. Edellä kuvatussa esimerkinomaisessa tilanteessa tämä tarkoittaa sitä, että esimerkiksi uusi tapahtumamerkintä on pätevä vasta sen jälkeen, kun 30 vastaava päivitys on tehty saldotietoon ja sekä tapahtumamerkintä että päivitetty saldotieto on molemmat saatettu samanaikaisesti voimaan.
2 Tässä asiakirjassa transaktion käsite tarkoittaa yhden tai useamman osaoperaation muodostamaa tiedonkäsittelykokonaisuutta, jossa kaikkien osaoperaatioiden tulee olla onnistuneesti suoritettuja, jotta transaktio voidaan katsoa onnistuneesti suoritetuksi. Transaktio jaetaan yleensä kolmeen 5 peräkkäiseen vaiheeseen: transaktion aloitus, datan päivittäminen ja transaktion '
vahvistaminen (engl. commitment of transaction). Datan päivittäminen käsittää olemassa olevan datan muuttamisen, olemassa olevan datan poistamisen ja uuden datan lisäämisen. Vahvistaminen tarkoittaa päivitetyn datan saattamista voimassa olevaksi dataksi. Dataa, jonka muuttamiseksi, poistamiseksi tai 10 lisäämiseksi transaktio suoritetaan, kutsutaan tässä asiakirjassa hyötydataksi (engl. payload data). Voimassa olevaa hyötydataa ennen transaktion vahvistamista on se hyötydata, joka vastaa tilannetta ennen transaktion aloittamista. Transaktion aikana tapahtuneen vakavan järjestelmävirheen (esimerkiksi järjestelmän kaatumisen) jälkeisessä toipumisprosessissa mainittu 15 transaktio suoritetaan päätökseen, mikäli on päästy vahvistamisvaiheen alkuun eli kaikki päivitykset on ehditty tehdä. Mikäli näin ei ole, yhtäkään transaktioon liittyvää päivitystä ei saateta voimaan. T
Tietojärjestelmien toteuttamiseen käytetyissä laitteistoissa on usein kahden tyyppistä muistia: säilyvää muistia (engl. non-volatile memory) ja haihtuvaa muistia 20 (engl. volatile memory). Säilyvässä muistissa oleva tieto on saatavilla vakavan järjestelmävirheen jälkeisessä toipumisprosessissa. Sen sijaan haihtuvassa muistissa oleva tieto yleensä menetetään vakavan järjestelmävirheen yhteydessä.
Tässä asiakirjassa tarkastellaan tilannetta, jossa säilyvä muisti on toteutettu flash-tyyppisellä muistivälineellä. Puolijohde-flash-muistipiirien tyypillinen ominaisuus 25 on, että muistissa olevaa dataa ei voida yleensä päivittää samaan fyysiseen muistipaikkaan pyyhkimättä ensin kokonaista muistilohkoa tyhjäksi. Lohkotason pyyhinnän jälkeen kaikilla pyyhityn muistilohkon biteillä on yhteinen arvo, joka on tavallisesti T. Muistilohkon kukin bitti voidaan sen jälkeen erikseen muuttaa toiseen arvoon, joka on tavallisesti Ό’. Tämän jälkeen ainoa tapa muuttaa 30 tarkasteltavan bitin arvoa on pyyhkiä koko muistilohko jälleen tyhjäksi.
Tässä asiakirjassa termi ’’flash-tyyppinen muistiväline” tarkoittaa yhdellä tai useammalla puolijohde-flash-muistipiirillä toteutettua muistivälinettä tai loogista 3 flash-muistivälinettä eli LFMD-laitetta (engl. Logical Flash Memory Device), joka on järjestetty toimimaan puolijohde-flash-muistipiirien tyypillisten ominaisuuksien mukaan. Esimerkiksi magneettilevykeasema tai staattinen RAM-muistiväline (engl.
Random Access Memory) voidaan järjestää toimimaan kuten LFMD-laite. Lisäksi 5 flash-tyyppinen muistiväline voi olla laite, jossa on puolijohde-flash-muistipiiri yhdistettynä muulla tekniikalla toteutettuun muistivälineeseen kuten magneettilevykeasemaan tai staattiseen RAM-muistivälineeseen.
Tunnettu tekniikka
Julkaisussa WO0131458 "Method and arrangement for performing atomic updates 10 using a logical flash memory device” esitetään ratkaisu, jossa transaktion käsittelemiseksi flash-tyyppisessä muistivälineessä käytetään transaktiokohtaista tunnistemuuttujaa, joka ilmaisee, että transaktio on kesken. Mainittu tunnistemuuttuja tallennetaan flash-tyyppiseen muistivälineeseen, jotta mainitun tunnistemuuttujan sisältämää informaatiota ei menetettäisi mahdollisessa 15 järjestelmävirheessä. Eri transaktioihin liittyvät tunnistemuuttujat tallennetaan niitä varten varattuun (varattuihin) flash-tyyppisen muistivälineen muistilohkoon (muistilohkoihin). Lisäksi kussakin flash-tyyppisen muistivälineen muistilohkossa, jossa sijaitsee transaktion yhteydessä päivitettävää hyötydataa, on mainittua muistilohkoa koskeva muistilohkokohtainen tilatieto. Kyseinen tilatieto ilmaisee, 20 onko tarkasteltavassa muistilohkossa olevan kontrolli- ja hyötydatan päivitysoperaatio kesken vai päättynyt.
Kun uusi transaktio aloitetaan, kyseistä transaktiota koskeva tunnistemuuttuja lisätään aktiivisten transaktioiden tunnistemuuttujien luetteloon. Kyseinen luettelo on tallennettu sitä varten varattuun flash-tyyppisen muistivälineen yhteen tai 25 useampaan muistilohkoon. Kun transaktio on saatu päätökseen, tarkasteltavaa transaktiota koskeva tunnistemuuttuja poistetaan mainitusta luettelosta. Näin ollen mainittujen tunnistemuuttujien avulla ylläpidetään transaktioiden tilakirjanpitoa, joka ajantasaisesti ilmaisee kesken olevat transaktiot. Jokainen muutos aktiivisten transaktioiden tunnistemuuttujien luettelossa vaatii yhden kirjoitusoperaation ja 30 muistilohkon tyhjäksi pyyhkimisen. Näin ollen jokainen transaktio vaatii kaksi JK* 4 kirjoitusoperaatiota ja kaksi tyhjäksi pyyhkimistä siihen muistilohkoon, johon mainitun transaktion tunnistemuuttuja tallennetaan.
Flash-tyyppisen muistivälineen yksittäinen muistilohko kestää rajoitetun määrän kirjoitusoperaatioita. Toisin sanoen muistilohko kuluu, kun kirjoitusoperaatioita 5 toistetaan riittävän monta kertaa. Kun yksikin muistivälineen muistilohkoista on vioittunut, joudutaan yleensä koko muistiväline uusimaan. Lisäksi esimerkiksi puolijohde-flash-muistipiirien yhteydessä usein toistuvat kirjoitusoperaatiot pienentävät käytettävissä olevien muistilohkojen lukumäärää. Puolijohde-flash-muistipiirin muistilohkon tyhjennys on huomattavasti hitaampi toimenpide kuin 10 tietojen lukeminen muistilohkosta. Mikäli tietyssä muistilohkossa olevaan tietoon tarvitsee tehdä muutos, joudutaan kyseinen muistilohko ensin tyhjentämään ja sitten kirjoittamaan muuttunut tieto. Tästä johtuva nopeusongelma voidaan ratkaista siten, että muuttunut tieto kirjoitetaan jo valmiiksi tyhjennettyyn toiseen muistilohkoon, jolloin aiemmin käytössä ollut muistilohko tarvitsee tyhjentää vasta 15 tiedostopäivityksen jälkeen. Usein toistuvat tyhjennys- ja kirjoitusoperaatiot aiheuttavat kuitenkin sen, että tietyllä tarkasteluhetkellä tyhjennettävänä olevien tai tyhjennystä odottavien muistilohkojen lukumäärä on suuri, mikä pienentää käytettävissä olevien muistilohkojen lukumäärää.
Keksinnön yhteenveto 20 Keksinnön kohteena on flash-tyyppiseen muistivälineeseen tallennettavan tiedon transaktioiden suorittamiseen tarkoitettu menetelmä, jonka avulla voidaan poistaa tai vähentää tunnettuun tekniikkaan liittyviä rajoituksia ja epäkohtia. Keksinnön kohteena on myös mainittuun menetelmään liittyvä toipumismenetelmä transaktion aikana tapahtuneesta järjestelmävirheestä toipumiseksi. Keksinnön kohteena on 25 myös flash-tyyppiseen muistivälineeseen tallennettavan tiedon transaktioiden käsittelemiseen tarkoitettu järjestely, jonka avulla voidaan poistaa tai vähentää tunnettuun tekniikkaan liittyviä rajoituksia ja epäkohtia. Keksinnön kohteena on myös tietokoneohjelma, jossa on ohjelmalliset välineet flash-tyyppiseen muistivälineeseen tallennettavan tiedon transaktioiden käsittelemiseksi siten, että 30 voidaan poistaa tai vähentää tunnettuun tekniikkaan liittyviä rajoituksia ja epäkohtia.
_______ _ ___ _ M
5 Tässä keksinnössä on yllättäen havaittu, että muistilohkokohtaista tilatietoa voidaan käyttää muistilohkossa olevan hyötydatan hallinnan lisäksi myös koko transaktion hallintaan. Näin ollen vältetään tarve suorittaa erillistä transaktioiden tilakirjanpitoa.
5 Keksinnön avulla saavutetaan seuraavat edut: - säästetään flash-tyyppisen muistivälineen muistikapasiteettia, koska erillistä transaktioiden tilakirjanpitoa ei tarvita, - transaktiossa tarvittavien päivitysoperaatioiden lukumäärä vähenee, koska ei tarvitse päivittää transaktioiden tilakirjanpitoa, ja 10 - päivitysoperaatioiden vähentäminen kasvattaa flash-tyyppisen muistivälineen käyttöikää ja pienentää sen tehonkulutusta. *
Keksinnön mukainen menetelmä flash-tyyppiseen muistivälineeseen tallennettavan tiedon transaktion suorittamiseen on tunnettu siitä, että menetelmässä: i 15 - suoritetaan mainittuun transaktioon liittyvä hyötydatan kirjoitusoperaatio mainitun flash-tyyppisen muistivälineen muistilohkoon, - asetetaan mainitun muistilohkon muistilohkokohtainen tilatieto ilmaisemaan, * että mainittu transaktio on vahvistamisvaiheessa, ja - saatetaan mainittuun muistilohkoon kirjoitettu hyötydata voimassa olevaksi 20 hyötydataksi.
Keksinnön mukainen toipumismenetelmä transaktion aikana tapahtuneesta järjestelmävirheestä toipumiseksi flash-tyyppiseen muistivälineeseen perustuvassa laitteistossa on tunnettu siitä, että toipumismenetelmässä: Ί - luetaan mainitun flash-tyyppisen muistivälineen muistilohkon · 25 muistilohkokohtainen tilatieto, - määritetään, ilmaiseeko mainittu muistilohkokohtainen tilatieto, että mainittu transaktio on vahvistamisvaiheessa, ja 6 - saatetaan mainitussa muistilohkossa oleva hyötydata voimassa olevaksi hyötydataksi vasteena tilanteelle, jossa mainittu muistilohkokohtainen tilatieto ilmaisee, että mainittu transaktio on vahvistamisvaiheessa.
Keksinnön mukainen järjestely flash-tyyppiseen muistivälineeseen tallennettavan S tiedon transaktion käsittelemiseksi on tunnettu siitä, että järjestelyssä on hallintavälineet, jotka on liitetty mainittuun flash-tyyppiseen muistivälineeseen ja jotka on sovitettu: - suorittamaan mainittuun transaktioon liittyvä hyötydatan kirjoitusoperaatio mainitun flash-tyyppisen muistivälineen muistilohkoon, 10 - asettamaan mainitun muistilohkon muistilohkokohtainen tilatieto ilmaisemaan, että mainittu transaktio on vahvistamisvaiheessa, - lukemaan mainitun muistilohkon muistilohkokohtainen tilatieto ja määrittämään, onko mainittu muistilohkokohtainen tilatieto asetettu ilmaisemaan, että mainittu transaktio on vahvistamisvaiheessa, ja 15 - saattamaan mainittuun muistilohkoon kirjoitettu hyötydata voimassa olevaksi hyötydataksi vasteena tilanteelle, jossa mainittu muistilohkokohtainen tilatieto on asetettu ilmaisemaan, että mainittu transaktio on vahvistamisvaiheessa.
Keksinnön mukainen tietokoneohjelma flash-tyyppiseen muistivälineeseen 20 tallennettavan tiedon transaktion käsittelemiseksi on tunnettu siitä, että tietokoneohjelmassa on: - ohjelmalliset välineet prosessointiyksikön ohjaamiseksi suorittamaan mainittuun transaktioon liittyvä hyötydatan kirjoitusoperaatio mainitun flash-tyyppisen muistivälineen muistilohkoon, 25 - ohjelmalliset välineet prosessointiyksikön ohjaamiseksi asettamaan mainitun muistilohkon muistilohkokohtainen tilatieto ilmaisemaan, että mainittu transaktio on vahvistamisvaiheessa, 7 - ohjelmalliset välineet prosessointiyksikön ohjaamiseksi lukemaan mainitun muistilohkon muistilohkokohtainen tilatieto ja määrittämään, onko mainittu muistilohkokohtainen tilatieto asetettu ilmaisemaan, että mainittu transaktio on vahvistamisvaiheessa, ja 5 - ohjelmalliset välineet prosessointiyksikön ohjaamiseksi saattamaan mainittuun muistilohkoon kirjoitettu hyötydata voimassa olevaksi hyötydataksi vasteena tilanteelle, jossa mainittu muistilohkokohtainen tilatieto on asetettu ilmaisemaan, että mainittu transaktio on vahvistamisvaiheessa, 10 Keksinnön erilaisille suoritusmuodoille on tunnusomaista se, mitä on esitetty epäitsenäisissä patenttivaatimuksissa.
Kuvioiden lyhyt kuvaus
Seuraavassa selostetaan keksintöä yksityiskohtaisemmin viitaten esimerkkeinä esitettyihin edullisiin suoritusmuotoihin ja oheisiin kuvioihin, joissa 15 kuvio 1 esittää keksinnön yhden suoritusmuodon mukaista järjestelyä flash-tyyppiseen muistivälineeseen tallennettavan tiedon transaktion käsittelemiseksi, kuvio 2 esittää keksinnön yhden suoritusmuodon mukaista järjestelyä flash-tyyppiseen muistivälineeseen tallennettavan tiedon transaktion käsittelemiseksi, kuvio 3 esittää vuokaaviona keksinnön yhden suoritusmuodon mukaista 20 menetelmää flash-tyyppiseen muistivälineeseen tallennettavan tiedon transaktion suorittamiseksi, ja kuvio 4 esittää vuokaaviona keksinnön yhden suoritusmuodon mukaista toipumismenetelmää transaktion aikana tapahtuneesta järjestelmävirheestä toipumiseksi flash-tyyppiseen muistivälineeseen perustuvassa laitteistossa.
25 Keksinnön suoritusmuotojen yksityiskohtainen kuvaus
Kuvio 1 esittää keksinnön yhden suoritusmuodon mukaista järjestelyä flash-tyyppiseen muistivälineeseen 101 tallennettavan tiedon transaktion 8 käsittelemiseksi. Järjestelyssä on hallintavälineet 102, jotka on liitetty mainittuun flash-tyyppiseen muistivälineeseen 101. Hallintavälineet 102 koostuvat yhdestä tai useammasta prosessorista ja rajapintavälineistä, joiden avulla toteutetaan tiedonsiirto 103 flash-tyyppisen muistivälineen ja hallintavälineiden kesken sekä 5 tiedonsiirto 104 hallintavälineiden ja ulkopuolisten laitteistojen kesken.
Hallintavälineet 102 voivat lisäksi sisältää yhden tai useampia muistivälineitä. Flash-tyyppisessä muistivälineessä on muistilohkoja, joista muistilohkot 111-115 on esitetty kuviossa 1.
Flash-tyyppisen muistivälineen 101 kuhunkin muistilohkoon voidaan tallentaa 10 kyseisen muistilohkon kontrollidataa (C) 121-125. Kontrollidataan C kuuluu edullisesti looginen muistilohkotunniste. Järjestelyssä ylläpidetään osoitetaulukkoa, joka liittää kunkin muistilohkon fyysisen osoitteen kyseisen muistilohkon loogiseen muistilohkotunnisteeseen. Kyseistä osoitetaulukkoa voidaan ylläpitää esimerkiksi hallintavälineiden 102 sisäisessä työmuistissa tai 15 flash-tyyppisen muistivälineen sellaisessa muistilohkossa, jonka fyysinen osoite on kaikissa tilanteissa hallintavälineiden käytettävissä. Kuhunkin muistilohkoon voidaan tallentaa hyötydata (D) 141-145 ja muistilohkokohtainen tilatieto (S) 131-135.
Tilatiedon S avulla voidaan ilmaista että: 20 - muistilohkossa oleva hyötydata on voimassa olevaa hyötydataa, tai - muistilohkossa oleva hyötydata on epärelevanttia, tai - muistilohkossa oleva hyötydata on kelpoista, tai - muistilohkossa oleva hyötydata on kelpoista ja lisäksi transaktio on vahvistamisvaiheessa.
25 Esimerkiksi pankkitilin muuttunut saldotieto, joka on tallennettu flash-tyyppiseen muistivälineeseen mutta jota koskevaa tilitapahtumaa käsittelevä transaktio on vielä kesken, edustaa hyötydataa, joka on kelpoista mutta ei ole voimassa. Transaktio voi olla kesken esimerkiksi siitä syystä, että saldotiedon muutosta 9 koskevaa tilitapahtumamerkintää ei ole vielä tallennettu flash-tyyppiseen muistivälineeseen.
Hallintavälineet 102 on sovitettu suorittamaan transaktioon liittyvä hyötydatan D kirjoitusoperaatio flash-tyyppisen muistivälineen 101 muistilohkoon, asettamaan 5 mainitun muistilohkon muistilohkokohtainen tilatieto S ilmaisemaan, että mainittu transaktio on vahvistamisvaiheessa, lukemaan mainitun muistilohkon muistilohkokohtainen tilatieto S ja määrittämään, onko mainittu muistilohkokohtainen tilatieto S asetettu ilmaisemaan, että mainittu transaktio on vahvistamisvaiheessa, ja saattamaan mainittuun muistilohkoon kirjoitettu 10 hyötydata D voimassa olevaksi hyötydataksi vasteena tilanteelle, jossa mainittu muistilohkokohtainen tilatieto S on asetettu ilmaisemaan, että mainittu transaktio ' on vahvistamisvaiheessa.
Tarkastellaan ensin kuviossa 1 esitetyn keksinnön suoritusmuodon mukaisen järjestelyn toimintaa yksinkertaisessa tilanteessa, jossa transaktion yhteydessä 15 tarvitsee kirjoittaa transaktiossa päivitettävää hyötydataa vain yhteen muistilohkoon. Oletetaan, että transaktion alkaessa muistilohko 111 ei ole käytössä ja siihen voidaan suorittaa kirjoitusoperaatioita. Toisin sanoen muistilohko 111 on transaktion alkaessa vapaa. Lisäksi oletetaan, että muistilohkon kontrollidataan 121 ei tarvitse tehdä muutoksia. Yleissyyttä 20 rajoittamatta voidaan olettaa, että transaktiossa päivitettävä hyötydata kirjoitetaan muistilohkoon 111. Hallintavälineet 102 kirjoittavat päivitettävän hyötydatan 141 muistilohkoon 111. Muistilohkoon 111 kirjoitettu hyötydata 141 voi olla tarkoitettu korvaamaan jossain toisessa muistilohkossa olevan hyötydatan tai hyötydata 141 voi olla pelkästään lisättävää hyötydataa, jolloin se ei korvaa missään toisessa 25 muistilohkossa olevaa hyötydataa. Siirto transaktion vahvistamisvaiheeseen toteutetaan siten, että hallintavälineet kirjoittavat tilatiedoksi 131 arvon, joka ilmaisee transaktion olevan vahvistamisvaiheessa. Tämän jälkeen muistilohkossa 111 oleva hyötydata 141 saatetaan voimassa olevaksi hyötydataksi, joka mahdollisesti korvaa jossain toisessa muistilohkossa olevan vanhemman 30 hyötydatan. Tällöin transaktio on suoritettu. Eri vaihtoehtoja hyötydatan voimaansaattamisen toteuttamiseksi käsitellään jäljempänä tässä asiakirjassa.
10
Tarkastellaan seuraavassa tilannetta, jossa tapahtuu vakava järjestelmävirhe, ennen kuin hyötydata 141 on saatettu voimassaolevaksi hyötydataksi. Vakavan järjestelmävirheen jälkeisessä toipumisprosessissa hallintavälineet 102 lukevat muistilohkon 111 tilatiedon 131. Mikäli tilatieto 131 ilmaisee, että transaktio on 5 päässyt vahvistamisvaiheeseen, voidaan olla riittävän varmoja siitä, että muistilohkossa 111 oleva hyötydata 141 on onnistuneesti päivitetty. Tällöin muistilohkossa 111 oleva hyötydata 141 saatetaan voimassa olevaksi hyötydataksi, joka mahdollisesti korvaa jossain toisessa muistilohkossa olevan vanhemman hyötydatan. Mikäli tilatieto 131 ei ilmaise transaktion päässeen 10 vahvistamisvaiheeseen, on olemassa riski, että muistilohkossa 111 oleva hyötydata ei ole onnistuneesti päivitettyä. Tällöin transaktio peruuntuu ja tilanteessa, jossa muistilohkoon 111 kirjoitettu hyötydata 141 on tarkoitettu ·.; korvaamaan jossain toisessa muistilohkossa olevan vanhemman hyötydatan, mainittu toisessa muistilohkossa oleva vanhempi hyötydata jää voimassa olevaksi 15 hyötydataksi.
Tarkastellaan seuraavaksi kuviossa 1 esitetyn keksinnön suoritusmuodon mukaisen järjestelyn toimintaa tilanteessa, jossa transaktion yhteydessä kirjoitetaan transaktiossa päivitettävää hyötydataa flash-tyyppisen muistivälineen useampaan kuin yhteen muistilohkoon. Yleissyyttä rajoittamatta voidaan olettaa, 20 että transaktiossa päivitettävä hyötydata kirjoitetaan muistilohkoihin 112, 113 ja 114. Mainittujen muistilohkojen 112, 113 ja 114 oletetaan olevan vapaita transaktion alkaessa. Yleisyyttä rajoittamatta voidaan olettaa, että hyötydataa kirjoitetaan ensin muistilohkoon 112, seuraavaksi muistilohkoon 113 ja viimeiseksi muistilohkoon 114. Lisäksi oletetaan, että muistilohkojen kontrollidataan C ei 25 tarvitse tehdä muutoksia.
Hallintavälineet 102 kirjoittavat päivitettävän hyötydatan 142 muistilohkoon 112.
Tämän jälkeen hallintavälineet 102 kirjoittavat tilatiedoksi 132 arvon, joka ilmaisee, ’ että muistilohkossa 112 oleva hyötydata 142 on kelpoista. Muistilohkossa 112 oleva hyötydata 142 on kelpoista, mutta transaktiota ei voida vielä siirtää 30 vahvistamisvaiheeseen, koska mainittuun transaktioon kuuluvat muistilohkoihin 113 ja 114 tehtävät kirjoitusoperaatiot ovat vielä tekemättä. Hallintavälineet 102 kirjoittavat päivitettävän hyötydatan 143 muistilohkoon 113. Tämän jälkeen 11 hallintavälineet 102 kirjoittavat tilatiedoksi 133 arvon, joka ilmaisee, että muistilohkossa 113 oleva hyötydata 143 on kelpoista. Hallintavälineet 102 kirjoittavat päivitettävän hyötydatan 144 muistilohkoon 114. Tämän jälkeen kaikissa muistilohkoissa 112, 113 ja 114 oleva hyötydata on kelpoista, joten 5 transaktio voidaan siirtää vahvistamisvaiheeseen.
Hallintavälineet 102 on sovitettu siirtämään tarkasteltava transaktio vahvistamisvaiheeseen siten, että vähintään yhden muistilohkon 112 ja/tai 113 ja/tai 114 muistilohkokohtaiseksi tilatiedoksi 132 ja/tai 133 ja/tai 134 asetetaan arvo, joka ilmaisee, että transaktio on vahvistamisvaiheessa. Mikäli viimeisenä 10 kirjoitetun muistilohkon 114 tilatietoa ei aseteta ilmaisemaan, että transaktio on vahvistamisvaiheessa, muistilohkon 114 tilatieto on asetettava ilmaisemaan, että muistilohkossa 114 oleva hyötydata 144 on kelpoista. On huomattava, että tilatieto, joka ilmaisee transaktion olevan vahvistamisvaiheessa, ilmaisee samalla myös muistilohkoon tallennetun hyötydatan olevan kelpoista.
15 Tämän jälkeen kussakin muistilohkossa 112, 113 ja 114 oleva hyötydata 142, 143 ja 144 saatetaan voimassa olevaksi hyötydataksi, joka mahdollisesti korvaa jossain toisessa muistilohkossa olevan vanhemman hyötydatan. Tällöin transaktio on suoritettu. Tilanne voi olla esimerkiksi sellainen, että muistilohkossa 112 oleva hyötydata 142 korvaa muistilohkossa 111 olevan hyötydatan 141, muistolohkossa 20 114 oleva hyötydata 144 korvaa muistolohkossa 115 olevan hyötydatan 145 ja muistilohkossa 113 oleva hyötydata 143 on pelkästään lisättävää hyötydataa, jolloin se ei korvaa missään toisessa muistilohkossa olevaa hyötydataa. Eri vaihtoehtoja hyötydatan voimaansaattamisen toteuttamiseksi käsitellään ,·> jäljempänä tässä asiakirjassa.
25 Tarkastellaan seuraavassa tilannetta, jossa tapahtuu vakava järjestelmävirhe, ennen kuin kaikki transaktiossa kirjoitettu hyötydata 142, 143 ja 144 on saatettu voimassaolevaksi hyötydataksi. Vakavan järjestelmävirheen jälkeisessä toipumisprosessissa hallintavälineet 102 lukevat flash-tyyppisen muistivälineen I
muistilohkojen tilatiedot. Mikäli ainakin yhden muistilohkon muistilohkokohtainen 30 tilatieto ilmaisee, että transaktio on päässyt vahvistamisvaiheeseen, voidaan olla riittävän varmoja siitä, että niiden muistilohkojen, joiden tilatieto ilmaisee 12 transaktion olevan vahvistamisvaiheessa ja/tai tarkasteltavan muistilohkon sisältämän tiedon olevan kelpoista, muodostama muistiiohkojen joukko sisältää 4 kaikki ne muistilohkot, joihin transaktiossa on haluttu kirjoittaa hyötydataa. Tällöin mainitun joukon kussakin muistilohkossa oleva hyötydata saatetaan voimassa 5 olevaksi hyötydataksi, joka mahdollisesti korvaa jossain toisessa muistilohkossa olevan vanhemman hyötydatan. Mikäli yhdenkään muistilohkon muistilohkokohtainen tilatieto ei ilmaise transaktion päässeen vahvistamisvaiheeseen, on olemassa riski, että mainittu muistiiohkojen joukko ei sisällä kaikkia niitä muistilohkoja, joihin on haluttu kirjoittaa hyötydataa. ' 10 Järjestelmävirhe on siis saattanut aiheuttaa sen, että joihinkin muistilohkoihin ei ole ehditty kirjoittaa ollenkaan ja/tai johonkin muistilohkoon kirjoittaminen on jäänyt kesken. Tällöin transaktio peruuntuu ja tilanteessa, jossa johonkin muistilohkoon kirjoitettu hyötydata on tarkoitettu korvaamaan jossain toisessa muistilohkossa olevan vanhemman hyötydatan, mainittu toisessa muistilohkossa oleva vanhempi 15 hyötydata jää voimassa olevaksi hyötydataksi.
Jatkossa tässä asiakirjassa niitä flash-tyyppisen muistivälineen muistilohkoja, joiden muistilohkokohtaista tilatietoa käytetään transaktion vahvistamisvaiheen ilmaisemiseen, kutsutaan ilmaiseviksi muistilohkoiksi. Niitä muistilohkoja, joihin transaktiossa kirjoitetaan päivitettävää hyötydataa, kutsutaan päivitettäviksi 20 muistilohkoiksi. Edullisesti ainoastaan yksi päivitettävistä muistilohkoista valitaan ilmaisevaksi muistilohkoksi.
Keksinnön yhden suoritusmuodon mukaisessa järjestelyssä hallintavälineet 102 on sovitettu valitsemaan ilmaisevaksi muistilohkoksi se päivitettävä muistilohko, jonka fyysinen osoite on pienin. Lisäksi hallintavälineet 102 on sovitettu 25 asettamaan ilmaisevan muistilohkon muistilohkokohtainen tilatieto kahdessa vaiheessa siten, että ensin tilatieto asetetaan ilmaisemaan, että ilmaisevassa muistilohkossa oleva hyötydata on kelpoista, ja sen jälkeen, kun kaikissa muissakin päivitettävissä muistilohkoissa oleva hyötydata on kelpoista, mainittu tilatieto asetetaan ilmaisemaan, että transaktio on vahvistamisvaiheessa. Mikäli 30 järjestelmävirheen jälkeisessä toipumisprosessissa muistilohkot luetaan fyysisten osoitteiden kasvavassa järjestyksessä alkaen pienimmästä fyysisestä osoitteesta, keksinnön tällä suoritusmuodolla saavutetaan se etu, että löydettäessä ilmaiseva 13 muistilohko, joka indikoi transaktion olevan vahvistamisvaiheessa, voidaan olla varmoja, että kaikki muut muistilohkot, joihin transaktiossa on kirjoitettu tietoa, ovat löydettävissä ilmaisevan muistilohkon löytymisen jälkeen.
Keksinnön yhden suoritusmuodon mukaisessa järjestelyssä hallintavälineet 102 5 on sovitettu valitsemaan ilmaisevaksi muistilohkoksi se päivitettävä muistilohko, jonka fyysinen osoite on suurin. Lisäksi hallintavälineet 102 on sovitettu asettamaan ilmaisevan muistilohkon muistilohkokohtainen tilatieto kahdessa vaiheessa siten, että ensin tilatieto asetetaan ilmaisemaan, että ilmaisevassa muistilohkossa oleva hyötydata on kelpoista, ja sen jälkeen, kun kaikissa 10 muissakin päivitettävissä muistilohkoissa oleva hyötydata on kelpoista, mainittu tilatieto asetetaan ilmaisemaan, että transaktio on vahvistamisvaiheessa. Mikäli järjestelmävirheen jälkeisessä toipumisprosessissa muistilohkot luetaan fyysisten osoitteiden alenevassa järjestyksessä alkaen suurimmasta fyysisestä osoitteesta, keksinnön tällä suoritusmuodolla saavutetaan se etu, että löydettäessä ilmaiseva 15 muistilohko, joka indikoi transaktion olevan vahvistamisvaiheessa, voidaan olla varmoja, että kaikki muut muistilohkot, joihin transaktiossa on kirjoitettu tietoa, ovat löydettävissä ilmaisevan muistilohkon löytymisen jälkeen.
Keksinnön yhden suoritusmuodon mukaisessa järjestelyssä hallintavälineet 102 on sovitettu valitsemaan ilmaisevaksi muistilohkoksi se päivitettävä muistilohko, 20 jonka fyysinen osoite on pienin. Lisäksi hallintavälineet 102 on sovitettu valitsemaan muistilohkojen kirjoitusjärjestys siten, että ilmaiseva muistilohko käsitellään viimeisenä. Tällöin ilmaisevan muistilohkon muistilohkokohtainen tilatieto voidaan asettaa ilmaisemaan, että transaktio on vahvistamisvaiheessa, heti sen jälkeen, kun halutut tiedot on kirjoitettu ilmaisevaan muistilohkoon.
25 Keksinnön yhden suoritusmuodon mukaisessa järjestelyssä hallintavälineet 102 on sovitettu valitsemaan ilmaisevaksi muistilohkoksi se päivitettävä muistilohko, jonka fyysinen osoite on suurin. Lisäksi hallintavälineet 102 on sovitettu valitsemaan muistilohkojen kirjoitusjärjestys siten, että ilmaiseva muistilohko t käsitellään viimeisenä. Tällöin ilmaisevan muistilohkon muistilohkokohtainen 30 tilatieto voidaan asettaa ilmaisemaan, että transaktio on vahvistamisvaiheessa, heti sen jälkeen, kun halutut tiedot on kirjoitettu ilmaisevaan muistilohkoon.
14
Keksinnön yhden suoritusmuodon mukaisessa järjestelyssä hallintavälineet 102 on sovitettu valitsemaan ilmaisevaksi muistilohkoksi se päivitettävä muistilohko, johon transaktion yhteydessä kirjoitetaan hyötydataa viimeiseksi. Tällöin ilmaisevan muistilohkon muistilohkokohtainen tilatieto voidaan asettaa 5 ilmaisemaan, että transaktio on vahvistamisvaiheessa, heti sen jälkeen, kun halutut tiedot on kirjoitettu ilmaisevaan muistilohkoon. Ilmaiseva muistilohko voi olla jokin muu päivitettävä muistilohko kuin se päivitettävä muistilohko, jonka fyysinen osoite on pienin tai suurin.
Tarkastellaan seuraavassa esimerkinomaista tilannetta, jossa flash-tyyppisen 10 muistivälineen 101 muistilohkoon 111 halutaan transaktiossa kirjoittaa hyötydata 141, joka korvaa flash-tyyppisen muistivälineen 101 muistilohkoon 112 tallennetun vanhemman hyötydatan 142. Hyötydata 142 on transaktion alkaessa voimassa olevaa hyötydataa.
Keksinnön yhden suoritusmuodon mukaisessa järjestelyssä kuhunkin 15 muistilohkoon tallennettu kontrollidata C sisältää syklisen ikäindikaattorin ja hallintavälineet 102 on sovitettu määrittämään päivitetty syklisen ikäindikaattorin arvo, joka ennalta asetetun säännön mukaisessa järjestyksessä seuraa muistilohkossa 112 olevan syklisen ikäindikaattorin arvoa, ja kirjoittamaan ennen transaktion siirtymistä vahvistusvaiheeseen mainittu päivitetty syklisen 20 ikäindikaattorin arvo muistilohkoon 111. Mainittua syklistä ikäindikaattoria voidaan päivittää esimerkiksi siten, että syklisen ikäindikaattorin arvoa lisätään yhdellä transaktion alkaessa ja, kun syklinen ikäindikaattori saavuttaa ennalta asetetun loppuarvon, se asetetaan ennalta asetettuun alkuarvoon. Tällöin kullakin transaktiolla on tietty syklisen ikäindikaattorin arvo.
25 Keksinnön yhden suoritusmuodon mukaisessa järjestelyssä hallintavälineet 102 on sovitettu asettamaan ennen transaktion siirtymistä vahvistusvaiheeseen muistilohkon 111 kontrollidatan 121 sisältämälle loogiselle muistilohkotunnisteelle sama arvo kuin muistilohkon 112 loogisella muistilohkotunnisteella. Hallintavälineet 102 on sovitettu määrittämään loogisten muistilohkotunnisteiden 30 avulla, mitkä muistilohkot sisältävät toisiaan vastaavan uudemman ja vanhemman hyötydatan kuten muistilohkot 111 ja 112 tässä esimerkinomaisessa tilanteessa.
15
Keksinnön yhden suoritusmuodon mukaisessa järjestelyssä hallintavälineet 102 on sovitettu kirjoittamaan kontrollidata C muistilohkoon ennen muistilohkokohtaisen tilatiedon asettamista ilmaisemaan, että muistilohkossa oleva hyötydata on kelpoista. Tällöin muistilohkokohtainen tilatieto, joka ilmaisee 5 hyötydatan olevan kelpoista, ilmaisee myös kontrollidatan olevan kelpoista.
. g
Keksinnön yhden suoritusmuodon mukaisessa järjestelyssä hallintavälineet 102 on sovitettu kirjoittamaan ennen transaktion siirtymistä vahvistusvaiheeseen kunkin muistilohkon kontrollidataan C meneillään olevan transaktion yksikäsitteisesti identifioiva transaktiotunniste. Tällöin flash-tyyppisessä muistivälineessä voidaan 10 suorittaa samanaikaisesti useita rinnakkaisia transaktioita. Hallintavälineet 102 on sovitettu määrittämään transaktio, jonka alaisuudessa tiettyä muistilohkoa käytetään, mainitun transaktiotunnisteen perusteella.
Keksinnön yhden suoritusmuodon mukaisessa järjestelyssä hallintavälineet 102 on sovitettu kirjoittamaan muistilohkokohtainen tilatieto S mainittuun muistilohkoon 15 kirjoitettavan tiedon T jälkeiseen muistialueeseen. Tiedon T jälkeinen muistialue tarkoittaa mainitun muistilohkon osoiteavaruuden aluetta, joka fyysisen osoitteen kasvujärjestyksessä seuraa sitä mainitun muistilohkon osoiteavaruuden osaa, johon tieto T tallennetaan. Tällöin tieto T ja muistilohkokohtainen tilatieto S voidaan kirjoittaa yhdellä kertaa peräkkäin ja tilatiedon S oikeellisuus toimii 20 varmentajana, että tiedon T kirjoittaminen on onnistunut.
Keksinnön yhden suoritusmuodon mukaisessa järjestelyssä tieto T on transaktiotunniste.
Keksinnön yhden suoritusmuodon mukaisessa järjestelyssä tieto T edustaa mainitun muistilohkon otsikkotietoja. Muistilohkon otsikkotiedot koostuvat 25 tyypillisesti kontrollidatasta C.
Keksinnön yhden suoritusmuodon mukaisessa järjestelyssä tieto T edustaa kaikkea muuta mainittuun muistilohkoon kirjoitettavaa tietoa kuin mainittua tilatietoa.
i 16
Keksinnön yhden suoritusmuodon mukaisessa järjestelyssä hallintavälineet 102 on sovitettu ilmaisemaan muistilohkokohtaisen tilatiedon S avulla seuraavat mahdolliset tilat: - A: muistilohko on vapaa kirjoitettavaksi, 5 - B: muistilohkossa oleva hyötydata on kelpoista, - C: transaktio on vahvistamisvaiheessa, - D: muistilohkossa oleva hyötydata on voimassa, ja - E: muistilohkossa oleva hyötydata on epärelevanttia.
Keksinnön yhden suoritusmuodon mukaisessa järjestelyssä tila A tarkoittaa, että 10 puolijohde-flash-muistipiirin muistilohko on tilassa, jossa kaikilla muistilohkon biteillä on yhteinen arvo, joka on tavallisesti T. Muistilohkon kukin bitti voidaan sen jälkeen erikseen muuttaa toiseen arvoon, joka on tavallisesti Ό’. Tämän jälkeen ainoa tapa muuttaa tarkasteltavan bitin arvoa on alustaa koko muistilohko jälleen tyhjäksi. Hallintavälineet 102 on sovitettu suorittamaan tilassa E olevalle 15 muistilohkolle alustusoperaatio, jolloin mainittu muistilohko siirtyy tilaan A.
Keksinnön yhden suoritusmuodon mukaisessa järjestelyssä hallintavälineet 102 on sovitettu toteuttamaan mikä tahansa seuraavista tilasiirtymistä: tilasta A tilaan B, tilasta B tilaan C, tilasta C tilaan D, ja tilasta D tilaan E, muuttamalla ainoastaan yhden bitin arvo mainittua muistilohkokohtaista tilatietoa edustavassa 20 bittivektorissa. Tällöin esimerkiksi siirtymä tilasta B (muistilohkossa oleva hyötydata on kelpoista) tilaan C (transaktio on vahvistamisvaiheessa) on atomaarinen siten, että tilasiirtymä joko täydellisesti tapahtuu tai on tapahtumatta. Tilasiirtymän osittainen tapahtuminen esimerkiksi järjestelmävirheen vuoksi ei ole mahdollista, koska yksittäinen bitin arvo joko muuttuu tai ei muutu.
25 Tilat A, B, C, D ja E voidaan kuvata esimerkiksi seuraavilla tilatietoa edustavilla bittivektoreilla: A: 1111 (muistilohko on vapaa kirjoitettavaksi) 17 B: 0111 (muistilohkossa oleva hyötydata on kelpoista) C: 0011 (transaktio on vahvistamisvaiheessa) D: 0001 (muistilohkossa oleva hyötydata on voimassa) E: * * * 0 (muistilohkossa oleva hyötydata on epärelevanttia), 5 missä '*’ on villikortti (engl. wildcard), joka saa olla joko Ό’ tai Ί'.
Tilasiirtymä tilasta B tilaan D ei ole atomaarinen. Esimerkiksi järjestelmävirheen takia on mahdollista, että haluttu tilasiirtymä tilasta B tilaan D tulee suoritetuksi vain osittain siten, että ainoastaan tilatiedon vasemmalta lukien toinen bitti muuttuu ykkösestä nollaksi. Tällöin on tapahtunut virheellinen tilasiirtymä tilasta B .
10 tilaan C. Tämä ei kuitenkaan ole ongelma, jos toipumisprosessissa sovellettava ehto on sellainen, että vähintään yhden muistilohkon tilatiedon tulee ilmaista, että transaktio on vahvistamisvaiheessa. Tällöin siis tilanne, jossa kahden muistilohkon tilatieto ilmaisee transaktion olevan vahvistamisvaiheessa, ei tuota ongelmaa.
Edellä kuvattu tilatiedon bittivektoriesitys mahdollistaa myös sen, että tilasiirtymä 15 mistä tahansa tiloista A-D tilaan E on atomaarinen.
Keksinnön yhden suoritusmuodon mukaisessa järjestelyssä hallintavälineet 102 on sovitettu käyttämään flash-tyyppisen muistivälineen 101 muistilohkoja väliaikaisten tietojen tallennusmuistina transaktion käsittelyssä. Tarkastellaan tämän suoritusmuodon toiminnan havainnollistamiseksi esimerkinomaista 20 tilannetta, jossa muistilohkoon 111 tarvitsee transaktiossa kirjoittaa hyötydata 141, joka korvaa muistilohkoon 112 tallennetun vanhemman hyötydatan 142. Hyötydata 142 on transaktion alkaessa voimassa olevaa hyötydataa. Sen jälkeen, kun hyötydata 141 on kirjoitettu muistilohkoon 111 tulee tilanne, että mainittua hyötydataa joudutaan muuttamaan. Yleisyyttä rajoittamatta voidaan olettaa, että 25 muistilohko 113 on vapaa kirjoitettavaksi. Hallintavälineet 102 on sovitettu asettamaan muistilohkon 111 tilatieto ilmaisemaan, että muistilohkossa 111 oleva hyötydata on epärelevanttia, kirjoittamaan muistilohkoon 113 muuttunut hyötydata 141, jota edustaa hyötydata 143, ja asettamaan muistilohkon 113 tilatieto ilmaisemaan, että muistilohkossa 113 oleva hyötydata on kelpoista.
18
Tarkastellaan seuraavassa hyötydatan voimaansaattamista esimerkinomaisessa tilanteessa, jossa flash-tyyppisen muistivälineen 101 muistilohkoon 111 on transaktiossa kirjoitettu hyötydata 141, joka korvaa flash-tyyppisen muistivälineen 101 muistilohkoon 112 tallennetun vanhemman hyötydatan 142. Hyötydata 142 on 5 transaktion alkaessa voimassa olevaa hyötydataa.
Keksinnön yhden suoritusmuodon mukaisessa järjestelyssä hallintavälineet 102 on sovitettu asettamaan ensimmäisessä vaiheessa muistilohkon 112 muistilohkokohtainen tilatieto ilmaisemaan, että muistilohkossa 112 oleva vanhempi hyötydata 142 on epärelevanttia, ja toisessa vaiheessa muistilohkon 10 111 muistilohkokohtainen tilatieto ilmaisemaan, että muistilohkossa 111 oleva hyötydata 141 on voimassa, missä mainittu ensimmäinen vaihe on aikaisempi kuin mainittu toinen vaihe.
Tarkastellaan tilannetta, jossa vakava järjestelmävirhe tapahtuu ensimmäisen vaiheen jälkeen ja ennen toista vaihetta. Tällöin järjestelmävirheen jälkeinen 15 toipumisprosessi alkaa tilasta, jossa muistilohkon 112 hyötydata 142 on epärelevanttia ja muistilohkon 111 hyötydata 141 on kelpoista. Näin ollen toipumisprosessissa transaktio jatkuu ikään kuin muistilohkoon 111 kirjoitettu hyötydata 141 olisi pelkästään lisättävää hyötydataa, joka ei korvaa missään toisessa muistilohkossa olevaa hyötydataa. Muistilohkossa 112 oleva hyötydata : 20 142 jätetään toipumisprosessissa huomiotta, koska se on muistilohkon 112 tilatiedon mukaan epärelevanttia.
Keksinnön yhden suoritusmuodon mukaisessa järjestelyssä hallintavälineet 102 on sovitettu asettamaan ensimmäisessä vaiheessa muistilohkon 111 ^ muistilohkokohtainen tilatieto ilmaisemaan, että muistilohkossa 111 oleva 25 hyötydata on voimassa, ja toisessa vaiheessa muistilohkon 112 muistilohkokohtainen tilatieto ilmaisemaan, että 112 muistilohkossa oleva hyötydata on epärelevanttia, missä mainittu ensimmäinen vaihe on aikaisempi kuin mainittu toinen vaihe. Tarkastellaan tilannetta, jossa vakava järjestelmävirhe tapahtuu ensimmäisen vaiheen jälkeen ja ennen toista vaihetta. Tällöin 30 järjestelmävirheen jälkeinen toipumisprosessi alkaa tilasta, jossa muistilohkon 111 hyötydata 141 on jo voimassa mutta myös muistilohkon 112 hyötydata 142 on 4 19 voimassa. Tällaisen konfliktitilanteen ratkaisemiseksi hallintavälineet 102 on keksinnön tämän suoritusmuodon mukaisessa järjestelyssä sovitettu lukemaan muistilohkon 111 syklisen ikäindikaattorin arvo, lukemaan muistilohkon 112 syklisen ikäindikaattorin arvo, asettamaan muistilohkon 112 tilatieto 132 5 ilmaisemaan, että hyötydata 142 on epärelevanttia, vasteena tilanteelle, jossa muistilohkon 111 syklisen ikäindikaattorin arvo on ennalta asetetun säännön mukaisessa järjestyksessä jäljempänä kuin muistilohkon 112 syklisen ikäindikaattorin arvo, ja asettamaan muistilohkon 111 tilatieto 131 ilmaisemaan, että hyötydata 141 on epärelevanttia, vasteena tilanteelle, jossa muistilohkon 112 10 syklisen ikäindikaattorin arvo on mainitun ennalta asetetun säännön mukaisessa järjestyksessä jäljempänä kuin muistilohkon 111 syklisen ikäindikaattorin arvo.
Keksinnön yhden suoritusmuodon mukaisessa järjestelyssä hallintavälineet 102 i käsittävät ainakin yhden ohjelmoitavan prosessorin. Hallintavälineet 102 on sovitettu toteuttamaan edellä kuvatut toiminnot mainitun prosessorin luettavissa 15 olevan tietokoneohjelman avulla, joka sisältää ohjelmalliset välineet kuten aliohjelmat, funktiot ja tietorakenteet mainitun prosessorin ohjaamiseksi suorittamaan edellä kuvatut toiminnot.
Keksinnön yhden suoritusmuodon mukaisessa järjestelyssä hallintavälineet 102 käsittävät ainakin yhden sovelluskohtaisen mikropiirin (ASIC, engl. Application 20 Specific Integrated Circuit). Hallintavälineet 102 on sovitettu toteuttamaan edellä kuvatut toiminnot mainitun sovelluskohtaisen mikropiirin logiikkaporttien, sisäisten muistielementtien ja kellotusvälineiden keskinäisten kytkentöjen avulla.
Kuvio 2 esittää keksinnön yhden suoritusmuodon mukaista järjestelyä flash-tyyppiseen muistivälineeseen 201 tallennettavan tiedon transaktion 25 käsittelemiseksi. Järjestelyssä on hallintavälineet 202, jotka on liitetty mainittuun flash-tyyppiseen muistivälineeseen 201. Hallintavälineet 202 on sovitettu suorittamaan mainittuun transaktioon liittyvä hyötydatan kirjoitusoperaatio mainitun flash-tyyppisen muistivälineen muistilohkoon, asettamaan mainitun muistilohkon 1 muistilohkokohtainen tilatieto ilmaisemaan, että mainittu transaktio on 30 vahvistamisvaiheessa, lukemaan mainitun muistilohkon muistilohkokohtainen tilatieto ja määrittämään, onko mainittu muistilohkokohtainen tilatieto asetettu 20 ilmaisemaan, että mainittu transaktio on vahvistamisvaiheessa, ja saattamaan mainittuun ensimmäiseen muistilohkoon kirjoitettu hyötydata voimassa olevaksi hyötydataksi vasteena tilanteelle, jossa mainittu muistilohkokohtainen tilatieto on asetettu ilmaisemaan, että mainittu transaktio on vahvistamisvaiheessa.
5 Järjestelyssä on puskurimuistiväline 203, joka on sovitettu tallentamaan mainittuun transaktioon liittyvä tieto. Hallintavälineet 202 on sovitettu lukemaan mainitusta puskurimuistivälineestä 203 tieto, joka mainitussa transaktiossa halutaan kirjoittaa flash-tyyppiseen muistivälineeseen 201.
Keksinnön yhden suoritusmuodon mukaisessa järjestelyssä hallintavälineet 202 10 on sovitettu suorittamaan rinnakkaiset transaktiot puskurimuistivälineessä 203, ; jolloin vain yhtä transaktiota tarvitsee suorittaa flash-tyyppisessä muistivälineessä ; ;i 201. Transaktioita voidaan suorittaa puskurimuistivälineessä 203 samalla tavalla kuin flash-tyyppisessä muistivälineessä. Puskurimuistivälineessä voidaan käyttää muistiaiuekohtaisia tilamuuttujia vastaavalla tavalla kuin flash-tyyppisessä 15 muistivälineessä käytetään muistilohkokohtaisia tilatietoja. Puskurimuistin muistialueella tarkoitetaan puskurimuistin muistiavaruuden osaa, johon -1 tallennettuja tietoja hallinnoidaan yhtenä kokonaisuutena vastaavalla tavalla kuin flash-tyyppisen muistivälineen tiettyyn muistilohkoon tallennettuja tietoja.
Keksinnön yhden suoritusmuodon mukaisessa järjestelyssä puskurimuisti on ii 20 dynaaminen RAM-muisti (engl. Random Access Memory).
Kuvio 3 esittää vuokaaviona keksinnön yhden suoritusmuodon mukaista menetelmää flash-tyyppiseen muistivälineeseen tallennettavan tiedon transaktion suorittamiseksi. Vaiheessa 301 suoritetaan mainittuun transaktioon liittyvä hyötydatan kirjoitusoperaatio flash-tyyppisen muistivälineen muistilohkoon. Mikäli 25 mainittu muistilohko ei ollut viimeisenä kirjoitettava muistilohko, siirrytään ' vaiheeseen 302, jossa mainitun muistilohkon muistilohkokohtainen tilatieto S asetetaan ilmaisemaan, että mainitun muistilohkon hyötydata on kelpoista (CORRECT). Vaiheesta 302 palataan vaiheeseen 301, jossa kirjoitetaan * hyötydataa seuraavana käsiteltävään muistilohkoon. Mikäli muistilohko on 30 viimeisenä kirjoitettava muistilohko, siirrytään vaiheeseen 303, jossa asetetaan ainakin yhden muistilohkon, joka sisältää transaktiossa kirjoitettua hyötydataa, 21 tilatieto S ilmaisemaan, että mainittu transaktio on vahvistustilassa (COMMIT).
Tällainen muistilohko toimii ilmaisevana muistilohkona. Vaiheessa 304 asetetaan muistilohkon, jonka tilatieto S ilmaisee hyötydatan olevan kelpoista (S = CORRECT), tilatieto S ilmaisemaan, että hyötydata on voimassa olevaa (VALID) 5 hyötydataa, ja asetetaan korvattavan hyötydatan (jos olemassa) sisältävän muistilohkon tilatieto S_rep ilmaisemaan, että mainittu korvattava hyötydata on epärelevanttia (DIRTY). Vaiheessa 305 asetetaan muistilohkon, jonka tilatieto S ilmaisee transaktion olevan vahvistamisvaiheessa (S = COMMIT), tilatieto S ilmaisemaan, että hyötydata on voimassa olevaa (VALID) hyötydataa, ja asetetaan 10 korvattavan hyötydatan (j°s olemassa) sisältävän muistilohkon tilatieto S_rep ilmaisemaan, että mainittu korvattava hyötydata on epärelevanttia (DIRTY).
Edullisesti ainoastaan yhden muistilohkon, joka sisältää transaktiossa kirjoitettua T
hyötydataa, tilatieto S asetetaan ilmaisemaan, että mainittu transaktio on vahvistamisvaiheessa (COMMIT).
15 Keksinnön yhden suoritusmuodon mukaisessa menetelmässä mainittu ilmaiseva I
muistilohko on niistä mainitun flash-tyyppisen muistivälineen muistilohkoista, joihin i mainitun transaktion yhteydessä kirjoitetaan hyötydataa, se, jonka fyysinen osoite on pienin.
Keksinnön yhden suoritusmuodon mukaisessa menetelmässä mainittu ilmaiseva 20 muistilohko on niistä mainitun flash-tyyppisen muistivälineen muistilohkoista, joihin mainitun transaktion yhteydessä kirjoitetaan hyötydataa, se, jonka fyysinen osoite on suurin.
Keksinnön yhden suoritusmuodon mukaisessa menetelmässä mainittu ilmaiseva muistilohko on niistä mainitun flash-tyyppisen muistivälineen muistilohkoista, joihin 25 mainitun transaktion yhteydessä kirjoitetaan hyötydataa, se, johon mainitun transaktion yhteydessä kirjoitetaan hyötydataa viimeiseksi.
. z
Mikäli ilmaiseva muistilohko ei ole viimeiseksi kirjoitettava muistilohko, viimeiseksi kirjoitetun muistilohkon tilatieto asetetaan ilmaisemaan, että hyötydata on kelpoista (CORRECT), ennen kuin ilmaisevan muistilohkon tilatieto asetetaan ilmaisemaan, 30 että transaktio on vahvistustilassa (COMMIT). Tällöin ilmaisevan muistilohkon 22 tilatieto asetetaan siis kahdessa vaiheessa: ensin mainittu muistilohkokohtainen tilatieto asetetaan ilmaisemaan, että ilmaisevassa muistilohkossa oleva hyötydata on kelpoista (CORRECT), ja myöhemmin mainittu muistilohkokohtainen tilatieto asetetaan ilmaisemaan, että transaktio on vahvistamisvaiheessa (COMMIT).
5 Keksinnön yhden suoritusmuodon mukaisessa menetelmässä muistilohkon fyysinen osoite tallennetaan työmuistiin vaiheessa 301 ja vaiheen 303 alussa tallennetuista muistilohkojen fyysisistä osoitteista valitaan pienin (tai suurin).
Keksinnön yhden suoritusmuodon mukaisessa menetelmässä muistilohkoon, johon transaktiossa kirjoitetaan hyötydataa, kirjoitetaan mainitun transaktion 10 identifioiva tunnistetieto. Tällöin flash-tyyppisessä muistivälineessä voidaan suorittaa samanaikaisesti useita rinnakkaisia transaktioita. Transaktio, jonka alaisuudessa tiettyä muistilohkoa käytetään, voidaan määrittää mainitun tunnistetiedon perusteella.
Keksinnön yhden suoritusmuodon mukaisessa menetelmässä muistilohkossa 15 oleva transaktion identifioiva tunnistetieto asetetaan nollaksi sen jälkeen, kun mainitun muistilohkon tilatieto on asetettu ilmaisemaan, että mainitussa muistilohkossa oleva hyötydata on voimassa olevaa hyötydataa (VALID). Tietoa, että transaktion identifioivan tunnistetiedon pitäisi olla nolla, kun tilatieto ilmaisee hyötydatan olevan voimassa, voidaan käyttää virhetoimintojen havaitsemiseen.
20 Keksinnön yhden suoritusmuodon mukaisessa menetelmässä vaihe 304, jossa saatetaan muistilohkoon M kirjoitettu hyötydata voimassa olevaksi hyötydataksi, sisältää seuraavat alivaiheet: - Q1: asetetaan muistilohkon N, joka sisältää muistolohkoon M kirjoitetulla hyötydatalla korvattavan hyötydatan, muistilohkokohtainen tilatieto S__rep 25 ilmaisemaan, että muistilohkossa N oleva hyötydata on epärelevanttia (DIRTY), minkä jälkeen -¾ - Q2: asetetaan muistilohkon M muistilohkokohtainen tilatieto S ilmaisemaan, että muistilohkossa M oleva hyötydata on voimassa (VALID).
23
Keksinnön yhden suoritusmuodon mukaisessa menetelmässä vaihe 305 sisältää vastaavat alivaiheet Q1 ja Q2.
Keksinnön yhden suoritusmuodon mukaisessa menetelmässä muistilohkoon M kirjoitetaan vaiheessa 301 syklinen ikäindikaattori, joka ilmaisee, että meneillään 5 olevassa transaktiossa muistilohkoon M kirjoitettava hyötydata on uudempaa kuin aikaisemmassa transaktiossa muistilohkoon N kirjoitettu hyötydata. Mainittua syklistä ikäindikaattoria voidaan päivittää esimerkiksi siten, että syklisen ikäindikaattorin arvoa lisätään yhdellä transaktion alkaessa ja, kun syklinen ikäindikaattori saavuttaa ennalta asetetun loppuarvon, se asetetaan ennalta 10 asetettuun alkuarvoon. Tällöin kullakin transaktiolla on tietty syklisen ikäindikaattorin arvo.
Keksinnön yhden suoritusmuodon mukaisessa menetelmässä vaihe 304, jossa saatetaan mainittuun muistilohkoon M kirjoitettu hyötydata voimassa olevaksi hyötydataksi, sisältää seuraavat alivaiheet: 15 - P1: asetetaan muistilohkon M muistilohkokohtainen tilatieto S ilmaisemaan, ; että muistilohkossa M oleva hyötydata on voimassa (VALID), minkä jälkeen - P2: asetetaan muistilohkon N, joka sisältää muistolohkoon M kirjoitetulla hyötydatalla korvattavan hyötydatan, muistilohkokohtainen tilatieto S_rep ilmaisemaan, että muistilohkossa N oleva hyötydata on epärelevanttia 20 (DIRTY).
Keksinnön yhden suoritusmuodon mukaisessa menetelmässä vaihe 305 sisältää vastaavat alivaiheet P1 ja P2.
Keksinnön yhden suoritusmuodon mukaisessa menetelmässä muistilohkokohtainen tilatieto S kirjoitetaan mainittuun muistilohkoon kirjoitettavan 25 tiedon T jälkeiseen muistialueeseen. Tiedon T jälkeinen muistialue tarkoittaa mainitun muistilohkon osoiteavaruuden aluetta, joka fyysisen osoitteen kasvujärjestyksessä seuraa sitä mainitun muistilohkon osoiteavaruuden osaa, johon tieto T tallennetaan. Tällöin tieto T ja muistilohkokohtainen tilatieto S voidaan kirjoittaa yhdellä kertaa peräkkäin ja tilatiedon S oikeellisuus toimii 30 varmentajana, että tiedon T kirjoittaminen on onnistunut.
24
Keksinnön yhden suoritusmuodon mukaisessa menetelmässä tieto T on tunnistetieto, joka yksilöi meneillään olevan transaktion.
Keksinnön yhden suoritusmuodon mukaisessa menetelmässä tieto T edustaa mainitun muistilohkon otsikkotietoja. Muistilohkon otsikkotiedot koostuvat 5 tyypillisesti muistilohkoon tallennettavasta kontrollidatasta.
Keksinnön yhden suoritusmuodon mukaisessa menetelmässä tieto T edustaa kaikkea muuta mainittuun muistilohkoon kirjoitettavaa tietoa kuin mainittua tilatietoa.
Keksinnön yhden suoritusmuodon mukaisessa menetelmässä i 10 muistilohkokohtainen tilatieto S ilmaisee yhden seuraavista tiloista: ; - FREE: muistilohko on vapaa kirjoitettavaksi, - CORRECT: muistilohkossa oleva hyötydata on kelpoista, - COMMIT: transaktio on vahvistamisvaiheessa, - VALID: muistilohkossa oleva hyötydata on voimassa, ja 15 - DIRTY: muistilohkossa oleva hyötydata on epärelevanttia.
Keksinnön yhden suoritusmuodon mukaisessa menetelmässä mikä tahansa seuraavista tilasiirtymistä: tilasta FREE tilaan CORRECT, tilasta CORRECT tilaan COMMIT, tilasta COMMIT tilaan VALID, ja tilasta VALID tilaan DIRTY, toteutetaan muuttamalla ainoastaan yhden bitin arvo mainittua muistilohkokohtaista tilatietoa 20 edustavassa bittivektorissa.
Kuvio 4 esittää vuokaaviona keksinnön yhden suoritusmuodon mukaista toipumismenetelmää transaktion aikana tapahtuneesta järjestelmävirheestä toipumiseksi flash-tyyppiseen muistivälineeseen perustuvassa laitteistossa.
Vaiheessa 401 luetaan mainitun flash-tyyppisen muistivälineen muistilohkon 25 muistilohkokohtainen tilatieto S. Päätöksentekovaiheessa 402 tutkitaan, ilmaiseeko mainittu muistilohkokohtainen tilatieto S, että mainittu transaktio on vahvistamisvaiheessa (S = COMMIT). Mikäli näin ei ole, siirrytään lukemaan 25 seuraavan muistilohkon tilatietoa vaiheeseen 401. Mikäli muistilohkokohtainen tilatieto S ilmaisee, että mainittu transaktio on vahvistamisvaiheessa (COMMIT), siirrytään vaiheeseen 403. Vaiheessa 403 asetetaan muistilohkon, jonka tilatieto S ilmaisee hyötytiedon olevan kelpoista (S = CORRECT), tilatieto S ilmaisemaan, 5 että hyötydata on voimassa olevaa (VALID) hyötydataa, ja asetetaan korvattavan hyötydatan (jos olemassa) sisältävän muistilohkon tilatieto S_rep ilmaisemaan, että mainittu korvattava hyötydata on epärelevanttia (DIRTY). Vaiheessa 404 asetetaan muistilohkon, jonka tilatieto S ilmaisee transaktion olevan vahvistamisvaiheessa (S = COMMIT), tilatieto S ilmaisemaan, että hyötydata on 10 voimassa olevaa (VALID) hyötydataa, ja asetetaan korvattavan hyötydatan (jos olemassa) sisältävän muistilohkon tilatieto S_rep ilmaisemaan, että mainittu vanhempi hyötydata on epärelevanttia (DIRTY).
Tarkastellaan esimerkinomaista tilannetta, jossa muistilohkon M tilatieto ilmaisee hyötydatan olevan voimassa (VALID) ja myös muistilohkon N tilatieto ilmaisee 15 hyötydatan olevan voimassa (VALID). Yhdessä muistilohkossa M tai N oleva hyötydata on tarkoitettu korvaamaan toisessa muistilohkossa N tai M oleva '* hyötydata, mutta järjestelmävirheen vuoksi korvattavaa hyötydataa sisältävän muistilohkon tilatieto on jäänyt asettamatta ilmaisemaan, että hyötydata on epärelevanttia (DIRTY).
20 Keksinnön yhden suoritusmuodon mukaisessa toipumismenetelmässä: - luetaan syklisen ikäindikaattorin arvo muistilohkosta M, - luetaan syklisen ikäindikaattorin arvo muistilohkosta N, - vasteena tilanteelle, jossa muistilohkon M syklisen ikäindikaattorin arvo on ennalta asetetun säännön mukaisessa järjestyksessä jäljempänä kuin
25 muistilohkon N syklisen ikäindikaattorin arvo, asetetaan muistilohkon N
tilatieto ilmaisemaan, että muistilohkossa N oleva hyötydata on epärelevanttia (DIRTY), ja - vasteena tilanteelle, jossa muistilohkon N syklisen ikäindikaattorin arvo on mainitun ennalta asetetun säännön mukaisessa järjestyksessä jäljempänä 30 kuin muistilohkon M syklisen ikäindikaattorin arvo, asetetaan muistilohkon 26 M tilatieto ilmaisemaan, että muistilohkossa M oleva hyötydata on epärelevanttia (DIRTY).
Keksinnön yhden suoritusmuodon mukainen tietokoneohjelma flash-tyyppiseen muistivälineeseen tallennettavan tiedon transaktion käsittelemiseksi sisältää 5 seuraavat ohjelmalliset välineet: - ohjelmalliset välineet prosessointiyksikön ohjaamiseksi suorittamaan mainittuun transaktioon liittyvä hyötydatan kirjoitusoperaatio mainitun flash-tyyppisen muistivälineen muistilohkoon, - ohjelmalliset välineet prosessointiyksikön ohjaamiseksi asettamaan 10 mainitun muistilohkon muistilohkokohtainen tilatieto ilmaisemaan, että mainittu transaktio on vahvistamisvaiheessa, - ohjelmalliset välineet prosessointiyksikön ohjaamiseksi lukemaan mainitun muistilohkon muistilohkokohtainen tilatieto ja määrittämään, onko mainittu muistilohkokohtainen tilatieto asetettu ilmaisemaan, että mainittu transaktio 15 on vahvistamisvaiheessa, ja - ohjelmalliset välineet prosessointiyksikön ohjaamiseksi saattamaan mainittuun muistilohkoon kirjoitettu hyötydata voimassa olevaksi hyötydataksi vasteena tilanteelle, jossa mainittu muistilohkokohtainen tilatieto on asetettu ilmaisemaan, että mainittu transaktio on 20 vahvistamisvaiheessa.
Mainitut ohjelmalliset välineet voivat olla esimerkiksi aliohjelmia tai funktioita. Mainittu prosessointiyksikkö voi olla esimerkiksi kuviossa 1 esitettyyn hallintavälineeseen 102 kuuluva prosessori.
Keksinnön yhden suoritusmuodon mukainen tietokoneohjelma on tallennettu 25 prosessointiyksikön luettavissa olevaan tallennusvälineeseen kuten esimerkiksi optiselle levykkeelle (CD-levyke, engl. Compact Disk).
27
Kuten alan ammattilaiselle on ilmeistä, keksintö ja sen suoritusmuodot eivät rajoitu edellä kuvattuihin suoritusmuotoesimerkkeihin vaan keksintöä ja sen suoritusmuotoja voidaan muunnella itsenäisen patenttivaatimuksen puitteissa.

Claims (34)

1. Menetelmä flash-tyyppiseen muistivälineeseen tallennettavan tiedon transaktion suorittamiseksi, tunnettu siitä, että menetelmässä: - suoritetaan (301) mainittuun transaktioon liittyvä hyötydatan 5 kirjoitusoperaatio mainitun flash-tyyppisen muistivälineen ensimmäiseen muistilohkoon, - asetetaan (303) mainitun ensimmäisen muistilohkon muistilohkokohtainen tilatieto ilmaisemaan, että mainittu transaktio on vahvistamisvaiheessa, ja - saatetaan (305) mainittuun ensimmäiseen muistilohkoon kirjoitettu 10 hyötydata voimassa olevaksi hyötydataksi.
2. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että mainittu ensimmäinen muistilohko on niistä mainitun flash-tyyppisen muistivälineen muistilohkoista, joihin mainitun transaktion yhteydessä kirjoitetaan hyötydataa, se, jonka fyysinen osoite on pienin.
3. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että mainittu ensimmäinen muistilohko on niistä mainitun flash-tyyppisen muistivälineen muistilohkoista, joihin mainitun transaktion yhteydessä kirjoitetaan hyötydataa, se, » jonka fyysinen osoite on suurin.
4. Patenttivaatimuksen 2 tai 3 mukainen menetelmä, tunnettu siitä, että mainittu 20 muistilohkokohtainen tilatieto asetetaan kahdessa vaiheessa: ensin mainittu muistilohkokohtainen tilatieto asetetaan (302) ilmaisemaan, että mainitussa ensimmäisessä muistilohkossa oleva hyötydata on kelpoista, ja myöhemmin mainittu muistilohkokohtainen tilatieto asetetaan (303) ilmaisemaan, että mainittu transaktio on vahvistamisvaiheessa.
5. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että mainittu ensimmäinen muistilohko on niistä mainitun flash-tyyppisen muistivälineen muistilohkoista, joihin mainitun transaktion yhteydessä kirjoitetaan hyötydataa, se, johon mainitun transaktion yhteydessä kirjoitetaan hyötydataa viimeiseksi.
6. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että mainittuun ensimmäiseen muistilohkoon kirjoitetaan mainitun transaktion identifioiva tunnistetieto.
7. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että mainittuun 5 ensimmäiseen muistilohkoon kirjoitetaan syklinen ikäindikaattori, joka ilmaisee, että mainitussa ensimmäisessä muistilohkossa oleva hyötydata on uudempi kuin mainitun flash-tyyppisen muistivälineen toisessa muistilohkossa oleva hyötydata.
8. Patenttivaatimuksen 7 mukainen menetelmä, tunnettu siitä, että vaihe (305), jossa saatetaan mainittuun ensimmäiseen muistilohkoon kirjoitettu hyötydata 10 voimassa olevaksi hyötydataksi sisältää seuraavat alivaiheet: - asetetaan mainitun ensimmäisen muistilohkon muistilohkokohtainen tilatieto Ί ilmaisemaan, että mainitussa ensimmäisessä muistilohkossa oleva hyötydata on voimassa, minkä jälkeen - asetetaan mainitun toisen muistilohkon muistilohkokohtainen tilatieto 15 ilmaisemaan, että mainitussa toisessa muistilohkossa oleva hyötydata on epärelevanttia.
9. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että vaihe (305), jossa saatetaan mainittuun ensimmäiseen muistilohkoon kirjoitettu hyötydata voimassa olevaksi hyötydataksi sisältää seuraavat alivaiheet: 20. asetetaan mainitun flash-tyyppisen muistivälineen toisen muistilohkon muistilohkokohtainen tilatieto ilmaisemaan, että mainitussa toisessa muistilohkossa oleva hyötydata on epärelevanttia, minkä jälkeen - asetetaan mainitun ensimmäisen muistilohkon muistilohkokohtainen tilatieto ilmaisemaan, että mainitussa ensimmäisessä muistilohkossa oleva 25 hyötydata on voimassa.
10. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että mainittu muistilohkokohtainen tilatieto kirjoitetaan mainittuun ensimmäiseen muistilohkoon muun mainitussa ensimmäisessä muistilohkossa olevan tiedon jälkeiseen muistialueeseen.
11. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että mainittu muistilohkokohtainen tilatieto kirjoitetaan mainittuun ensimmäiseen muistilohkoon 5 mainitussa ensimmäisessä muistilohkossa olevan otsikkotiedon jälkeiseen muistialueeseen.
12. Patenttivaatimuksen 6 mukainen menetelmä, tunnettu siitä, että mainittu muistilohkokohtainen tilatieto kirjoitetaan mainittuun ensimmäiseen muistilohkoon mainitun transaktion identifioivan tunnistetiedon jälkeiseen muistialueeseen.
13. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että mainittu muistilohkokohtainen tilatieto ilmaisee yhden seuraavista tiloista: - A: mainittu ensimmäinen muistilohko on vapaa kirjoitettavaksi, - B: mainitussa ensimmäisessä muistilohkossa oleva hyötydata on kelpoista, - C: mainittu transaktio on vahvistamisvaiheessa,
15. D: mainitussa ensimmäisessä muistilohkossa oleva hyötydata on voimassa, ja - E: mainitussa ensimmäisessä muistilohkossa oleva hyötydata on epärelevanttia.
14. Patenttivaatimuksen 13 mukainen menetelmä, tunnettu siitä, että mikä 20 tahansa seuraavista tilasiirtymistä: tilasta A tilaan B, tilasta B tilaan C, tilasta C tilaan D, ja tilasta D tilaan E, toteutetaan muuttamalla ainoastaan yhden bitin arvo mainittua muistilohkokohtaista tilatietoa edustavassa bittivektorissa.
15. Toipumismenetelmä transaktion aikana tapahtuneesta järjestelmävirheestä toipumiseksi flash-tyyppiseen muistivälineeseen perustuvassa laitteistossa, 25 tunnettu siitä, että toipumismenetelmässä: - luetaan (401) mainitun flash-tyyppisen muistivälineen ensimmäisen muistilohkon muistilohkokohtainen tilatieto, j - määritetään (402), ilmaiseeko mainittu muistilohkokohtainen tilatieto, että mainittu transaktio on vahvistamisvaiheessa, ja - saatetaan (404) mainitussa ensimmäisessä muistilohkossa oleva hyötydata voimassa olevaksi hyötydataksi vasteena tilanteelle, että mainittu 5 muistilohkokohtainen tilatieto ilmaisee, että mainittu transaktio on vahvistamisvaiheessa.
16. Patenttivaatimuksen 15 mukainen toipumismenetelmä, tunnettu siitä, että toipumismenetelmässä: - luetaan (401) mainitun ensimmäisen muistilohkon syklisen ikäindikaattorin 10 arvo, - luetaan (401) mainitun flash-tyyppisen muistivälineen toisen muistilohkon syklisen ikäindikaattorin arvo, - vasteena tilanteelle, jossa mainitun toisen muistilohkon syklisen ikäindikaattorin arvo on ennalta asetetun säännön mukaisessa 15 järjestyksessä jäljempänä kuin mainitun ensimmäisen muistilohkon syklisen ί ikäindikaattorin arvo, asetetaan mainitun ensimmäisen muistilohkon tilatieto ilmaisemaan, että mainitussa ensimmäisessä muistilohkossa oleva ,<j hyötydata on epärelevanttia, ja - vasteena tilanteelle, jossa mainitun ensimmäisen muistilohkon syklisen 20 ikäindikaattorin arvo on mainitun ennalta asetetun säännön mukaisessa järjestyksessä jäljempänä kuin mainitun toisen muistilohkon syklisen ikäindikaattorin arvo, asetetaan mainitun toisen muistilohkon tilatieto ilmaisemaan, että mainitussa toisessa muistilohkossa oleva hyötydata on epärelevanttia. 25 17. Järjestely flash-tyyppiseen muistivälineeseen tallennettavan tiedon transaktion käsittelemiseksi, tunnettu siitä, että järjestelyssä on hallintavälineet (102), jotka on liitetty mainittuun flash-tyyppiseen muistivälineeseen ja jotka on sovitettu: - suorittamaan mainittuun transaktioon liittyvä hyötydatan (141) kirjoitusoperaatio mainitun fiash-tyyppisen muistivälineen ensimmäiseen muistilohkoon (111), - asettamaan mainitun ensimmäisen muistilohkon (111) muistilohkokohtainen S tilatieto (131) ilmaisemaan, että mainittu transaktio on vahvistamisvaiheessa, - lukemaan mainitun ensimmäisen muistilohkon (111) muistilohkokohtainen tilatieto (131) ja määrittämään, onko mainittu muistilohkokohtainen tilatieto asetettu ilmaisemaan, että mainittu transaktio on vahvistamisvaiheessa, ja 10. saattamaan mainittuun ensimmäiseen muistilohkoon kirjoitettu hyötydata (141) voimassa olevaksi hyötydataksi vasteena tilanteelle, jossa mainittu muistilohkokohtainen tilatieto (131) on asetettu ilmaisemaan, että mainittu transaktio on vahvistamisvaiheessa.
18. Patenttivaatimuksen 17 mukainen järjestely, tunnettu siitä, että mainitut 15 hallintavälineet (102) on sovitettu valitsemaan mainittu ensimmäinen muistilohko (111) olemaan mainitun fiash-tyyppisen muistivälineen niistä muistilohkoista, joihin i mainitun transaktion yhteydessä kirjoitetaan hyötydataa, se, jonka fyysinen osoite ‘ on pienin.
19. Patenttivaatimuksen 17 mukainen järjestely, tunnettu siitä, että mainitut 20 hallintavälineet (102) on sovitettu valitsemaan mainittu ensimmäinen muistilohko (111) olemaan mainitun fiash-tyyppisen muistivälineen niistä muistilohkoista, joihin f mainitun transaktion yhteydessä kirjoitetaan hyötydataa, se, jonka fyysinen osoite on suurin.
20. Patenttivaatimuksen 18 tai 19 mukainen järjestely, tunnettu siitä, että mainitut 25 hallintavälineet (102) on sovitettu asettamaan ensimmäisessä vaiheessa mainittu muistilohkokohtainen tilatieto (131) ilmaisemaan, että mainitussa ensimmäisessä muistilohkossa (111) oleva hyötydata (141) on kelpoista, ja asettamaan toisessa vaiheessa mainittu muistilohkokohtainen tilatieto (131) ilmaisemaan, että mainittu transaktio on vahvistamisvaiheessa, missä mainittu ensimmäinen vaihe on 30 aikaisempi kuin mainittu toinen vaihe. 3
21. Patenttivaatimuksen 17 mukainen järjestely, tunnettu siitä, että mainitut hallintavälineet (102) on sovitettu valitsemaan mainittu ensimmäinen muistilohko (111) olemaan mainitun flash-tyyppisen muistivälineen niistä muistilohkoista, joihin mainitun transaktion yhteydessä kirjoitetaan hyötydataa, se, johon mainitun 5 transaktion yhteydessä kirjoitetaan hyötydataa viimeiseksi.
22. Patenttivaatimuksen 17 mukainen järjestely, tunnettu siitä, että mainitut hallintavälineet (102) on sovitettu kirjoittamaan mainittuun ensimmäiseen muistilohkoon (111) mainitun transaktion identifioiva tunnistetieto.
23. Patenttivaatimuksen 17 mukainen menetelmä, tunnettu siitä, että mainitut 10 hallintavälineet (102) on sovitettu määrittämään mainitun flash-tyyppisen muistivälineen toisessa muistilohkossa (112) olevan syklisen ikäindikaattorin arvoa ennalta asetetun säännön mukaisessa järjestyksessä seuraava arvo ja kirjoittamaan mainittu järjestyksessä seuraava arvo mainittuun ensimmäiseen ;» muistilohkoon (111).
24. Patenttivaatimuksen 23 mukainen järjestely, tunnettu siitä, että mainitut hallintavälineet (102) on sovitettu asettamaan ensimmäisessä vaiheessa mainitun * ensimmäiseen muistilohkon (111) muistilohkokohtainen tilatieto (131) ilmaisemaan, että mainitussa ensimmäisessä muistilohkossa oleva hyötydata (141) on voimassa, ja toisessa vaiheessa mainitun toisen muistilohkon (112) 20 muistilohkokohtainen tilatieto (132) ilmaisemaan, että mainitussa toisessa muistilohkossa oleva hyötydata (142) on epärelevanttia, missä mainittu ensimmäinen vaihe on aikaisempi kuin mainittu toinen vaihe.
25. Patenttivaatimuksen 17 mukainen järjestely, tunnettu siitä, että mainitut hallintavälineet (102) on sovitettu asettamaan ensimmäisessä vaiheessa mainitun 25 flash-tyyppisen muistivälineen toisen muistilohkon (112) muistilohkokohtainen tilatieto (132) ilmaisemaan, että mainitussa toisessa muistilohkossa (112) oleva hyötydata (142) on epärelevanttia, ja toisessa vaiheessa mainitun ensimmäisen muistilohkon (111) muistilohkokohtainen tilatieto (131) ilmaisemaan, että mainitussa ensimmäisessä muistilohkossa oleva hyötydata (141) on voimassa, 30 missä mainittu ensimmäinen vaihe on aikaisempi kuin mainittu toinen vaihe.
26. Patenttivaatimuksen 17 mukainen järjestely, tunnettu siitä, että mainitut hallintavälineet (102) on sovitettu kirjoittamaan mainittu muistilohkokohtainen tilatieto (131) mainittuun ensimmäiseen muistilohkoon (111) muun mainitussa ensimmäisessä muistilohkossa olevan tiedon jälkeiseen muistialueeseen.
27. Patenttivaatimuksen 17 mukainen järjestely, tunnettu siitä, että mainitut hallintavälineet (102) on sovitettu kirjoittamaan mainittu muistilohkokohtainen tilatieto (131) mainittuun ensimmäiseen muistilohkoon (111) mainitussa ensimmäisessä muistilohkossa olevan otsikkotiedon jälkeiseen muistialueeseen.
28. Patenttivaatimuksen 22 mukainen järjestely, tunnettu siitä, että mainitut 10 hallintavälineet (102) on sovitettu kirjoittamaan mainittu muistilohkokohtainen tilatieto (131) mainittuun ensimmäiseen muistilohkoon (111) mainitun transaktion identifioivan tunnistetiedon jälkeiseen muistialueeseen.
29. Patenttivaatimuksen 17 mukainen järjestely, tunnettu siitä, että mainitut hallintavälineet (102) on sovitettu ilmaisemaan mainitun muistilohkokohtaisen 15 tilatiedon (131) avulla seuraavat mahdolliset tilat: - A: mainittu ensimmäinen muistilohko on vapaa kirjoitettavaksi, - B: mainitussa ensimmäisessä muistilohkossa oleva hyötydata on kelpoista, - C: mainittu transaktio on vahvistamisvaiheessa, - D: mainitussa ensimmäisessä muistilohkossa oleva hyötydata on voimassa, 20 ja - E: mainitussa ensimmäisessä muistilohkossa oleva hyötydata on epärelevanttia.
30. Patenttivaatimuksen 29 mukainen järjestely, tunnettu siitä, että mainitut hallintavälineet (102) on sovitettu toteuttamaan mikä tahansa seuraavista 25 tilasiirtymistä: tilasta A tilaan B, tilasta B tilaan C, tilasta C tilaan D, ja tilasta D tilaan E, muuttamalla ainoastaan yhden bitin arvo mainittua muistilohkokohtaista tilatietoa edustavassa bittivektorissa.
31. Patenttivaatimuksen 23 mukainen järjestely, tunnettu siitä, että mainitut hallintavälineet (102) on sovitettu: - lukemaan mainitun ensimmäisen muistilohkon (111) syklisen ikäindikaattorin arvo, 5. lukemaan mainitun toisen muistilohkon (112) syklisen ikäindikaattorin arvo, - asettamaan mainitun toisen muistilohkon tilatieto (132) ilmaisemaan, että mainitussa toisessa muistilohkossa oleva hyötydata (142) on epärelevanttia, vasteena tilanteelle, jossa mainitun ensimmäisen muistilohkon (111) syklisen ikäindikaattorin arvo on mainitun ennalta 10 asetetun säännön mukaisessa järjestyksessä jäljempänä kuin mainitun toisen muistilohkon (112) syklisen ikäindikaattorin arvo, ja - asettamaan mainitun ensimmäisen muistilohkon tilatieto (131) ilmaisemaan, että mainitussa ensimmäisessä muistilohkossa oleva hyötydata (141) on epärelevanttia, vasteena tilanteelle, jossa mainitun toisen muistilohkon 15 (112) syklisen ikäindikaattorin arvo on mainitun ennalta asetetun säännön mukaisessa järjestyksessä jäljempänä kuin mainitun ensimmäisen muistilohkon (111) syklisen ikäindikaattorin arvo. y
32. Patenttivaatimuksen 17 mukainen järjestely, tunnettu siitä, että järjestelyssä on puskurimuistiväline (203), joka on sovitettu tallentamaan mainittuun 20 transaktioon liittyvä tieto, ja mainitut hallintavälineet on sovitettu lukemaan mainitusta puskurimuistivälineestä mainitulle flash-tyyppiselle muistivälineelle mainitussa transaktiossa kirjoitettava tieto.
33. Patenttivaatimuksen 17 mukainen järjestely, tunnettu siitä, että mainitut hallintavälineet (102) on sovitettu käyttämään mainitun flash-tyyppisen 25 muistivälineen muistilohkoja (111, 112, 113, 114, 115) väliaikaisten tietojen tallennusmuistina mainitun transaktion käsittelyssä.
34. Tietokoneohjelma flash-tyyppiseen muistivälineeseen tallennettavan tiedon ' i transaktion käsittelemiseksi, tunnettu siitä, että tietokoneohjelmassa on: * - ohjelmalliset välineet prosessointiyksikön (102) ohjaamiseksi suorittamaan mainittuun transaktioon liittyvä hyötydatan (141) kirjoitusoperaatio mainitun flash-tyyppisen muistivälineen muistilohkoon (111), - ohjelmalliset välineet prosessointiyksikön (102) ohjaamiseksi asettamaan 5 mainitun muistilohkon (111) muistilohkokohtainen tilatieto (131) ilmaisemaan, että mainittu transaktio on vahvistamisvaiheessa, - ohjelmalliset välineet prosessointiyksikön (102) ohjaamiseksi lukemaan mainitun muistilohkon muistilohkokohtainen tilatieto (131) ja määrittämään, onko mainittu muistilohkokohtainen tilatieto asetettu ilmaisemaan, että 10 mainittu transaktio on vahvistamisvaiheessa, ja - ohjelmalliset välineet prosessointiyksikön (102) ohjaamiseksi saattamaan mainittuun muistilohkoon (111) kirjoitettu hyötydata (141) voimassa olevaksi hyötydataksi vasteena tilanteelle, jossa mainittu muistilohkokohtainen tilatieto (131) on asetettu ilmaisemaan, että mainittu transaktio on 15 vahvistamisvaiheessa.
FI20060571A 2006-06-08 2006-06-08 Menetelmä ja järjestely transaktioiden käsittelemiseksi flash-tyyppisessä muistivälineessä FI120220B (fi)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FI20060571A FI120220B (fi) 2006-06-08 2006-06-08 Menetelmä ja järjestely transaktioiden käsittelemiseksi flash-tyyppisessä muistivälineessä
PCT/FI2007/000162 WO2007141375A1 (en) 2006-06-08 2007-06-07 Method and arrangement for processing transactions in a flash type memory device
EP07788705.7A EP2024840A4 (en) 2006-06-08 2007-06-07 METHOD AND ARRANGEMENT FOR PROCESSING TRANSACTIONS IN A FLASH MEMORY DEVICE
US12/303,437 US9495286B2 (en) 2006-06-08 2007-06-07 Method and arrangement for completion or recovery of data transactions in a flash type memory device using a commit process
CN2007800212747A CN101467134B (zh) 2006-06-08 2007-06-07 用于对闪存类型存储器设备中的事务进行处理的方法和装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20060571 2006-06-08
FI20060571A FI120220B (fi) 2006-06-08 2006-06-08 Menetelmä ja järjestely transaktioiden käsittelemiseksi flash-tyyppisessä muistivälineessä

Publications (3)

Publication Number Publication Date
FI20060571A0 FI20060571A0 (fi) 2006-06-08
FI20060571A FI20060571A (fi) 2007-12-09
FI120220B true FI120220B (fi) 2009-07-31

Family

ID=36651400

Family Applications (1)

Application Number Title Priority Date Filing Date
FI20060571A FI120220B (fi) 2006-06-08 2006-06-08 Menetelmä ja järjestely transaktioiden käsittelemiseksi flash-tyyppisessä muistivälineessä

Country Status (5)

Country Link
US (1) US9495286B2 (fi)
EP (1) EP2024840A4 (fi)
CN (1) CN101467134B (fi)
FI (1) FI120220B (fi)
WO (1) WO2007141375A1 (fi)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2568480T3 (es) * 2008-05-29 2016-04-29 Hewlett-Packard Development Company, L.P. Componente reemplazable de impresora que incluye una memoria actualizada atómicamente
US8725931B1 (en) 2010-03-26 2014-05-13 Western Digital Technologies, Inc. System and method for managing the execution of memory commands in a solid-state memory
US8782327B1 (en) 2010-05-11 2014-07-15 Western Digital Technologies, Inc. System and method for managing execution of internal commands and host commands in a solid-state memory
US9026716B2 (en) * 2010-05-12 2015-05-05 Western Digital Technologies, Inc. System and method for managing garbage collection in solid-state memory
US9021192B1 (en) 2010-09-21 2015-04-28 Western Digital Technologies, Inc. System and method for enhancing processing of memory access requests
US9164886B1 (en) 2010-09-21 2015-10-20 Western Digital Technologies, Inc. System and method for multistage processing in a memory storage subsystem
US9158670B1 (en) 2011-06-30 2015-10-13 Western Digital Technologies, Inc. System and method for dynamically adjusting garbage collection policies in solid-state memory
KR20170089069A (ko) * 2016-01-25 2017-08-03 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법
KR20180128588A (ko) * 2017-05-24 2018-12-04 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
US11061751B2 (en) 2018-09-06 2021-07-13 Micron Technology, Inc. Providing bandwidth expansion for a memory sub-system including a sequencer separate from a controller
US11080210B2 (en) * 2018-09-06 2021-08-03 Micron Technology, Inc. Memory sub-system including an in package sequencer separate from a controller
CN112445766A (zh) * 2019-08-31 2021-03-05 华为技术有限公司 一种终端碎片整理方法、装置以及终端
CN112925615A (zh) * 2019-12-06 2021-06-08 烽火通信科技股份有限公司 一种进程恢复方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838614A (en) * 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
JPH11126497A (ja) 1997-10-22 1999-05-11 Oki Electric Ind Co Ltd 不揮発性半導体記憶装置
KR100330164B1 (ko) * 1999-04-27 2002-03-28 윤종용 무효 블록들을 가지는 복수의 플래시 메모리들을 동시에 프로그램하는 방법
FI109620B (fi) 1999-10-26 2002-09-13 Tellabs Oy Menetelmä ja järjestely atomaaristen päivitysten toteuttamiseksi loogista flashmuistilaitetta käyttäen
US6668336B2 (en) * 2001-11-08 2003-12-23 M-Systems Flash Disk Pioneers Ltd. Ruggedized block device driver
US7533214B2 (en) * 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
EP1510924B1 (en) * 2003-08-27 2008-07-23 ARM Limited Apparatus and method for handling transactions with writes and reads to EEPROM or Flash memories
US7139199B2 (en) 2004-06-28 2006-11-21 Intel Corporation Flash memory file system with transacted operations
WO2006011186A1 (ja) * 2004-07-23 2006-02-02 Spansion Llc コントローラ、データ記憶システム、データ書き換え方法及びコンピュータプログラムプロダクト
KR100622113B1 (ko) * 2006-03-03 2006-09-18 주식회사 퓨전소프트 데이터베이스 시스템을 위한 플래쉬 메모리 저장 시스템 및그 방법

Also Published As

Publication number Publication date
EP2024840A1 (en) 2009-02-18
FI20060571A (fi) 2007-12-09
WO2007141375A1 (en) 2007-12-13
FI20060571A0 (fi) 2006-06-08
US20090313501A1 (en) 2009-12-17
EP2024840A4 (en) 2016-11-23
CN101467134A (zh) 2009-06-24
CN101467134B (zh) 2011-03-30
US9495286B2 (en) 2016-11-15

Similar Documents

Publication Publication Date Title
FI120220B (fi) Menetelmä ja järjestely transaktioiden käsittelemiseksi flash-tyyppisessä muistivälineessä
US7599970B2 (en) Method and apparatus for updating a stored version of content stored in a storage device
JP2003513357A (ja) 論理フラッシュメモリ装置を用いて原子的更新を実行する方法および装置
RU2607622C2 (ru) Запись данных в энергонезависимое запоминающее устройство смарт-карты
CN107807886B (zh) 闪存存储器中的索引管理
CN109408122B (zh) 一种设备启动方法、电子设备和计算机存储介质
CN113836116A (zh) 数据迁移方法、装置、电子设备及可读存储介质
JP2019074950A (ja) 情報処理装置、制御装置、制御方法及び制御プログラム
CN100432926C (zh) 数据处理系统中处理交易的方法和装置
WO2003021428A1 (en) Method and apparatus for linking converted applet files
US20170336996A1 (en) Storage in flash memory
JP5104653B2 (ja) Icカード及びicカードプログラム
EP1510924A1 (en) Apparatus and method for handling transactions with writes and reads to EEPROM or Flash memories
US7036005B2 (en) Method and apparatus for modifying the contents of revision identification register
US20080168307A1 (en) System and method for recovery of memory transactions
JP4195822B2 (ja) Icカード及びicカードプログラム
US11977490B2 (en) Method for executing a transaction
KR100520192B1 (ko) 이동통신단말기의 소프트웨어 변경방법
US7346730B2 (en) Mobile electronic device
US20090292876A1 (en) In-System Programming to Switch Memory Access from One Area to Another in Memory Cards
CN117075822B (zh) 数据读写方法、装置、设备及存储介质
US20040006686A1 (en) Processor and instruction control method
JP2024134604A (ja) 処理装置、処理システム、処理方法、およびプログラム
US10714189B2 (en) Atomicity management in an EEPROM
JP2658265B2 (ja) 障害回復方法

Legal Events

Date Code Title Description
FG Patent granted

Ref document number: 120220

Country of ref document: FI

MM Patent lapsed