FI105726B - Muistinhallintamenetelmä - Google Patents
Muistinhallintamenetelmä Download PDFInfo
- Publication number
- FI105726B FI105726B FI954235A FI954235A FI105726B FI 105726 B FI105726 B FI 105726B FI 954235 A FI954235 A FI 954235A FI 954235 A FI954235 A FI 954235A FI 105726 B FI105726 B FI 105726B
- Authority
- FI
- Finland
- Prior art keywords
- block
- address
- virtual
- memory
- unit
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims description 124
- 238000000034 method Methods 0.000 title claims description 15
- 238000013507 mapping Methods 0.000 claims description 11
- 238000007726 management method Methods 0.000 claims description 8
- 230000007704 transition Effects 0.000 claims description 4
- 230000001427 coherent effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000003612 virological effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
106/26 MUISTINHALLINTAMENETELMÄ
Keksinnön kohteena on patenttivaatimuksen 1 johdanto-osassa määritelty menetelmä.
Keksintö liittyy kehittyneeseen järjestelmään ψ _______ 5 tiedon tallettamiseksi ja palauttamiseksi flash-muisteissa, ja erityisesti järjestelmään, joka järjestää ja hallitsee flash-muistiin kirjoitettua dataa.
Kuten ammattimiehet tietävät, sähköisesti tyhjennettävät ja ohjelmoitavat lukumuistit (read-only 10 memories, EEPROM), joihin kuuluu flash-tyyppinen, kel-luvahilainen transistori, on esitelty ja ne ovat nykyään kaupallisesti saatavilla. Nämä nk. flash-muistit ovat haihtumattomia muisteja ja toiminnoiltaan ja tehokkuudeltaan samanlaisia kuin EPROM muistit lisäomi-15 naisuuksin, jotka mahdollistavat piirin sisäisen, ohjelmoitavan toiminteen muistilohkojen tyhjentämiseksi. Flash-muistissa ei ole käytännöllistä kirjoittaa uudelleen aikaisemmin kirjoitetulle muistialueelle suorittamatta alueella lohkotyhjennystä. Samalla kun tämä 20 keksintö esitetään flash-muistien yhteydessä, ammattimiehelle on selvää, että keksinnön perusajatusta voidaan soveltaa tiedon.....tallennuslaitteisiin, joilla on samat kirjoitus-, luku- ja lohkopyyhkimisominaisuudet kuin flash-muisteilla.
.· 25 Tyypillisessä tietokonejärjestelmässä käyttö- järjestelmäohjelma vastaa tiedon säilytyslaitteiden, jotka ovat osa järjestelmää, hallinnasta. Tarpeellinen ja tavallisesti riittävä tiedon säilytyslaitteen määre yhteensopivuuden aikaansaamiseksi käyttöjärjestelmäoh-30 jelmiston kanssa on, että siitä voidaan lukea tietoa \ ja siihen voidaan_kirjoittaa tietoa, missä tahansa paikassa tiedon säilytysvälineessä. Näin ollen flash-muistit eivät ole yhteensopivia tyypillisten olemassa olevien käyttöjärjestelmien kanssa, koska tietoa ei 35 voi kirjoittaa flash-muistin alueelle, johon tietoa on kirjoitettu aiemmin aluetta ensin tyhjentämättä.
• . 2 105726
Entuudestaan tunnetaan ohjelmistotuotteita, jotka mahdollistavat flash-muistin hallinnan olemassa olevalla tietokoneen käyttöjärjestelmäohjelmistolla muuntamatta niitä. Kuitenkin nämä tunnetut ohjelmat 5 käyttävät flash-muisteja "kirjoita kerran, lue usein" -laitteina. Tunnettu ohjelmisto ei pysty kierrättämään aikaisemmin kirjoitettuja muistipaikkoja. Kun kaikki paikat viimein on kirjoitettu, ei muistia voi käyttää edelleen ilman käyttäjän toimenpiteitä.
10 Esillä olevan keksinnön tarkoituksena on tuo da esiin menetelmä (ts. ohjelma tai laitteiston ohjelmisto) flash-muistin pääsyn ohjaamiseksi ja hallitsemiseksi niin, että flash-muisti näkyy tietokoneen käyttöjärjestelmälle tiedon säilytyslaitteena, josta 15 voi lukea tietoa ja johon voi kirjoittaa tietoa, missä tahansa muistipaikassa. Menetelmä, joka mahdollistaa flash-muistin emuloivan suorasaantimuistia ja joka mahdollistaa olemassa olevan käyttöjärjestelmän aikaansaavan kaiken vaaditun tuen samalla tavalla kuin 20 aikaansaadaan suorasaantimuistilla ja riippumatta emu-lointimenetelmästä.
Keksinnön mukaiselle menetelmälle tunnusomaiset seikat ilmenevät oheisista patenttivaatimuksista.
Lyhyesti, tämä keksintö tarkastelee flash-25 muistin varausta, virtuaalista kartoitusjärjestelmää, joka sallii jatkuvan datakirjoituksen kirjoittamattomaan fyysiseen osoitepaikkaan. Virtuaalimuistikartta liittyy flash-muistin fyysisiin paikkaosoitteisiin datan paikan seuraamiseksi muistissa.
30 Flash-muistin fyysiset paikat järjestetään . tavuvektoriksi. Kukin tavu vektorissa osoitetaan jou- kolle osoitteita käyttämällä keinoja, jolla tavu voidaan fyysisesti osoittaa viitattuna fyysiseen osoiteavaruuteen. Jokaisella tavulla vektorissa on toinen 35 osoite, jota kutsutaan virtuaaliseksi osoiteavaruudeksi. Taulukko, jota kutsutaan virtuaalikartaksi, muuntaa virtuaaliosoiteavaruuden fyysisiksi osoitteiksi.
3 106726 Tässä on otettava huomioon, että virtuaaliosoiteava-ruus ei välttämättä ole saman kokoinen kuin fyysinen osoiteavaruus.
Vierekkäiset, kiinteämittaiset fyysiset ta-5 vuosoiteryhmät muodostavat lohkon. Esimerkiksi, oletetaan lohkon kooksi... 512 tavua, tavu, jonka fyysinen osoite on 256211 on tavu numero 211 lohkossa 500 (256211:512=500+211). Yksi tai useampi vierekkäinen flash-muistialueista (kutsutaan vyöhykkeiksi), jotka 10 voidaan fyysisesti pyyhkiä käyttäen sopivaa tunnettua flash-muistitekniikkaa, käsittää yksikön ja kukin yksikkö sisältää olennaisen määrän lohkoja.
Virtuaalimuistikartta on taulukko, jossa ensimmäinen merkintö kuuluu virtuaalilohkoon 0, toinen 15 virtuaalilohkoon 1 ja niin edelleen. Liitettynä taulukkoon kullakin virtuaalilohko-osoitteella on vastaava fyysinen osoite. Luettaessa flash-muistitoiminnos-sa, tietokoneella muodostettu osoite palautetaan vir-tuaaliosoitteeksi ja bittipaikaksi lohkossa. Virtuaa-20 limuistikarttaa käytetään muuttamaan virtuaalilohko-osoite fyysiseksi lohko-osoitteeksi; bittipaikka on sama virtuaalilohko-osoiteavaruudessa kuin fyysisessä osoiteavaruudessa......
Kirjoitustoiminnassa tietokoneella muodostet-25 tu osoite ilmaistaan virtuaalilohko-osoitteeksi ja bittipaikaksi lohkossa. Virtuaalimuistikartta muuttaa tämän fyysiseksi muistilohko-osoitteeksi. Jos flash-muistilohko vastaa” fyysistä osoitetta, joka parhaillaan kirjoitetaan, ei yleensä ole mahdollista kirjoit-30 taa tähän fyysiseen osoitteeseen. Siksi paikannetaan : kirjoittamaton paikka ja kirjoitetaan siihen. Virtuaa limuistikartta muunnetaan niin, että kirjoittamaton , fyysinen lohko-osoite kartoitetaan alkuperäiseen vir- tuaaliosoitteeseen ja alkuperäinen fyysinen osoite il-35 maistaan käyttämättömäksi, pysyen sellaisena kunnes suoritetaan vyöhyketyhjennystoiminta, joka pyyhkii yksikön, jossa lohko sijaitsee. On huomattava, että kir- 4 * r' f , Γ. y
luo/ZD
joitustoiminta olettaa, että koko lohko kirjoitetaan uudelleen. Tällä tavalla tietokonejärjestelmät yleensä siirtävät dataa tiedon säilytysvälineisiin. Kuitenkin, yleensä on toivottavaa, että haluttu bittimäärä voi-5 daan kirjoittaa uuteen tallennuspaikkaan.
Esillä olevan keksinnön eräässä edullisessa sovellutuksessa kukin yksikkö osoitetaan loogiseksi yksikköosoitteeksi, joka pysyy muuttumattomana kunnes yksikkö uudelleenkirjoitetaan uuteen fyysiseen osoite-10 paikkaan flash-muistissa. Virtuaalikartta sisältää viittaukset loogisiin yksikköosoitteisiin toisin kuin fyysisiin yksikköosoitteisiin niin, että datan siirto yksikkösiirtojen aikana ei vaikuta virtuaalikarttaan.
Kullakin yksiköllä on käyttökartta kaikista 15 lohkoista yksikössä; lohkon virtuaaliosoitteista, jos se on kartoitettu ja erikoismerkit vapaiden ja käyttämättömien lohkojen ilmaisemiseksi.
Aikaisemmin kirjoitetun flash-muistin käyttämättömät lohkot otetaan käyttöön siirtämällä muistiyk-20 siköt, jotka sisältävät käyttämättömät lohkot varatuksi kirjoittamattomaksi tilaksi flash-muistissa. Vain käyttämättömät kirjoitetaan siirto-operaatiossa niin, että uudelleenkirjoitettaessa paikat, joissa käyttämättömät lohkot olivat, jäävät kirjoittamatta varatus-25 sa tilassa ja ovat siten käyttämättömiä. Uudelleenkir- * ' joituksen jälkeen alkuperäinen yksikkötila väläys- tyhjennetään yksikkönä, jolloin se tulee kirjoittamattomaksi varatuksi tilaksi, johon seuraava siirto voidaan tehdä.
30 Lisäksi keksinnön edullisessa sovellutuksessa . virtuaalikartta talletetaan ensisijaisesti flash-muis- • tiin ainoastaan pienen toisiovirtuaalimuistin avulla suorasaantimuistissa. Virtuaalikartta flash-muistissa talletetaan lohkoissa ja järjestetään sivuihin, joiden 35 koko vastaa lohkossa olevien bittien määrän ja fyysisten lohko-osoitteiden määrän tuloa. Toisiosuorasaanti-muisti sisältää sivuosoitteet. Luettaessa dataa anne- 5 1C5726 tusta virtuaaliosoitteesta, sivunumero määritetään jakamalla osoite sivun koolla. Tulos indeksoi toisiovir-tuaalikartan oikean virtuaalikarttalohkon löytämiseksi. Jäljelle jäävää käytetään flash-muistiin tallete-5 tun virtuaalikartalle vaaditun fyysisen osoitteen laskemiseen. Virtuaalikartan muuttamiseksi flash-muistis-sa, muutettu kartta kirjoitetaan vapaaseen lohkoon ja toisiokartta suorasaantimuistissa muutetaan vastaamaan muutosta ensiökartan paikassa. Korvattu lohko merki- 10 tään poistetuksi . . .j.__
Edellä oleva ja muut tavoitteet, näkökohdat ja edut tulevat selvemmin esille seuraavasta yksityiskohtaisesta esillä olevan keksinnön erään edullisen sovellutuksen yksityiskohtaisesta kuvauksesta viitaten 15 oheiseen piirustukseen, jossa kuva 1 on lohkokaavio, joka esittää esillä olevan keksinnön mukaisen erään sovellutuksen mukaisen järjestelmän toiminnallisia osia; kuva 2 on kuvaesitys flash-muistin erään ta-20 son keksinnön mukaisesta järjestelystä; kuva 3 on kuvaesitys siitä miten yksikkö muodostetaan; - kuva 4 on kuvaesitysmuoto esittäen tietokoneella muodostettujen osoitteiden kartoittamista fyy-25 sisiksi osoitteiksi; ' kuva 5 on lohkokaavio, joka esittää lukutoi- mintoa; kuva 6 on lohkokaavio, joka esittää kirjoi-tustoimintoa; 3 0 kuva 7 on kuvadiagrammi, joka esittää yksik- - . köä ennen siirtotoimintoa ja sen jälkeen - kuva 8 ori-lohkokaavio, joka esittää siirto- toimintoa; ja kuva 9 on lohkokaavio, joka esittää toimin-35 toa, jossa pääosa virtuaali-fyysisestä kartasta talletetaan flash-muistiin, » .................
6 105726
Viitaten nyt kuvaan 1, tyypillisessä järjestelmässä prosessori 10 yhdessä käyttöjärjestelmäohjel-miston kanssa laskee liikkeelle sarjan luku- ja kirjoi tuskomentoj a datan lukemiseksi ja kirjoittamiseksi 5 tiettyyn osoitepaikkaan suorasaantimuistissa. Kuten ammattimiehille on tärkeää, suorasaantitallennuslait-teessa, kuten levymuistissa, dataa voidaan kirjoittaa tai lukea missä tahansa muistiosoitteessa. Kuvan 1 järjestelmässä, prosessori 10 kirjoittaa ja lukee da-10 tan flash-muistiin/sta 12 lohkoissa tietyissä muistipaikoissa. Vaikkakin flash-muistin 12 vyöhykkeet voidaan tyhjentää, nyt kirjoitettuihin muistipaikkoihin ei voi kirjoittaa ennen kuin koko vyöhyke on tyhjennetty. Esillä olevan keksinnön mukaan flash-muistin 15 ohjain 14 järjestää täydellisesti uudeelleenkirjoitet-tavan virtuaalimuistiavaruuden niin, että flash-muisti 12 emuloi suorasaantimuistia, kuten levymuistia, ja prosessorin käyttöjärjestelmäohjelmisto aikaansaa muut tarvittavat toiminteet (kuten tiedostojärjestelmän) 20 samalla tavalla kuin se aikaansaa normaalilla suo-rasaantimuistilla, ja tavalla, joka on riippumaton flash-muistista 12 ja sen ohjaimesta 14. Lisäksi tyypilliseen järjestelmään kuuluu perinteinen suorasaan-timuisti. On edullista, että ohjaimen 14 toiminnot 25 voidaan suorittaa ohjelmistolla tai laitteiston kiin-’ teällä ohjelmistolla, ja että se ei ole fyysisesti erillinen yksikkö kuten piirustuksessa esitetään.
Viitaten nyt kuvaan 2, joka esittää osittain flash-muistin järjestelyä. Flash-muistilla on joukko 30 vyöhykkeitä, jotka nimetään tässä vyöhykkeeksi A, vyö-, hykkeeksi B jne. Kukin vyöhyke muodostuu joukosta vie rekkäisiä muistipaikkoja, jotka voidaan tyhjentää lohkona käyttäen perinteistä ennestään tunnettua flash-muistiteknologiaa. Vyöhykkeet järjestetään yksiköiksi, 35 joista ainoastaan neljä esitetään ja ne on nimetty seuraavasti; UNIT #1, UNIT #6, UNIT N-l ja TRANSFER UNIT. Kukin yksikkö muodostuu ainakin yhdestä vyöhyk- 105726 7 keestä joukossa vierekkäisiä vyöhykkeitä. Tässä esitetään, että kukin yksikkö muodostuu kahdesta vyöhykkeestä (t.s. UNIT #1 - vyöhyke A ja vyöhyke B, UNIT #2 - vyöhyke C ja vyöhyke D, TRANSFER UNIT - vyöhyke x2 " 5 ja vyöhyke 2x).
Kukin yksikkö käsittää osoitettavien lohkojen numerokokonaisuuden ja kukin lohko vuorostaan käsittää vierekkäisen kiinteämittaisen bittiryhmän. Joka hetki muistissa 12 on kirjoittamaton yksikkö (t.s. TRANSFER 10 UNIT) niin, että aktiiviset lohkot yksikössä, joka on tyhjennettävänä voidaan kirjoittaa tälle kirjoittamattomalle alueelle ennen yksikön tyhjentämistä.
Viitaten nyt kuvaan 3, kukin yksikkö käsittää vierekkäisten datalohkojen 21 numer©kokonaisuudet, 15 jotka vuorostaan käsittävät vierekkäiset bittiosoit- teet, jotka voidaan osoittaa lohkonumeroksi, ja siirtymän lohkossa. Kukin lohko yksikössä voidaan osoittaa lohkonumerolla ja siirtymällä yksikössä. Kullakin yksiköllä on yksikköotsikko 23 ja kunkin lohkon varaus-20 tilanteen kartta 25. Yksikköotsikko 23 sisältää alus-tustunnisteen ja yksikön loogisen yksikkötunnisteen. Koska datan on siirryttävä fyysisesti yksikkösiirron aikana, edullisesti yksikkönumeroa ei muuteta vaikka yksikön fyysinen paikka flash-muistissa 12 muuttuu.
25 Lisäksi otsikko saattaa myös sisältää järjestelmätason ' tietoja. Lohkovarauskartalla 25 on sana jokaiselle lohkolle, joka sana ilmaisee lohkon tilan ja siirtymän yksikössä. Ti laturini steet ovat: "lohko vapaa ja kir joitettava"; "lohko poistettu ja ei-kirjoitettava"; 30 "lohko varattu ja sisältää käyttäjän dataa" ja lohkon . virtuaaliosoite (palautusosoitin).
Kuten aiemmin mainittiin, edullisesti kukin yksikkö osoitetaan loogiseksi yksikkönumeroksi, joka ei muutu vaikkakin yksikön fyysisen paikka yksikössä 35 muuttuu. Kuten esitetään kuvassa 4, tietokoneen 10 muodostamat osoitteet 29 muodostetaan lohkonumerosta ja -siirtymästä. Nämä osoitteet tulkitaan flash- 8 Λ Γ, Γ '' Γ, / I υ Ό ί IΟ ohjaimella 14 virtuaaliosoitteiksi ja virtuaalikarttaa käytetään vastaavuuden muodostamiseksi virtuaaliosoi-teavaruuden ja fyysisen osoiteavaruuden välille. Vir-tuaalikartta muuttuu kun lohkoja kirjoitetaan uudel-5 leen ja siksi virtuaaliosoiteavaruus on dynaaminen. On huomattava, että millä tahansa ajan hetkellä lohko tai lohkot virtuaaliosoiteavaruudessa voidaan poistaa fyysisestä osoiteavaruuskartasta ja että lohkot fyysisessä osoiteavaruudessa voidaan palauttaa kirjoittamatto-10 miksi ollen näin vapaita kirjoitukselle.
Koska data liikkuu fyysisesti siirrettäessä yksikköä kirjoittamattomaan yksikköavaruuteen, yksiköt osoitetaan loogisilla yksikkönumeroilla, jotka eivät muutu yksikön fyysisen paikan muuttuessa muistissa.
15 Virtuaalikartta 31 kartoittaa lohkonumerot loogisiksi yksikköosoitteiksi kaksivaiheisen osoitekäännöksen ensimmäisessä vaiheessa. Looginen yksikköosoite on osoite, joka on suhteessa loogiseen yksikkönumeroon vastaten fyysistä osoitetta, joka on fyysiseen yksikkönume-20 roon suhteessa oleva osoite. Looginen yksikkönumero on korkean tason loogisen osoitteen binääriluku ja se voidaan saada loogisesta osoitteesta siirto-operaatiolla. Kartasta 31 saatu looginen osoite 33 sisältää loogisen yksikkönumeron ja lohkon siirtymän yk-25 sikössä.
Looginen yksikkötaulukko 35 kääntää loogisen yksikkönumeron fyysiseksi yksikkönumeroksi loogiselle yksikölle. Tämä kaksivaiheinen osoitekäännösproseduuri ehkäisee tarpeen muuttaa lohko-osoitetta kartassa kun 30 osoite siirretään uuteen fyysiseen paikkaan.
Lukuoperaatiossa virtuaaliosoite 29 käsittää lohko-osoitteen, esimerkiksi alussa kartoitetun loogisen yksikkönumeron ja lohkosiirtymän yksikössä osoitettavassa lohkossa. Kartta 35 kartoittaa yksikkönume-35 ron 33 fyysiseksi osoitteeksi 37 yksikölle osoitteel-lisen 37 lohkon yksikkösiirtymän kanssa ja osoitettu datalohko luetaan tästä fyysisestä paikasta. Tässä . 9 105726 oletetaan, että dataa luetaan ja kirjoitetaan lohkossa niin kuin se tyypillisesti tehdään. Tietenkin dataa voidaan kirjoittaa ja lukea tavuperusteella käyttäen samaa periaatetta. Kuva 5 on lohkokaavio, joka esittää • 5 lukuoperaatiota. Kuten aiemmin selitettiin, virtuaa- : liosoite 29 kartoitetaan loogiseen osoitteeseen (lohko ! 40) kaksivaihe£s~en osoitekäännön ensimmäisessä vai heessa. Toisessa vaiheessa looginen osoite kartoitetaan fyysiseen osoitteeseen flash-muistissa, lohko 41.
10 Tässä fyysisessä osoitteessa oleva data luetaan, lohko 42, mikä keskeyttää tämän toiminnon.
Kirjoitusoperaatiossa virtuaaliosoite 29 kartoitetaan jälleen alussa loogiseksi yksikkönumeroksi ja lohkosiirtymäksi yksikössä. Ohjaimen 14 algoritmi 15 tutkii tämän yksikön lohkovarauskartan 25. Jos osoitetta vastaava lohko on kirjoitettu, kirjoituskomentoa ei voida suorittaa vastaavaan fyysiseen osoitteeseen. Ohjausalgoritmi läpikäy kunkin yksikön lohkovarauskar-tan 25 kunnes vapaa lohko löytyy. Lohkon tila lohko-20 kartassa 25 alkuperäisessä yksikköosoitteessa muutetaan poistetuksi lohkoksi varauskartassa ja vapaan lohkon tila muutetaan kirjoitetuksi. Virtuaalikartta 31 päivitetään siten, että alkuperäinen virtuaaliosoite osoittaa uuteen loogiseen osoitteeseen, jossa kir-25 joitusoperaatio suoritetaan. Tämä looginen osoite kartoitetaan fyysiseksi osoitteeksi edellä kuvatulla tavalla, ja lohko kirjoitetaan tähän osoitteeseen. Kuva 6 on lohkokaavio esittäen tämän kirjoitusoperaation. Kirjoitusoperaatiossa virtuaaliosoite 29 kartoitetaan 3 0 loogiseksi yksikköosöitteeksi, lohko 45, ja yksikön - yksikkövaraus tutkitaan, lohko 46. Jos päättelylohkos- ' sa 47 yksikköosoite "on vapaa, yksikköosoite kartoite taan fyysiseksi Osoitteeksi, lohko 48, ja data kirjoitetaan tähän fyysiseen osoitteeseen, lohko 49, ja toi-35 minta päättyy. Jos looginen osoite ei ole tyhjä (lohko 47), yksikkötaulukot käydään läpi vapaan osoitteen paikantamiseksi yksikkövaraustaulukoissa, lohko 50.
105726 • . ίο Tämä uusi looginen osoite kartoitetaan fyysiseksi osoitteeksi, lohko 51, ja data kirjoitetaan tähän fyysiseen osoitteeseen, lohko 52. Yksikkövaraustaulukot päivitetään (lohko 53) osoittamaan, että alkuperäinen 5 lohko on poistettu ja on ei-kirjoitettava ja että uusi lohko on varattu ja sisältää käyttäjän dataa. Seuraa-vaksi päivitetään virtuaalisesta-loogiseen osoitekart-ta osoittamaan datan alkuperäistä virtuaaliosoitetta vastaavaan uuteen fyysiseen osoitteeseen, lohkot 54 ja 10 55.
Kirjoitus- ja lukuoperaatioiden rajoittamattoman toiminnan jatkumisen varmistamiseksi fyysinen muistiavaruus virkistetään jaksottaisesti. Kuten aikaisemmin selitettiin, ainakin yksi muistiyksikkö va-15 rataan aina niin, että se sisältää ainoastaan vapaita lohkoja ja palvelee TRANSFER UNITtina.
Viitaten nyt kuvaan 7, aktiivinen yksikkö valitaan (tässä UNIT #M) ja kaikki sen parhaillaan varatut aktiiviset lohkot luetaan ja kirjoitetaan TRANSFER 20 UNITiin. Valittu yksikkö #M lohkotyhjennetään ja siitä tulee TRANSFER UNIT, kun taas yksiköstä, johon aktiiviset lohkot on kirjoitettu tulee tässä esimerkissä yksikkö #M. Kuva 7 esittää yksikköjen tilaa ennen ja jälkeen siirto-operaation. Kuva 8 on lohkokaavio tästä 25 siirto-operaatiosta. Siirto-operaatiossa valitaan siirrettävä yksikkö, lohko 60, ja aktiiviset dataloh-kot valitussa yksikössä luetaan, lohko 61. Seuraavaksi aktiiviset lohkot kirjoitetaan siirtoyksikköön sen paikoissa, jotka vastaavat alkuperäisen yksikön paik-30 koja, lohko 62. Seuraavaksi alkuperäinen valittu yksikkö flash-tyhjennetään, lohko 63, ja loogisesta-fyy-siseen osoitekartta muutetaan niin, että valitusta yksiköstä tulee siirtoyksikkö ja siirtoyksikkö osoitetaan valitun yksikön yksikkönumeroksi, lohko 64.
35 Tähän mennessä kuvattu järjestelmä vaatii virtuaalikartan, jonka sisältö on vapaasti päivitettävissä, ja sellainen kartta voidaan tallettaa perintei-
I w V·/' t tL
11 seen suorasaantimuistiin. Kuitenkin, olettaen esimerkiksi 512 bitin lohkokoolla, koska virtuaalikartta sisältää merkinnän jokaiselle lohkolle, ja jokainen mer-kintö voi olla esimerkiksi neljä tavua pitkä (t.s. ky-r 5 kenee osoittamaan 4 gigabitin muisteja), 80 megabitin flash-muisti tarvitsisi 640 kilobitin muistin taulukkojen tallettamiseksi. Virtuaalikartan tallettamiseen tarvittavan suorasääntimuistin määrän rajoittamiseksi esillä olevan keksinnön edullisessa sovellutuksessa f 10 pääosa karttadatas'ta-talletetaan flash-muistiin 12 it- ! seensä, ja toisiovirtuaalikartta, joka kartoittaa vir- tuaaliosoitteet tietokoneelta ensiövirtuaalikarttaan talletetaan suorasaantimuistiin, kuten muistiin 16. Tärkeä huomio tässä on, että toisiovirtuaalikarttajär-15 jestely tekee luku- ja kirjoitusproseduurin identtiseksi tavallisen edellä kuvatun luku- ja kirjoitusproseduurin kanssa. Virtuaalikartta itse käsiteltynä edellä kuvatulla vastaavalla tavalla kuin käyttäjän data edellä olevassa kuvauksessa ja virtuaalikartta, 20 joka on talletettu .suorasaantimuistiin (ts. toisiovir tuaalikartta) , on vastaava kuin edellisen kuvauksen virtuaalikartta.
Tässä sovellutuksessa virtuaalikartta on flash-muistissa 12 negatiivisissa virtuaaliosoitteis-25 sa; normaaliavaruus._alkaa virtuaaliosoitteesta nolla.
Virtuaalikartta kartoittaa käyttämänsä negatiiviset osoitteet niin, että flash-muistissa oleva virtuaalikartta voidaan lukea ja kirjoittaa kuten normaali käyttäjän data, ja vain virtuaalikartan osa, joka kar-30 toittaa itsensä (ts. toisiovirtuaalikartta), on suo- rasaantimuistissa..______
Yksinkertaisessa esimerkissä oletetaan virtuaalikartta, johon on talletettu 6000 tavua kahteentoista virtuaalikarttalohkoon kuhunkin 512 tavua. Nel-35 jä-tavuisilla osoitteilla kukin lohko voidaan tallettaa 128 fyysiseen osoitteeseen. Näin ollen kukin lohko sisältää virtuaalisen flash-muistin 64 kilotavun • 12 105726 osoitteet. Virtuaalisen flash-muistin kutakin lohkoa pidetään sivuna ja suorasaantimuistiin talletetaan si-vuosoitteet; (tässä esimerkissä vain 48 tavua) jotka on kartoitettu osoitelohkoille. Luettaessa dataa anne-5 tusta virtuaaliosoitteesta, osoite jaetaan sivun koolla (64 kilotavua) sivunumeron saamiseksi toisiovirtu-aalimuistissa, joka kartoittaa ensiövirtuaalimuistin sivulohkon, johon osoite on talletettu. Virtuaalimuis-tisivulohkolla, proseduuri tietyn flash-muistin fyysi-10 sen osoitteen kartoittamiseksi voi edetä edellä kuvatulla tavalla. Esimerkiksi kun virtuaaliosoite on jaettu sivukoolla, voidaan jäljelle jäävä jakaa virtuaalimuistin lohkokoolla (ts. 512) vektoriosoitteen indeksin saamiseksi luettavaksi flash-muistista.
15 Kirjoitettaessa dataa annettuun virtuaa- liosoitteeseen, tietokoneella muodostetut osoitteet myös jaetaan sivukoolla indeksin saamiseksi toisiovir-tuaalikarttaan flash-muistissa. Toisiovirtuaalikartta kartoittaa ensiövirtuaalikarttaan, josta ensiövirtuaa-20 likarttalohko luetaan; ja tätä käytetään kartoittamaan fyysiseen lohkoon, jolle on osoitettu mistä se on luettu. Koska tätä lohkoa ei voi uudelleenkirjoittaa, kirjoittamaton lohko identifioidaan ja kirjoitetaan edellä kuvatulla tavalla alkuperäisellä poistetuksi 25 merkityllä datalohkolla. Flash-muistissa olevan virtu-aalikartan päivittämiseksi, olennaisesti vastaava proseduuri seuraa. Virtuaalikarttalohko, uudessa muodossaan viitaten osoitedatan uuteen fyysiseen sijaintiin, kirjoitetaan kirjoittamattomaan lohkoon flash-muistis-30 sa ja vanha lohko merkitään poistetuksi. Toisiovirtu-, aalikartta suorasaantimuistissa muutetaan tarvittaessa viittaamaan ensiövirtuaalimuistilohkojen paikkojen muutokseen.
Kuva 9 on lohkokaavio tästä operaatiosta. En-35 simmäinen vaihe tässä prosessissa muuntaa virtuaa-liosoitteen sivunumeroksi, lohko 70, ja käyttää sivunumeron osoitteen löytämiseksi RAMmissa 16 ja relevan- . . 13 105726 tin flash-muistiin talletetun virtuaalimuistin sivu-lohkon flash-muistissa 12, lohko 21. Virtuaalikartan sivulohko tässä osoitteessa luetaan flash-muistista (lohko 72) ja käytetään edellä kuvatulla tavalla vir-5 tuaaliosoitetta vastaavan fyysisen paikan löytämiseksi datan luku- ja kirjoitusoperaatiota varten. Datan kirjoitusoperaatiossa virtuaalikarttasivulohko on päivitettävä, lohko 73, ja päivitetty virtuaalikarttasivulohko kirjoitetaan flash-muistin vapaaseen fyysiseen 10 paikkaan, lohko 74. Alkuperäinen flash-muistiosoite, jossa virtuaalikarttasivulohko oli, merkitään poistetuksi, lohko 75, ja RAM-muisti 16 päivitetään osoittamaan virtuaalisesta,-fyysiseen kartan osoitteeseen päivitetyllä kartalla, lohko 76.
15 Virtuaalikarttä voidaan helposti uudelleen- : muodostaa järjestelmän käynnistyksessä. Flash-muistis- i sa olevat virtuaalikartat ovat haihtumattomia, eivätkä vaadi uudelleenmuodostusta. Haihtuvassa suorasaanti-muistissa oleva toisiovirtuaalikartta voidaan uudel-20 leenmuodostaa skannaamalla käynnistyksessä lohkokäyt- tökartta, joka on kunkin yksikön yläosassa. Virtuaa-liosoitteiksi kartoitetuiksi merkityt lohkot identifioidaan ja toisiovirtuaalikartta muodostetaan sen mukaan .
25 Vaikka keksintöä on kuvattu yksittäisen edul lisen sovellutuksen muodossa, ammattimiehelle on selvää, että keksintöä voidaan käyttää patenttivaatimusten hengessä ja mukaisesti suoritettujen muutosten mukaisena.
Claims (6)
1. Muistinhallintamenetelmä muistille (12), jossa dataa voidaan kirjoittaa vain kirjoittamattomiin fyysisiin muistipaikkoihin ja jossa vierekkäisten 5 muistipaikkojen muodostamat alueet voidaan tyhjentää yhtäaikaisesti, tunnettu siitä, että menetelmään kuuluu vaiheet: järjestetään muistissa (12) oleva data joukoksi yksiköitä, jotka kukin käsittävät ainakin yhden alu-10 een; järjestetään kukin yksikkö yhtenäiseksi joukoksi osoitettavia lohkoja, joista kuhunkin kuuluu joukko vierekkäisiä fyysisiä muistipaikkoja; muodostetaan lohkonvarauskartta (25) kullekin yk-15 sikölle, joka taulukko osoittaa kunkin lohkon tilan yksikössä aktiivisesti kirjoitetuksi, kirjoittamattomaksi tai poistetuksi; muodostetaan virtuaalikartta (31) virtuaalisten lohko-osoitteiden kartoittamiseksi fyysisiksi osoit-20 teiksi yksikössä; kirjoitettaessa dataa muistiin (12) virtuaa-liosoitteessa (29): (a) kartoitetaan virtuaaliosoite (29) fyysiselle lohko-osoitteelle yksikössä; 25 (b) tutkitaan allokointitaulukkoa (25) yksikössä, jolle virtuaaliosoitteet (29) on kartoitettu alivai-heessa (a) sen määrittämiseksi, onko lohkon tila fyysisessä lohko-osoitteessa kirjoitettu, tai kirjoittamaton, tai poistettu; 30 (c) jos lohko fyysisessä lohko-osoitteessa on kir- ·' joitetussa tilassa: (1) tutkitaan ainakin yhden yksikön lohkon va-rauskarttaa (25) kirjoittamattoman lohko-osoitteen identifioimiseksi; 35 (2) kirjoitetaan data muistiin (12) kirjoitta mattomaan lohko-osoitteeseen; . . 15 105726 (3) muutetaan lohkonvarauskarttaa (25) yksikölle, jolle virtuaaliosoite on kartoitettu vaiheessa (a), osoittamaan poistettua fyysistä lohko-osoitetta; (4) muutetaan lohkonvarauskarttaa (25) lohkolle 5 yksikössä, johon data on kirjoitettu vaiheessa (c) (2), osoittamaan kirjoittamaton lohko-osoite kirjoitetuksi ; lohko-osoitteeksi osoitteessa, jossa se on kirjoitet tu; (5) muutetaan virtuaalikarttaa (31) virtuaa- I 10 liosoitteiden (29) kartoittamiseksi fyysisille osoit- ’ I teille (37) yksikössä niin, että virtuaalikartta (31) kartoittaa virtuaaliosoitteen (29) kirjoittamattoman lohkon fyysiseksi osoitteeksi, johon data on kirjoi-! tettu vaiheessa (clT'2) niin, että virtuaaliosoite ei 15 ole kartoitettu vaiheessa (c) kirjoitetun lohkon fyysiseksi osoitteeksi (37) .
2. Patenttivaatimuksen 1 mukainen muistinhal-lintamenetelmä, tunnettu siitä, että talletetaan muistiin (12) ensimmäinen virtuaali-20 kartta, joka osoittaa virtuaaliosoitteet (29) fyysisiksi osoitteiksi (37) ; järjestetään muistiin (12) talletettu ensimmäinen virtuaalikartta sivuosoitettavien lohkojen segmenttei-hi n; 25 talletetaan suorasaantimuistiin (16) toinen virtu aalikartta, joka osoittaa sivuosoitteet sivuosoitetta-vien lohkojen fyysisiksi osoitteiksi muistissa (12); muutetaan sivuosoitettava lohko muistiin (12) talletetussa ensimmäisessä virtuaalikartassa kirjoitta-30 maila muuttunut sivuosoitettava lohko kirjoittamatto-- .· maan fyysiseen lohkopaikkaan; ja päivitetään suorasaantimuistiin (16) talletettu toinen virtuaalikartta niin, että se kartoittaa muuttuneen sivuosoitettavan lohkon kirjoittamattomaan fyy-35 siseen lohkopaikkaan, johon muuttunut sivuosoitettava lohko on kirjoitettu. 105726
3. Patenttivaatimuksen 2 mukainen muistinhal-lintamenetelmä, tunnettu siitä, että menetelmään kuuluu vaiheet: kirjoitettaessa dataa muistin (12) virtuaaliosoit-5 teeseen: (a) palautetaan sivuosoite virtuaaliosoitteesta (29) ; (b) kartoitetaan sivuosoite sivuosoitettavaksi lohkoksi muistissa (12); 10 (c) luetaan segmentti ensimmäisestä virtuaalikar-* tästä, joka kartoittaa virtuaaliosoitteen (29) fyysiseksi osoitteeksi; (d) kartoitetaan virtuaaliosoite (29) fyysiseksi osoitteeksi (37); 15 (e) jos lohko fyysisessä osoitteessa on kirjoite tussa tai poistetussa tilassa: (1) kirjoitetaan data muistiin (12) kirjoittamattomaan lohko-osoitteeseen; (2) muutetaan ensimmäistä virtuaalikarttasegment- 20 tiä niin, että ensimmäinen virtuaalikartta kartoittaa virtuaaliosoitteen (29) kirjoittamattoman lohkon fyysiseksi osoitteeksi (37), johon data on kirjoitettu vaiheessa (e)(1); (3) kirjoitetaan muuttunut ensimmäinen virtuaali- 25 karttasegmentti vaiheesta (e)(2) kirjoittamattomaan fyysiseen lohkopaikkaan muistissa (12); (4) päivitetään suorasaantimuistiin (16) talletettu toinen taulukko niin, että se kartoittaa kirjoittamattoman lohkopaikan muuttuneen ensimmäisen virtuaali- 30 kartan segmentin sivuosoitteen.
4. Jonkin patenttivaatimuksista 1-3 mukainen muistinhallintamenetelmä, tunnettu siitä, että virtuaaliosoitteen (29) kartoittamiseen fyysiseksi osoitteeksi (37) kuuluu kaksivaiheinen osoitteen kään- 35 nös, jossa käännetään virtuaaliosoite (29) loogiseksi yksik-köosoitteeksi (33) virtuaalikartalla (31), ja käänne- . 17 105726 tään looginen osoite (33) fyysiseksi osoitteeksi (37) loogisella yksikkötaulukolla (35).
5. Jonkin patenttivaatimuksista 1-4 mukainen muistinhallintamenetelmä, tunnettu siitä, et- ' 5 tä kirjoitettaessa dataa muistiin virtuaaliosoittees- sa: (a) kartoitetaan___virtuaaliosoite (29) fyysiseksi lohko-osoitteeksi yksikössä; 10 (b) luetaan data muistista (12) fyysisessä osoitteessa (37) . __________________
6. Jonkin patenttivaatimuksista 1-5 mukainen muistihallintamenetelmä, tunnettu siitä, että muodostetaan muistiin (12) siirtoyksikkö, jossa 15 yksikön kaikki lohkot_ovat kirjoittamattomia, ja johon siirtoyksikköön kuuluu siirtoyksikkölohkon varauskart-ta ; identifioidaan jaksoittain valittu yksikkö, joka on muu kuin siirtoyksikkö, tyhjennettäväksi; 20 luetaan kukin kirjoitettu lohko valittuun yksik köön; kirjoitetaan kukin kirjoitettu lohko valitussa yksikössä siirtoyksikköön; päivitetään siirtoyksikön varauskartta (25) osoit-25 tamaan edeltävässä kirjoitusvaiheessa kirjoitettujen lohkojen tila kirjoitetuksi; tyhjennetään valittu lohko; päivitetään virtuaaliosoitteiden (29) virtuaali-kartta fyysisiksi osoitteiksi (37) ilmaisemaan kirjoi-30 tettujen lohkojen siirtyminen. . . 18 105726
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/027,131 US5404485A (en) | 1993-03-08 | 1993-03-08 | Flash file system |
US2713193 | 1993-03-08 | ||
PCT/US1994/001848 WO1994020906A1 (en) | 1993-03-08 | 1994-02-28 | Flash file system |
US9401848 | 1994-02-28 |
Publications (3)
Publication Number | Publication Date |
---|---|
FI954235A0 FI954235A0 (fi) | 1995-09-08 |
FI954235L FI954235L (fi) | 1995-11-08 |
FI105726B true FI105726B (fi) | 2000-09-29 |
Family
ID=21835870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FI954235A FI105726B (fi) | 1993-03-08 | 1995-09-08 | Muistinhallintamenetelmä |
Country Status (12)
Country | Link |
---|---|
US (1) | US5404485A (fi) |
EP (1) | EP0688450B1 (fi) |
JP (2) | JPH08510072A (fi) |
KR (1) | KR100292011B1 (fi) |
CN (1) | CN1078364C (fi) |
AU (1) | AU6269994A (fi) |
DE (1) | DE69414556T2 (fi) |
FI (1) | FI105726B (fi) |
IL (1) | IL108766A (fi) |
TW (1) | TW264547B (fi) |
WO (1) | WO1994020906A1 (fi) |
ZA (1) | ZA941446B (fi) |
Families Citing this family (588)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2251323B (en) * | 1990-12-31 | 1994-10-12 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
US5657332A (en) * | 1992-05-20 | 1997-08-12 | Sandisk Corporation | Soft errors handling in EEPROM devices |
US5581723A (en) * | 1993-02-19 | 1996-12-03 | Intel Corporation | Method and apparatus for retaining flash block structure data during erase operations in a flash EEPROM memory array |
US5519843A (en) * | 1993-03-15 | 1996-05-21 | M-Systems | Flash memory system providing both BIOS and user storage capability |
US5485595A (en) * | 1993-03-26 | 1996-01-16 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporating wear leveling technique without using cam cells |
US5479638A (en) * | 1993-03-26 | 1995-12-26 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporation wear leveling technique |
US6311286B1 (en) * | 1993-04-30 | 2001-10-30 | Nec Corporation | Symmetric multiprocessing system with unified environment and distributed system functions |
US5600821A (en) * | 1993-07-28 | 1997-02-04 | National Semiconductor Corporation | Distributed directory for information stored on audio quality memory devices |
US5640529A (en) * | 1993-07-29 | 1997-06-17 | Intel Corporation | Method and system for performing clean-up of a solid state disk during host command execution |
JP3215237B2 (ja) * | 1993-10-01 | 2001-10-02 | 富士通株式会社 | 記憶装置および記憶装置の書き込み/消去方法 |
US5784706A (en) * | 1993-12-13 | 1998-07-21 | Cray Research, Inc. | Virtual to logical to physical address translation for distributed memory massively parallel processing systems |
DE69428881T2 (de) * | 1994-01-12 | 2002-07-18 | Sun Microsystems, Inc. | Logisch adressierbarer physikalischer Speicher für ein Rechnersystem mit virtuellem Speicher, das mehrere Seitengrössen unterstützt |
US5696917A (en) | 1994-06-03 | 1997-12-09 | Intel Corporation | Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory |
US5765175A (en) * | 1994-08-26 | 1998-06-09 | Intel Corporation | System and method for removing deleted entries in file systems based on write-once or erase-slowly media |
EP0704803B1 (de) * | 1994-09-30 | 1997-03-05 | Alcatel SEL Aktiengesellschaft | Verfahren zur Speicherverwaltung eines Flash-Speichers |
JPH08137634A (ja) * | 1994-11-09 | 1996-05-31 | Mitsubishi Electric Corp | フラッシュディスクカード |
JP2669365B2 (ja) * | 1994-11-24 | 1997-10-27 | 日本電気株式会社 | 書換え可能なromファイル装置 |
JP3464836B2 (ja) * | 1995-01-19 | 2003-11-10 | 富士通株式会社 | 記憶装置のメモリ管理装置 |
AU692670B2 (en) * | 1995-02-10 | 1998-06-11 | Aristocrat Technologies Australia Pty Limited | Dram emulator |
AUPN105495A0 (en) * | 1995-02-10 | 1995-03-09 | Aristocrat Leisure Industries Pty Ltd | Dram emulator |
JP3706167B2 (ja) * | 1995-02-16 | 2005-10-12 | 株式会社ルネサステクノロジ | 半導体ディスク装置 |
JP2671860B2 (ja) | 1995-03-30 | 1997-11-05 | 日本電気株式会社 | フラッシュメモリ用ファイルシステム |
JPH08328762A (ja) * | 1995-06-06 | 1996-12-13 | Mitsubishi Electric Corp | 半導体ディスク装置及びそのメモリ管理方法 |
US5930815A (en) * | 1995-07-31 | 1999-07-27 | Lexar Media, Inc. | Moving sequential sectors within a block of information in a flash memory mass storage architecture |
US5845313A (en) * | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
US8171203B2 (en) * | 1995-07-31 | 2012-05-01 | Micron Technology, Inc. | Faster write operations to nonvolatile memory using FSInfo sector manipulation |
US6728851B1 (en) | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US6978342B1 (en) | 1995-07-31 | 2005-12-20 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US6081878A (en) * | 1997-03-31 | 2000-06-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
DE29513792U1 (de) * | 1995-08-28 | 1995-10-12 | Siemens AG, 80333 München | Prozessoreinheit |
GB2291990A (en) * | 1995-09-27 | 1996-02-07 | Memory Corp Plc | Flash-memory management system |
GB2291991A (en) * | 1995-09-27 | 1996-02-07 | Memory Corp Plc | Disk drive emulation with a block-erasable memory |
US5933847A (en) | 1995-09-28 | 1999-08-03 | Canon Kabushiki Kaisha | Selecting erase method based on type of power supply for flash EEPROM |
JP3703181B2 (ja) * | 1995-09-28 | 2005-10-05 | キヤノン株式会社 | フラッシュrom管理方法及び装置 |
JPH0997206A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
JPH0997314A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | Icカード装置 |
JP3727983B2 (ja) * | 1995-09-28 | 2005-12-21 | キヤノン株式会社 | 電子カメラ |
JPH0997207A (ja) * | 1995-09-28 | 1997-04-08 | Canon Inc | フラッシュrom管理方法及び装置及びコンピュータ制御装置 |
US6014724A (en) | 1995-10-27 | 2000-01-11 | Scm Microsystems (U.S.) Inc. | Flash translation layer block indication map revision system and method |
US5867641A (en) * | 1995-10-27 | 1999-02-02 | Scm Microsystems (U.S.) Inc. | Flash translation layer cleanup system and method |
US5987478A (en) * | 1995-10-31 | 1999-11-16 | Intel Corporation | Virtual small block file manager for flash memory array |
US5829013A (en) | 1995-12-26 | 1998-10-27 | Intel Corporation | Memory manager to allow non-volatile memory to be used to supplement main memory |
US5978808A (en) * | 1995-12-27 | 1999-11-02 | Intel Corporation | Virtual small block file manager for flash memory array |
JPH09185551A (ja) * | 1996-01-08 | 1997-07-15 | Mitsubishi Electric Corp | 半導体記憶装置 |
US5787445A (en) * | 1996-03-07 | 1998-07-28 | Norris Communications Corporation | Operating system including improved file management for use in devices utilizing flash memory as main memory |
US5860082A (en) * | 1996-03-28 | 1999-01-12 | Datalight, Inc. | Method and apparatus for allocating storage in a flash memory |
US5896393A (en) * | 1996-05-23 | 1999-04-20 | Advanced Micro Devices, Inc. | Simplified file management scheme for flash memory |
US5848420A (en) * | 1996-06-14 | 1998-12-08 | Eastman Kodak Company | System and method for accessing data of a digital camera from a personal computer |
KR980013092A (ko) * | 1996-07-29 | 1998-04-30 | 김광호 | 교환시스템의 화일관리장치 및 방법 |
FR2752072B1 (fr) * | 1996-08-01 | 1999-01-29 | Solaic Sa | Carte a circuit integre comportant des fichiers classes selon une arborescence |
JPH10124381A (ja) * | 1996-10-21 | 1998-05-15 | Mitsubishi Electric Corp | 半導体記憶装置 |
US5745418A (en) * | 1996-11-25 | 1998-04-28 | Macronix International Co., Ltd. | Flash memory mass storage system |
US6182188B1 (en) | 1997-04-06 | 2001-01-30 | Intel Corporation | Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
US5937434A (en) * | 1997-02-14 | 1999-08-10 | Intel Corporation | Method of managing a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
US6311290B1 (en) | 1997-02-14 | 2001-10-30 | Intel Corporation | Methods of reliably allocating, de-allocating, re-allocating, and reclaiming objects in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
US5982553A (en) | 1997-03-20 | 1999-11-09 | Silicon Light Machines | Display device incorporating one-dimensional grating light-valve array |
US6088759A (en) | 1997-04-06 | 2000-07-11 | Intel Corporation | Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture |
US5943692A (en) * | 1997-04-30 | 1999-08-24 | International Business Machines Corporation | Mobile client computer system with flash memory management utilizing a virtual address map and variable length data |
JP3104646B2 (ja) * | 1997-06-04 | 2000-10-30 | ソニー株式会社 | 外部記憶装置 |
GB2328531A (en) * | 1997-08-23 | 1999-02-24 | Ibm | Storing a long record in a set of shorter keyed records |
DE19740525C1 (de) * | 1997-09-15 | 1999-02-04 | Siemens Ag | Verfahren zur Abspeicherung und Wiedergewinnung von Daten in einem Steuersystem, insbesondere in einem Kraftfahrzeug |
US5937425A (en) * | 1997-10-16 | 1999-08-10 | M-Systems Flash Disk Pioneers Ltd. | Flash file system optimized for page-mode flash technologies |
JPH11203191A (ja) * | 1997-11-13 | 1999-07-30 | Seiko Epson Corp | 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体 |
KR100614469B1 (ko) * | 1997-12-05 | 2006-08-25 | 동경 엘렉트론 디바이스 주식회사 | 기억장치 |
US6040997A (en) * | 1998-03-25 | 2000-03-21 | Lexar Media, Inc. | Flash memory leveling architecture having no external latch |
US6130770A (en) | 1998-06-23 | 2000-10-10 | Silicon Light Machines | Electron gun activated grating light valve |
US6101036A (en) | 1998-06-23 | 2000-08-08 | Silicon Light Machines | Embossed diffraction grating alone and in combination with changeable image display |
JP4085478B2 (ja) * | 1998-07-28 | 2008-05-14 | ソニー株式会社 | 記憶媒体及び電子機器システム |
US6303986B1 (en) | 1998-07-29 | 2001-10-16 | Silicon Light Machines | Method of and apparatus for sealing an hermetic lid to a semiconductor die |
US6872984B1 (en) | 1998-07-29 | 2005-03-29 | Silicon Light Machines Corporation | Method of sealing a hermetic lid to a semiconductor die at an angle |
US6314557B1 (en) | 1998-12-14 | 2001-11-06 | Infineon Technologies Development Center Tel Aviv Ltd | Hybrid computer programming environment |
JP4046877B2 (ja) | 1998-12-14 | 2008-02-13 | 株式会社ルネサステクノロジ | 一括消去型不揮発性メモリおよび携帯電話 |
KR20000041291A (ko) * | 1998-12-22 | 2000-07-15 | 김영환 | 이동통신 시스템에서 방문 이동 가입자의 데이터 관리 방법 |
FR2787901B1 (fr) * | 1998-12-28 | 2001-02-09 | Bull Sa | Organisation memoire par zones physiques |
GB9903490D0 (en) * | 1999-02-17 | 1999-04-07 | Memory Corp Plc | Memory system |
CA2267484C (en) | 1999-03-30 | 2002-03-05 | Object Technology International Inc. | Reclaiming memory from deleted applications |
US6148354A (en) | 1999-04-05 | 2000-11-14 | M-Systems Flash Disk Pioneers Ltd. | Architecture for a universal serial bus-based PC flash disk |
AU2006200756B2 (en) * | 1999-04-05 | 2008-04-03 | Sandisk Il Ltd | A USB flash memory device for connecting to a USB-defined BUS |
US6282605B1 (en) | 1999-04-26 | 2001-08-28 | Moore Computer Consultants, Inc. | File system for non-volatile computer memory |
KR100330164B1 (ko) | 1999-04-27 | 2002-03-28 | 윤종용 | 무효 블록들을 가지는 복수의 플래시 메모리들을 동시에 프로그램하는 방법 |
KR100544175B1 (ko) * | 1999-05-08 | 2006-01-23 | 삼성전자주식회사 | 링킹 타입 정보를 저장하는 기록 매체와 결함 영역 처리 방법 |
US7690031B2 (en) * | 2000-01-06 | 2010-03-30 | Super Talent Electronics, Inc. | Managing bad blocks in flash memory for electronic data flash card |
US7872871B2 (en) * | 2000-01-06 | 2011-01-18 | Super Talent Electronics, Inc. | Molding methods to manufacture single-chip chip-on-board USB device |
US7830666B2 (en) | 2000-01-06 | 2010-11-09 | Super Talent Electronics, Inc. | Manufacturing process for single-chip MMC/SD flash memory device with molded asymmetric circuit board |
US7535719B2 (en) * | 1999-08-04 | 2009-05-19 | Super Talent Electronics, Inc. | Single chip USB packages with contact-pins cover |
US8625270B2 (en) | 1999-08-04 | 2014-01-07 | Super Talent Technology, Corp. | USB flash drive with deploying and retracting functionalities using retractable cover/cap |
US7466556B2 (en) * | 1999-08-04 | 2008-12-16 | Super Talent Electronics, Inc. | Single chip USB packages with swivel cover |
US7447037B2 (en) * | 1999-08-04 | 2008-11-04 | Super Talent Electronics, Inc. | Single chip USB packages by various assembly methods |
US8102662B2 (en) * | 2007-07-05 | 2012-01-24 | Super Talent Electronics, Inc. | USB package with bistable sliding mechanism |
US7318117B2 (en) | 2004-02-26 | 2008-01-08 | Super Talent Electronics, Inc. | Managing flash memory including recycling obsolete sectors |
US20080209114A1 (en) * | 1999-08-04 | 2008-08-28 | Super Talent Electronics, Inc. | Reliability High Endurance Non-Volatile Memory Device with Zone-Based Non-Volatile Memory File System |
US8141240B2 (en) | 1999-08-04 | 2012-03-27 | Super Talent Electronics, Inc. | Manufacturing method for micro-SD flash memory card |
US7702831B2 (en) * | 2000-01-06 | 2010-04-20 | Super Talent Electronics, Inc. | Flash memory controller for electronic data flash card |
KR100577380B1 (ko) * | 1999-09-29 | 2006-05-09 | 삼성전자주식회사 | 플래시 메모리와 그 제어 방법 |
KR100703680B1 (ko) * | 1999-10-14 | 2007-04-05 | 삼성전자주식회사 | 플래시 파일 시스템 |
CN1088218C (zh) * | 1999-11-14 | 2002-07-24 | 邓国顺 | 用于数据处理系统的快闪电子式外存储方法及其装置 |
US6643731B2 (en) * | 1999-12-31 | 2003-11-04 | Texas Instruments Incorporated | Low cost memory management that resists power interruption |
US20060161725A1 (en) * | 2005-01-20 | 2006-07-20 | Lee Charles C | Multiple function flash memory system |
US7702984B1 (en) | 2000-01-06 | 2010-04-20 | Super Talent Electronics, Inc. | High volume testing for USB electronic data flash cards |
US20080286990A1 (en) * | 2003-12-02 | 2008-11-20 | Super Talent Electronics, Inc. | Direct Package Mold Process For Single Chip SD Flash Cards |
US6424975B1 (en) | 2000-01-07 | 2002-07-23 | Trg Products, Inc. | FAT file system in palm OS computer |
US6956878B1 (en) | 2000-02-07 | 2005-10-18 | Silicon Light Machines Corporation | Method and apparatus for reducing laser speckle using polarization averaging |
US7102671B1 (en) | 2000-02-08 | 2006-09-05 | Lexar Media, Inc. | Enhanced compact flash memory card |
US6426893B1 (en) * | 2000-02-17 | 2002-07-30 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
EP1130516A1 (en) * | 2000-03-01 | 2001-09-05 | Hewlett-Packard Company, A Delaware Corporation | Address mapping in solid state storage device |
US7167944B1 (en) | 2000-07-21 | 2007-01-23 | Lexar Media, Inc. | Block management for mass storage |
US7113432B2 (en) | 2000-09-14 | 2006-09-26 | Sandisk Corporation | Compressed event counting technique and application to a flash memory system |
US6473845B1 (en) * | 2000-09-28 | 2002-10-29 | Hewlett-Packard Company | System and method for dynamically updating memory address mappings |
KR100644602B1 (ko) * | 2000-10-11 | 2006-11-10 | 삼성전자주식회사 | 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조 |
US6986030B2 (en) | 2000-10-27 | 2006-01-10 | M-Systems Flash Disk Pioneers Ltd. | Portable memory device includes software program for interacting with host computing device to provide a customized configuration for the program |
US7373656B2 (en) * | 2000-10-27 | 2008-05-13 | Sandisk Il Ltd. | Automatic configuration for portable devices |
US7606733B2 (en) * | 2000-10-27 | 2009-10-20 | Sandisk Il Ltd. | Account portability for computing |
US7028165B2 (en) * | 2000-12-06 | 2006-04-11 | Intel Corporation | Processor stalling |
KR100365725B1 (ko) | 2000-12-27 | 2002-12-26 | 한국전자통신연구원 | 플래시 메모리를 이용한 파일 시스템에서 등급별 지움정책 및 오류 복구 방법 |
US6763424B2 (en) | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
US6510488B2 (en) | 2001-02-05 | 2003-01-21 | M-Systems Flash Disk Pioneers Ltd. | Method for fast wake-up of a flash memory system |
US7177081B2 (en) | 2001-03-08 | 2007-02-13 | Silicon Light Machines Corporation | High contrast grating light valve type device |
US6938144B2 (en) * | 2001-03-22 | 2005-08-30 | Matsushita Electric Industrial Co., Ltd. | Address conversion unit for memory device |
US6707591B2 (en) | 2001-04-10 | 2004-03-16 | Silicon Light Machines | Angled illumination for a single order light modulator based projection system |
US6732221B2 (en) | 2001-06-01 | 2004-05-04 | M-Systems Flash Disk Pioneers Ltd | Wear leveling of static areas in flash memory |
KR100389867B1 (ko) * | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
US6865346B1 (en) | 2001-06-05 | 2005-03-08 | Silicon Light Machines Corporation | Fiber optic transceiver |
US6591330B2 (en) * | 2001-06-18 | 2003-07-08 | M-Systems Flash Disk Pioneers Ltd. | System and method for flexible flash file |
US6747781B2 (en) | 2001-06-25 | 2004-06-08 | Silicon Light Machines, Inc. | Method, apparatus, and diffuser for reducing laser speckle |
US6782205B2 (en) | 2001-06-25 | 2004-08-24 | Silicon Light Machines | Method and apparatus for dynamic equalization in wavelength division multiplexing |
US7024532B2 (en) * | 2001-08-09 | 2006-04-04 | Matsushita Electric Industrial Co., Ltd. | File management method, and memory card and terminal apparatus that make use of the method |
US6829092B2 (en) | 2001-08-15 | 2004-12-07 | Silicon Light Machines, Inc. | Blazed grating light valve |
US7356641B2 (en) * | 2001-08-28 | 2008-04-08 | International Business Machines Corporation | Data management in flash memory |
US6760805B2 (en) * | 2001-09-05 | 2004-07-06 | M-Systems Flash Disk Pioneers Ltd. | Flash management system for large page size |
US6930364B2 (en) | 2001-09-13 | 2005-08-16 | Silicon Light Machines Corporation | Microelectronic mechanical system and methods |
GB0123416D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Non-volatile memory control |
US7299463B2 (en) * | 2001-09-28 | 2007-11-20 | Intel Corporation | Method for atomically updating a plurality of files |
GB0123415D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Method of writing data to non-volatile memory |
GB0123410D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system for data storage and retrieval |
GB0123417D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Improved data processing |
GB0123419D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Data handling system |
US6678785B2 (en) * | 2001-09-28 | 2004-01-13 | M-Systems Flash Disk Pioneers Ltd. | Flash management system using only sequential write |
GB0123421D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Power management system |
US6956995B1 (en) | 2001-11-09 | 2005-10-18 | Silicon Light Machines Corporation | Optical communication arrangement |
KR100449708B1 (ko) * | 2001-11-16 | 2004-09-22 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
US6977847B2 (en) * | 2001-11-23 | 2005-12-20 | M-Systems Flash Disk Pioneers Ltd. | Detecting partially erased units in flash devices |
JP3967121B2 (ja) * | 2001-12-11 | 2007-08-29 | 株式会社ルネサステクノロジ | ファイルシステム、ファイルシステム制御方法およびファイルシステムを制御するためのプログラム |
DE10163342A1 (de) * | 2001-12-21 | 2003-07-10 | Elektro Beckhoff Gmbh Unterneh | Datenübertragungsverfahren, serielles Bussystem und Anschalteinheit für einen passiven Busteilnehmer |
TWI240861B (en) * | 2002-01-11 | 2005-10-01 | Integrated Circuit Solution In | Data access method and architecture of flash memory |
US6800238B1 (en) | 2002-01-15 | 2004-10-05 | Silicon Light Machines, Inc. | Method for domain patterning in low coercive field ferroelectrics |
US6621739B2 (en) * | 2002-01-18 | 2003-09-16 | Sandisk Corporation | Reducing the effects of noise in non-volatile memories through multiple reads |
US6957295B1 (en) | 2002-01-18 | 2005-10-18 | Lexar Media, Inc. | File management of one-time-programmable nonvolatile memory devices |
US6950918B1 (en) | 2002-01-18 | 2005-09-27 | Lexar Media, Inc. | File management of one-time-programmable nonvolatile memory devices |
US7231643B1 (en) | 2002-02-22 | 2007-06-12 | Lexar Media, Inc. | Image rescue system including direct communication between an application program and a device driver |
AU2003218299A1 (en) * | 2002-03-19 | 2003-10-08 | Michael Bucci | Device and method for throwing motion training |
US6728023B1 (en) | 2002-05-28 | 2004-04-27 | Silicon Light Machines | Optical device arrays with optimized image resolution |
US6767751B2 (en) | 2002-05-28 | 2004-07-27 | Silicon Light Machines, Inc. | Integrated driver process flow |
US7054515B1 (en) | 2002-05-30 | 2006-05-30 | Silicon Light Machines Corporation | Diffractive light modulator-based dynamic equalizer with integrated spectral monitor |
US6822797B1 (en) | 2002-05-31 | 2004-11-23 | Silicon Light Machines, Inc. | Light modulator structure for producing high-contrast operation using zero-order light |
US6829258B1 (en) | 2002-06-26 | 2004-12-07 | Silicon Light Machines, Inc. | Rapidly tunable external cavity laser |
US6714337B1 (en) | 2002-06-28 | 2004-03-30 | Silicon Light Machines | Method and device for modulating a light beam and having an improved gamma response |
US6813059B2 (en) | 2002-06-28 | 2004-11-02 | Silicon Light Machines, Inc. | Reduced formation of asperities in contact micro-structures |
EP1376608A1 (fr) * | 2002-06-28 | 2004-01-02 | Cp8 | Procédé d'écriture dans une mémoire non volatile et système pour la mise en oeuvre d'un tel procédé |
US6908201B2 (en) | 2002-06-28 | 2005-06-21 | Silicon Light Machines Corporation | Micro-support structures |
KR100484147B1 (ko) * | 2002-07-26 | 2005-04-18 | 삼성전자주식회사 | 플래시 메모리 관리 방법 |
TWI246064B (en) * | 2002-07-29 | 2005-12-21 | Milsys Ltd | Data storage and processing device, electronic appliance, electronic system and method of operating an appliance that responds to a plurality of commands |
US7057795B2 (en) | 2002-08-20 | 2006-06-06 | Silicon Light Machines Corporation | Micro-structures with individually addressable ribbon pairs |
US6801354B1 (en) | 2002-08-20 | 2004-10-05 | Silicon Light Machines, Inc. | 2-D diffraction grating for substantially eliminating polarization dependent losses |
US7130979B2 (en) * | 2002-08-29 | 2006-10-31 | Micron Technology, Inc. | Dynamic volume management |
US6970969B2 (en) * | 2002-08-29 | 2005-11-29 | Micron Technology, Inc. | Multiple segment data object management |
US6968439B2 (en) | 2002-08-29 | 2005-11-22 | Micron Technology, Inc. | Single segment data object management |
US6712480B1 (en) | 2002-09-27 | 2004-03-30 | Silicon Light Machines | Controlled curvature of stressed micro-structures |
US7254668B1 (en) * | 2002-10-28 | 2007-08-07 | Sandisk Corporation | Method and apparatus for grouping pages within a block |
US7174440B2 (en) * | 2002-10-28 | 2007-02-06 | Sandisk Corporation | Method and apparatus for performing block caching in a non-volatile memory system |
JP3694501B2 (ja) * | 2002-10-30 | 2005-09-14 | 松下電器産業株式会社 | 記憶装置 |
JP4199519B2 (ja) * | 2002-11-05 | 2008-12-17 | パナソニック株式会社 | メモリ管理装置及びメモリ管理方法 |
DE10252059B3 (de) * | 2002-11-08 | 2004-04-15 | Infineon Technologies Ag | Verfahren zum Betreiben einer Speicheranordnung |
KR100457812B1 (ko) * | 2002-11-14 | 2004-11-18 | 삼성전자주식회사 | 플래시 메모리, 그에 따른 플래시 메모리 액세스 장치 및방법 |
US6928207B1 (en) | 2002-12-12 | 2005-08-09 | Silicon Light Machines Corporation | Apparatus for selectively blocking WDM channels |
US6987600B1 (en) | 2002-12-17 | 2006-01-17 | Silicon Light Machines Corporation | Arbitrary phase profile for better equalization in dynamic gain equalizer |
US7057819B1 (en) | 2002-12-17 | 2006-06-06 | Silicon Light Machines Corporation | High contrast tilting ribbon blazed grating |
US6934070B1 (en) | 2002-12-18 | 2005-08-23 | Silicon Light Machines Corporation | Chirped optical MEM device |
US6927891B1 (en) | 2002-12-23 | 2005-08-09 | Silicon Light Machines Corporation | Tilt-able grating plane for improved crosstalk in 1×N blaze switches |
AU2003286967B2 (en) * | 2002-12-24 | 2009-01-15 | Lg Electronics, Inc. | Dual journaling store method and storage medium thereof |
KR100483490B1 (ko) * | 2002-12-24 | 2005-04-15 | 한국전자통신연구원 | 저장 매체에 데이터를 저장하기 위한 이중 저널링저장방법 |
FI20022297L (fi) * | 2002-12-31 | 2004-07-01 | Nokia Corp | Menetelmä muistikomponenttien sisältöjen vertailemiseksi |
US7068372B1 (en) | 2003-01-28 | 2006-06-27 | Silicon Light Machines Corporation | MEMS interferometer-based reconfigurable optical add-and-drop multiplexor |
US7286764B1 (en) | 2003-02-03 | 2007-10-23 | Silicon Light Machines Corporation | Reconfigurable modulator-based optical add-and-drop multiplexer |
US6947613B1 (en) | 2003-02-11 | 2005-09-20 | Silicon Light Machines Corporation | Wavelength selective switch and equalizer |
TW200415464A (en) * | 2003-02-12 | 2004-08-16 | Acard Technology Corp | SATA flash memory device |
US6922272B1 (en) | 2003-02-14 | 2005-07-26 | Silicon Light Machines Corporation | Method and apparatus for leveling thermal stress variations in multi-layer MEMS devices |
US6922273B1 (en) | 2003-02-28 | 2005-07-26 | Silicon Light Machines Corporation | PDL mitigation structure for diffractive MEMS and gratings |
US6829077B1 (en) | 2003-02-28 | 2004-12-07 | Silicon Light Machines, Inc. | Diffractive light modulator with dynamically rotatable diffraction plane |
US7027202B1 (en) | 2003-02-28 | 2006-04-11 | Silicon Light Machines Corp | Silicon substrate as a light modulator sacrificial layer |
US6806997B1 (en) | 2003-02-28 | 2004-10-19 | Silicon Light Machines, Inc. | Patterned diffractive light modulator ribbon for PDL reduction |
US7391973B1 (en) | 2003-02-28 | 2008-06-24 | Silicon Light Machines Corporation | Two-stage gain equalizer |
US7042611B1 (en) | 2003-03-03 | 2006-05-09 | Silicon Light Machines Corporation | Pre-deflected bias ribbons |
US7526598B2 (en) * | 2003-03-03 | 2009-04-28 | Sandisk Il, Ltd. | Efficient flash memory device driver |
US20040186746A1 (en) * | 2003-03-21 | 2004-09-23 | Angst Wendy P. | System, apparatus and method for storage and transportation of personal health records |
US7003621B2 (en) * | 2003-03-25 | 2006-02-21 | M-System Flash Disk Pioneers Ltd. | Methods of sanitizing a flash-based data storage device |
EP1462946A1 (en) * | 2003-03-25 | 2004-09-29 | Acard Technology Corp. | Architecture for a serial ATA bus based flash memory apparatus |
US7664987B2 (en) * | 2003-05-25 | 2010-02-16 | Sandisk Il Ltd. | Flash memory device with fast reading rate |
US6973519B1 (en) | 2003-06-03 | 2005-12-06 | Lexar Media, Inc. | Card identification compatibility |
US7606993B2 (en) * | 2003-06-10 | 2009-10-20 | Tdk Corporation | Flash memory controller, memory control circuit, flash memory system, and method for controlling data exchange between host computer and flash memory |
US7372731B2 (en) * | 2003-06-17 | 2008-05-13 | Sandisk Il Ltd. | Flash memories with adaptive reference voltages |
JP4433372B2 (ja) | 2003-06-18 | 2010-03-17 | 株式会社日立製作所 | データアクセスシステム及び方法 |
US6988175B2 (en) * | 2003-06-30 | 2006-01-17 | M-Systems Flash Disk Pioneers Ltd. | Flash memory management method that is resistant to data corruption by power loss |
US7188228B1 (en) * | 2003-10-01 | 2007-03-06 | Sandisk Corporation | Hybrid mapping implementation within a non-volatile memory system |
US7012835B2 (en) * | 2003-10-03 | 2006-03-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
US7173852B2 (en) * | 2003-10-03 | 2007-02-06 | Sandisk Corporation | Corrected data storage and handling methods |
US7296144B2 (en) * | 2003-11-24 | 2007-11-13 | Sandisk Il Ltd. | Method of traceless portable application execution |
US7872873B2 (en) | 2003-12-02 | 2011-01-18 | Super Talent Electronics, Inc. | Extended COB-USB with dual-personality contacts |
US8998620B2 (en) * | 2003-12-02 | 2015-04-07 | Super Talent Technology, Corp. | Molding method for COB-EUSB devices and metal housing package |
US7440286B2 (en) * | 2005-04-21 | 2008-10-21 | Super Talent Electronics, Inc. | Extended USB dual-personality card reader |
US8102657B2 (en) * | 2003-12-02 | 2012-01-24 | Super Talent Electronics, Inc. | Single shot molding method for COB USB/EUSB devices with contact pad ribs |
KR100608602B1 (ko) * | 2003-12-10 | 2006-08-03 | 삼성전자주식회사 | 플래시 메모리, 이를 위한 사상 제어 장치 및 방법 |
US20050132178A1 (en) * | 2003-12-12 | 2005-06-16 | Sridhar Balasubramanian | Removable flash backup for storage controllers |
WO2005059854A2 (en) | 2003-12-17 | 2005-06-30 | Lexar Media, Inc. | Electronic equipment point-of-sale activation to avoid theft |
JP2005190036A (ja) | 2003-12-25 | 2005-07-14 | Hitachi Ltd | 記憶制御装置及び記憶制御装置の制御方法 |
JP4463042B2 (ja) * | 2003-12-26 | 2010-05-12 | 株式会社日立製作所 | ボリュームの動的割り付け機能を有する記憶装置システム |
US7433993B2 (en) * | 2003-12-30 | 2008-10-07 | San Disk Corportion | Adaptive metablocks |
US7631138B2 (en) | 2003-12-30 | 2009-12-08 | Sandisk Corporation | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
KR100526188B1 (ko) * | 2003-12-30 | 2005-11-04 | 삼성전자주식회사 | 플래시 메모리의 주소 사상 방법, 사상 정보 관리 방법 및상기 방법을 이용한 플래시 메모리 |
US8504798B2 (en) | 2003-12-30 | 2013-08-06 | Sandisk Technologies Inc. | Management of non-volatile memory systems having large erase blocks |
US7383375B2 (en) * | 2003-12-30 | 2008-06-03 | Sandisk Corporation | Data run programming |
US20050144363A1 (en) * | 2003-12-30 | 2005-06-30 | Sinclair Alan W. | Data boundary management |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
EP1714284A4 (en) * | 2004-01-15 | 2008-09-17 | Milsys Ltd | REPLACEABLE MEDIUM WITH BOOKMARKS |
DE602004022459D1 (de) * | 2004-01-19 | 2009-09-17 | Trek 2000 Int Ltd | Tragbare datenspeichereinrichtung mit einer speicheradressen-abbildungstabelle |
US7869219B2 (en) * | 2004-01-20 | 2011-01-11 | Super Talent Electronics, Inc. | Flash drive with spring-loaded retractable connector |
US7177200B2 (en) * | 2004-02-10 | 2007-02-13 | Msystems Ltd. | Two-phase programming of a flash memory |
US8019928B2 (en) * | 2004-02-15 | 2011-09-13 | Sandisk Il Ltd. | Method of managing a multi-bit-cell flash memory |
US7716413B2 (en) * | 2004-02-15 | 2010-05-11 | Sandisk Il Ltd. | Method of making a multi-bit-cell flash memory |
WO2005081891A2 (en) * | 2004-02-23 | 2005-09-09 | Lexar Media, Inc. | Secure compact flash |
CN1323358C (zh) * | 2004-03-05 | 2007-06-27 | 中国科学院计算技术研究所 | 一种虚拟存储模型及其方法 |
US20050213393A1 (en) | 2004-03-14 | 2005-09-29 | M-Systems Flash Disk Pioneers, Ltd. | States encoding in multi-bit flash cells for optimizing error rate |
US7310347B2 (en) * | 2004-03-14 | 2007-12-18 | Sandisk, Il Ltd. | States encoding in multi-bit flash cells |
TWI254947B (en) * | 2004-03-28 | 2006-05-11 | Mediatek Inc | Data managing method and data access system for storing all management data in a management bank of a non-volatile memory |
US7725628B1 (en) | 2004-04-20 | 2010-05-25 | Lexar Media, Inc. | Direct secondary device interface by a host |
US7325090B2 (en) | 2004-04-29 | 2008-01-29 | Sandisk Il Ltd. | Refreshing data stored in a flash memory |
TWI249670B (en) * | 2004-04-29 | 2006-02-21 | Mediatek Inc | System and method capable of sequentially writing a flash memory |
US7370166B1 (en) | 2004-04-30 | 2008-05-06 | Lexar Media, Inc. | Secure portable storage device |
US8352697B2 (en) * | 2004-05-17 | 2013-01-08 | Sandisk Il Ltd. | Method of managing files for optimal performance |
US7346401B2 (en) * | 2004-05-25 | 2008-03-18 | International Business Machines Corporation | Systems and methods for providing constrained optimization using adaptive regulatory control |
US20080194336A1 (en) * | 2004-06-07 | 2008-08-14 | Gagner Mark B | Gaming Device with Resources Swapping |
KR100568115B1 (ko) * | 2004-06-30 | 2006-04-05 | 삼성전자주식회사 | 점진적 머지 방법 및 그것을 이용한 메모리 시스템 |
US20060004951A1 (en) * | 2004-06-30 | 2006-01-05 | Rudelic John C | Method and apparatus to alter code in a memory |
US20080195817A1 (en) * | 2004-07-08 | 2008-08-14 | Super Talent Electronics, Inc. | SD Flash Memory Card Manufacturing Using Rigid-Flex PCB |
US7817469B2 (en) * | 2004-07-26 | 2010-10-19 | Sandisk Il Ltd. | Drift compensation in a flash memory |
US7957189B2 (en) * | 2004-07-26 | 2011-06-07 | Sandisk Il Ltd. | Drift compensation in a flash memory |
US7386700B2 (en) | 2004-07-30 | 2008-06-10 | Sandisk Il Ltd | Virtual-to-physical address translation in a flash file system |
US8407396B2 (en) * | 2004-07-30 | 2013-03-26 | Hewlett-Packard Development Company, L.P. | Providing block data access for an operating system using solid-state memory |
US8275969B2 (en) * | 2004-08-05 | 2012-09-25 | Sandisk Il Ltd. | Storage with persistent user data |
US7464306B1 (en) * | 2004-08-27 | 2008-12-09 | Lexar Media, Inc. | Status of overall health of nonvolatile memory |
US7594063B1 (en) * | 2004-08-27 | 2009-09-22 | Lexar Media, Inc. | Storage capacity status |
JP2008511929A (ja) * | 2004-08-30 | 2008-04-17 | シリコン ストレージ テクノロジー、 インク. | 携帯電話の不揮発性メモリを管理するシステムおよび方法 |
US20060059296A1 (en) * | 2004-09-16 | 2006-03-16 | M-Systems Flash Disk Pioneers, Ltd. | Emulating small block size of flash memory |
US7164611B2 (en) | 2004-10-26 | 2007-01-16 | Micron Technology, Inc. | Data retention kill function |
US7496493B1 (en) * | 2004-11-09 | 2009-02-24 | Western Digital Technologies, Inc. | External memory device to provide disk device and optical functionality |
WO2006063941A2 (en) * | 2004-12-14 | 2006-06-22 | Sony Ericsson Mobile Communications Ab | Method and means for an efficient memory usage |
EP1672487A1 (en) * | 2004-12-14 | 2006-06-21 | Sony Ericsson Mobile Communications AB | Method and means for an efficient memory usage |
US7685400B2 (en) * | 2004-12-15 | 2010-03-23 | International Business Machines Corporation | Storage of data blocks of logical volumes in a virtual disk storage subsystem |
US7315916B2 (en) * | 2004-12-16 | 2008-01-01 | Sandisk Corporation | Scratch pad block |
US7386655B2 (en) * | 2004-12-16 | 2008-06-10 | Sandisk Corporation | Non-volatile memory and method with improved indexing for scratch pad and update blocks |
US7366826B2 (en) * | 2004-12-16 | 2008-04-29 | Sandisk Corporation | Non-volatile memory and method with multi-stream update tracking |
US7395404B2 (en) | 2004-12-16 | 2008-07-01 | Sandisk Corporation | Cluster auto-alignment for storing addressable data packets in a non-volatile memory array |
US7412560B2 (en) * | 2004-12-16 | 2008-08-12 | Sandisk Corporation | Non-volatile memory and method with multi-stream updating |
US7149111B2 (en) * | 2004-12-17 | 2006-12-12 | Msystems Ltd. | Method of handling limitations on the order of writing to a non-volatile memory |
US7246195B2 (en) * | 2004-12-30 | 2007-07-17 | Intel Corporation | Data storage management for flash memory devices |
DE102005001038B3 (de) * | 2005-01-07 | 2006-05-04 | Hyperstone Ag | Verfahren zur Umsetzung von logischen in reale Blockadressen in Flashspeichern |
US7308525B2 (en) * | 2005-01-10 | 2007-12-11 | Sandisk Il Ltd. | Method of managing a multi-bit cell flash memory with improved reliablility and performance |
US7426623B2 (en) * | 2005-01-14 | 2008-09-16 | Sandisk Il Ltd | System and method for configuring flash memory partitions as super-units |
US8341371B2 (en) * | 2005-01-31 | 2012-12-25 | Sandisk Il Ltd | Method of managing copy operations in flash memories |
US20060184719A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct data file storage implementation techniques in flash memories |
US7877539B2 (en) * | 2005-02-16 | 2011-01-25 | Sandisk Corporation | Direct data file storage in flash memories |
US20060184718A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US9104315B2 (en) * | 2005-02-04 | 2015-08-11 | Sandisk Technologies Inc. | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage |
US8321686B2 (en) * | 2005-02-07 | 2012-11-27 | Sandisk Technologies Inc. | Secure memory card with life cycle phases |
US8108691B2 (en) * | 2005-02-07 | 2012-01-31 | Sandisk Technologies Inc. | Methods used in a secure memory card with life cycle phases |
US8423788B2 (en) * | 2005-02-07 | 2013-04-16 | Sandisk Technologies Inc. | Secure memory card with life cycle phases |
KR20080007430A (ko) * | 2005-02-11 | 2008-01-21 | 샌디스크 아이엘 엘티디 | Nand 플래시 메모리 시스템 체계 |
US7224604B2 (en) * | 2005-03-14 | 2007-05-29 | Sandisk Il Ltd. | Method of achieving wear leveling in flash memory using relative grades |
US8522048B2 (en) * | 2005-04-14 | 2013-08-27 | Sandisk Il Ltd. | Content delivery system |
US7634494B2 (en) * | 2005-05-03 | 2009-12-15 | Intel Corporation | Flash memory directory virtualization |
US7275140B2 (en) * | 2005-05-12 | 2007-09-25 | Sandisk Il Ltd. | Flash memory management method that is resistant to data corruption by power loss |
US7334725B2 (en) * | 2005-06-01 | 2008-02-26 | San Disk Il Ltd. | Flash memory device within a business card |
US7389397B2 (en) * | 2005-06-01 | 2008-06-17 | Sandisk Il Ltd | Method of storing control information in a large-page flash memory device |
JP2006338371A (ja) | 2005-06-02 | 2006-12-14 | Toshiba Corp | メモリシステム |
KR100827227B1 (ko) * | 2005-06-24 | 2008-05-07 | 삼성전자주식회사 | 저성능 저장장치의 drm 권리 객체를 효율적으로관리하는 방법 및 장치 |
US20070005929A1 (en) * | 2005-06-30 | 2007-01-04 | Post Daniel J | Method, system, and article of manufacture for sector mapping in a flash device |
US7743409B2 (en) | 2005-07-08 | 2010-06-22 | Sandisk Corporation | Methods used in a mass storage device with automated credentials loading |
US8438647B2 (en) | 2005-07-14 | 2013-05-07 | Imation Corp. | Recovery of encrypted data from a secure storage device |
US8335920B2 (en) | 2005-07-14 | 2012-12-18 | Imation Corp. | Recovery of data access for a locked secure storage device |
US8015606B1 (en) | 2005-07-14 | 2011-09-06 | Ironkey, Inc. | Storage device with website trust indication |
US8321953B2 (en) * | 2005-07-14 | 2012-11-27 | Imation Corp. | Secure storage device with offline code entry |
US20070016721A1 (en) * | 2005-07-18 | 2007-01-18 | Wyse Technology Inc. | Flash file system power-up by using sequential sector allocation |
US7984084B2 (en) * | 2005-08-03 | 2011-07-19 | SanDisk Technologies, Inc. | Non-volatile memory with scheduled reclaim operations |
US7627733B2 (en) * | 2005-08-03 | 2009-12-01 | Sandisk Corporation | Method and system for dual mode access for storage devices |
US7480766B2 (en) * | 2005-08-03 | 2009-01-20 | Sandisk Corporation | Interfacing systems operating through a logical address space and on a direct data file basis |
US7949845B2 (en) * | 2005-08-03 | 2011-05-24 | Sandisk Corporation | Indexing of file data in reprogrammable non-volatile memories that directly store data files |
US7552271B2 (en) | 2005-08-03 | 2009-06-23 | Sandisk Corporation | Nonvolatile memory with block management |
US7669003B2 (en) * | 2005-08-03 | 2010-02-23 | Sandisk Corporation | Reprogrammable non-volatile memory systems with indexing of directly stored data files |
US7558906B2 (en) | 2005-08-03 | 2009-07-07 | Sandisk Corporation | Methods of managing blocks in nonvolatile memory |
KR100739722B1 (ko) * | 2005-08-20 | 2007-07-13 | 삼성전자주식회사 | 플래시 메모리 관리 방법 및 플래시 메모리 시스템 |
US7571275B2 (en) * | 2005-08-31 | 2009-08-04 | Hamilton Sundstrand Corporation | Flash real-time operating system for small embedded applications |
US20070067620A1 (en) * | 2005-09-06 | 2007-03-22 | Ironkey, Inc. | Systems and methods for third-party authentication |
US20070061597A1 (en) * | 2005-09-14 | 2007-03-15 | Micky Holtzman | Secure yet flexible system architecture for secure devices with flash mass storage memory |
US8855714B2 (en) | 2005-09-14 | 2014-10-07 | Sandisk Il Ltd. | Removable media player for mobile phones |
US8966284B2 (en) * | 2005-09-14 | 2015-02-24 | Sandisk Technologies Inc. | Hardware driver integrity check of memory card controller firmware |
US7631245B2 (en) | 2005-09-26 | 2009-12-08 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
US8291295B2 (en) * | 2005-09-26 | 2012-10-16 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
TWI298836B (en) * | 2005-10-12 | 2008-07-11 | Sunplus Technology Co Ltd | Apparatus for controlling flash memory and method thereof |
US7529905B2 (en) | 2005-10-13 | 2009-05-05 | Sandisk Corporation | Method of storing transformed units of data in a memory system having fixed sized storage blocks |
US7814262B2 (en) * | 2005-10-13 | 2010-10-12 | Sandisk Corporation | Memory system storing transformed units of data in fixed sized storage blocks |
US7681109B2 (en) | 2005-10-13 | 2010-03-16 | Ramot At Tel Aviv University Ltd. | Method of error correction in MBC flash memory |
US7526715B2 (en) * | 2005-10-17 | 2009-04-28 | Ramot At Tel Aviv University Ltd. | Probabilistic error correction in multi-bit-per-cell flash memory |
US7631162B2 (en) | 2005-10-27 | 2009-12-08 | Sandisck Corporation | Non-volatile memory with adaptive handling of data writes |
US7509471B2 (en) * | 2005-10-27 | 2009-03-24 | Sandisk Corporation | Methods for adaptively handling data writes in non-volatile memories |
EP1960887B1 (en) * | 2005-12-09 | 2011-07-27 | SanDisk IL Ltd | Method for flash-memory management |
US7877540B2 (en) * | 2005-12-13 | 2011-01-25 | Sandisk Corporation | Logically-addressed file storage methods |
US7793068B2 (en) * | 2005-12-21 | 2010-09-07 | Sandisk Corporation | Dual mode access for non-volatile storage devices |
US7769978B2 (en) * | 2005-12-21 | 2010-08-03 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
WO2007072367A2 (en) * | 2005-12-21 | 2007-06-28 | Nxp B.V. | Memory with block-erasable locations |
US7747837B2 (en) | 2005-12-21 | 2010-06-29 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US8639873B1 (en) | 2005-12-22 | 2014-01-28 | Imation Corp. | Detachable storage device with RAM cache |
US8266378B1 (en) | 2005-12-22 | 2012-09-11 | Imation Corp. | Storage device with accessible partitions |
KR100755700B1 (ko) * | 2005-12-27 | 2007-09-05 | 삼성전자주식회사 | 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 관리방법 |
US20070147115A1 (en) * | 2005-12-28 | 2007-06-28 | Fong-Long Lin | Unified memory and controller |
US7519754B2 (en) * | 2005-12-28 | 2009-04-14 | Silicon Storage Technology, Inc. | Hard disk drive cache memory and playback device |
FR2895828B1 (fr) * | 2006-01-03 | 2008-05-30 | Thales Sa | Procede de gestion de donnees destinees a etre ecrites et lues dans une memoire |
US7512847B2 (en) * | 2006-02-10 | 2009-03-31 | Sandisk Il Ltd. | Method for estimating and reporting the life expectancy of flash-disk memory |
US8848442B2 (en) * | 2006-03-06 | 2014-09-30 | Sandisk Il Ltd. | Multi-bit-per-cell flash memory device with non-bijective mapping |
US7388781B2 (en) * | 2006-03-06 | 2008-06-17 | Sandisk Il Ltd. | Multi-bit-per-cell flash memory device with non-bijective mapping |
US8645793B2 (en) * | 2008-06-03 | 2014-02-04 | Marvell International Ltd. | Statistical tracking for flash memory |
US7823043B2 (en) * | 2006-05-10 | 2010-10-26 | Sandisk Il Ltd. | Corruption-resistant data porting with multiple error correction schemes |
US7583545B2 (en) * | 2006-05-21 | 2009-09-01 | Sandisk Il Ltd | Method of storing data in a multi-bit-cell flash memory |
US8042029B2 (en) | 2006-05-21 | 2011-10-18 | Ramot At Tel Aviv University Ltd. | Error correction decoding by trial and error |
US7711890B2 (en) | 2006-06-06 | 2010-05-04 | Sandisk Il Ltd | Cache control in a non-volatile memory device |
US20070300031A1 (en) * | 2006-06-22 | 2007-12-27 | Ironkey, Inc. | Memory data shredder |
US8307148B2 (en) * | 2006-06-23 | 2012-11-06 | Microsoft Corporation | Flash management techniques |
US7533328B2 (en) * | 2006-07-04 | 2009-05-12 | Sandisk Il, Ltd. | Method of error correction in a multi-bit-per-cell flash memory |
KR100764052B1 (ko) | 2006-08-03 | 2007-10-08 | 삼성전자주식회사 | 유동적 어드레스 바운더리를 갖는 플래시 메모리 장치 및그것의 프로그램 방법 |
US20080046630A1 (en) * | 2006-08-21 | 2008-02-21 | Sandisk Il Ltd. | NAND flash memory controller exporting a logical sector-based interface |
US20080046641A1 (en) * | 2006-08-21 | 2008-02-21 | Sandisk Il Ltd. | NAND flash memory controller exporting a logical sector-based interface |
US20080072058A1 (en) * | 2006-08-24 | 2008-03-20 | Yoram Cedar | Methods in a reader for one time password generating device |
US20080052524A1 (en) * | 2006-08-24 | 2008-02-28 | Yoram Cedar | Reader for one time password generating device |
US20090265403A1 (en) * | 2006-08-31 | 2009-10-22 | Keiji Fukumoto | File system |
KR100802059B1 (ko) * | 2006-09-06 | 2008-02-12 | 삼성전자주식회사 | 읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는메모리 시스템 및 그것의 동작 방법 |
US7886204B2 (en) * | 2006-09-27 | 2011-02-08 | Sandisk Corporation | Methods of cell population distribution assisted read margining |
US7716538B2 (en) * | 2006-09-27 | 2010-05-11 | Sandisk Corporation | Memory with cell population distribution assisted read margining |
US9984012B2 (en) | 2006-09-28 | 2018-05-29 | Virident Systems, Llc | Read writeable randomly accessible non-volatile memory modules |
US8806116B2 (en) * | 2008-02-12 | 2014-08-12 | Virident Systems, Inc. | Memory modules for two-dimensional main memory |
US8949555B1 (en) | 2007-08-30 | 2015-02-03 | Virident Systems, Inc. | Methods for sustained read and write performance with non-volatile memory |
US7761626B2 (en) * | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Methods for main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies |
US20080082750A1 (en) * | 2006-09-28 | 2008-04-03 | Okin Kenneth A | Methods of communicating to, memory modules in a memory channel |
US7761625B2 (en) * | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Methods for main memory with non-volatile type memory modules, and related technologies |
US7761623B2 (en) * | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies |
US8074022B2 (en) * | 2006-09-28 | 2011-12-06 | Virident Systems, Inc. | Programmable heterogeneous memory controllers for main memory with different memory modules |
US7761624B2 (en) * | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Systems and apparatus for main memory with non-volatile type memory modules, and related technologies |
WO2008040028A2 (en) * | 2006-09-28 | 2008-04-03 | Virident Systems, Inc. | Systems, methods, and apparatus with programmable memory control for heterogeneous main memory |
KR100849221B1 (ko) | 2006-10-19 | 2008-07-31 | 삼성전자주식회사 | 비휘발성 메모리의 관리 방법 및 비휘발성 메모리 기반의장치 |
US8189328B2 (en) * | 2006-10-23 | 2012-05-29 | Virident Systems, Inc. | Methods and apparatus of dual inline memory modules for flash memory |
KR100771519B1 (ko) * | 2006-10-23 | 2007-10-30 | 삼성전자주식회사 | 플래시 메모리를 포함한 메모리 시스템 및 그것의 머지방법 |
US7814263B2 (en) * | 2006-10-26 | 2010-10-12 | Sandisk Il Ltd. | Erase history-based flash writing method |
KR100789406B1 (ko) | 2006-11-03 | 2007-12-28 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그것의 가비지 컬렉션 방법 |
US7930513B2 (en) * | 2006-11-04 | 2011-04-19 | Virident Systems Inc. | Writing to asymmetric memory |
KR100816761B1 (ko) * | 2006-12-04 | 2008-03-25 | 삼성전자주식회사 | 낸드 플래시 메모리 및 에스램/노어 플래시 메모리를포함하는 메모리 카드 및 그것의 데이터 저장 방법 |
US9104599B2 (en) | 2007-12-06 | 2015-08-11 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for destaging cached data |
US8161353B2 (en) * | 2007-12-06 | 2012-04-17 | Fusion-Io, Inc. | Apparatus, system, and method for validating that a correct data segment is read from a data storage device |
US9116823B2 (en) | 2006-12-06 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for adaptive error-correction coding |
US8443134B2 (en) * | 2006-12-06 | 2013-05-14 | Fusion-Io, Inc. | Apparatus, system, and method for graceful cache device degradation |
US9495241B2 (en) | 2006-12-06 | 2016-11-15 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for adaptive data storage |
US8151082B2 (en) * | 2007-12-06 | 2012-04-03 | Fusion-Io, Inc. | Apparatus, system, and method for converting a storage request into an append data storage command |
EP2100214B1 (en) * | 2006-12-06 | 2013-10-30 | Fusion-io, Inc. | Apparatus, system, and method for storage space recovery in solid-state storage |
US8489817B2 (en) | 2007-12-06 | 2013-07-16 | Fusion-Io, Inc. | Apparatus, system, and method for caching data |
US8935302B2 (en) | 2006-12-06 | 2015-01-13 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume |
US8706968B2 (en) * | 2007-12-06 | 2014-04-22 | Fusion-Io, Inc. | Apparatus, system, and method for redundant write caching |
KR100845552B1 (ko) | 2006-12-18 | 2008-07-10 | (재)대구경북과학기술연구원 | Ftl의 어드레스 매핑 방법 |
US7814401B2 (en) * | 2006-12-21 | 2010-10-12 | Ramot At Tel Aviv University Ltd. | Soft decoding of hard and soft bits read from a flash memory |
US8127200B2 (en) * | 2006-12-24 | 2012-02-28 | Sandisk Il Ltd. | Flash memory device and system with randomizing for suppressing errors |
US8370561B2 (en) * | 2006-12-24 | 2013-02-05 | Sandisk Il Ltd. | Randomizing for suppressing errors in a flash memory |
US8423794B2 (en) * | 2006-12-28 | 2013-04-16 | Sandisk Technologies Inc. | Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications |
US8885384B2 (en) | 2007-01-11 | 2014-11-11 | Chengdu Haicun Ip Technology Llc | Mask-programmed read-only memory with reserved space |
KR100885181B1 (ko) * | 2007-02-06 | 2009-02-23 | 삼성전자주식회사 | 그룹 맵핑 동작을 수행하는 메모리 시스템 및 그것의어드레스 맵핑 방법 |
US7966355B2 (en) * | 2007-02-13 | 2011-06-21 | Modu Ltd. | Interface for extending functionality of memory cards |
US8370562B2 (en) * | 2007-02-25 | 2013-02-05 | Sandisk Il Ltd. | Interruptible cache flushing in flash memory systems |
US20080222349A1 (en) * | 2007-03-07 | 2008-09-11 | Ocz Technology Group Inc. | Ieee 1394 interface-based flash drive using multilevel cell flash memory devices |
CN100461134C (zh) * | 2007-03-27 | 2009-02-11 | 华为技术有限公司 | 一种外部存储器控制器及基于外部存储器控制器的地址变换的方法 |
US7573773B2 (en) * | 2007-03-28 | 2009-08-11 | Sandisk Corporation | Flash memory with data refresh triggered by controlled scrub data reads |
US7477547B2 (en) * | 2007-03-28 | 2009-01-13 | Sandisk Corporation | Flash memory refresh techniques triggered by controlled scrub data reads |
JP4636046B2 (ja) * | 2007-03-29 | 2011-02-23 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
US7808834B1 (en) | 2007-04-13 | 2010-10-05 | Marvell International Ltd. | Incremental memory refresh |
US8254134B2 (en) | 2007-05-03 | 2012-08-28 | Super Talent Electronics, Inc. | Molded memory card with write protection switch assembly |
US7689762B2 (en) * | 2007-05-03 | 2010-03-30 | Atmel Corporation | Storage device wear leveling |
US7850468B2 (en) | 2007-06-28 | 2010-12-14 | Super Talent Electronics, Inc. | Lipstick-type USB device |
US7789680B2 (en) * | 2007-07-05 | 2010-09-07 | Super Talent Electronics, Inc. | USB device with connected cap |
US8102658B2 (en) * | 2007-07-05 | 2012-01-24 | Super Talent Electronics, Inc. | Micro-SD to secure digital adaptor card and manufacturing method |
CN101094183B (zh) * | 2007-07-25 | 2011-12-07 | 杭州华三通信技术有限公司 | 一种缓存管理方法及装置 |
US8031526B1 (en) | 2007-08-23 | 2011-10-04 | Marvell International Ltd. | Write pre-compensation for nonvolatile memory |
US7944702B2 (en) | 2007-08-27 | 2011-05-17 | Super Talent Electronics, Inc. | Press-push flash drive apparatus with metal tubular casing and snap-coupled plastic sleeve |
US8189381B1 (en) | 2007-08-28 | 2012-05-29 | Marvell International Ltd. | System and method for reading flash memory cells |
US8085605B2 (en) | 2007-08-29 | 2011-12-27 | Marvell World Trade Ltd. | Sequence detection for flash memory with inter-cell interference |
US9921896B2 (en) | 2007-08-30 | 2018-03-20 | Virident Systems, Llc | Shutdowns and data recovery to avoid read errors weak pages in a non-volatile memory system |
JP4746598B2 (ja) * | 2007-09-28 | 2011-08-10 | 株式会社東芝 | 半導体記憶装置 |
US7970983B2 (en) * | 2007-10-14 | 2011-06-28 | Sandisk Il Ltd. | Identity-based flash management |
US8024545B2 (en) | 2007-10-19 | 2011-09-20 | Inha-Industry Partnership Institute | Efficient prefetching and asynchronous writing for flash memory |
US8241047B2 (en) * | 2007-10-30 | 2012-08-14 | Super Talent Electronics, Inc. | Flash drive with spring-loaded swivel connector |
US20090138673A1 (en) * | 2007-11-28 | 2009-05-28 | Apple Inc. | Internal memory mapped external memory interface |
US8116083B2 (en) * | 2007-12-04 | 2012-02-14 | Super Talent Electronics, Inc. | Lipstick-type USB device with tubular housing |
US9519540B2 (en) | 2007-12-06 | 2016-12-13 | Sandisk Technologies Llc | Apparatus, system, and method for destaging cached data |
US8316277B2 (en) * | 2007-12-06 | 2012-11-20 | Fusion-Io, Inc. | Apparatus, system, and method for ensuring data validity in a data storage process |
US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US8195912B2 (en) * | 2007-12-06 | 2012-06-05 | Fusion-io, Inc | Apparatus, system, and method for efficient mapping of virtual and physical addresses |
US7934052B2 (en) * | 2007-12-27 | 2011-04-26 | Pliant Technology, Inc. | System and method for performing host initiated mass storage commands using a hierarchy of data structures |
KR101386489B1 (ko) * | 2008-01-14 | 2014-04-21 | 삼성전자주식회사 | 메모리 장치 및 멀티 비트 프로그래밍 방법 |
US8892831B2 (en) | 2008-01-16 | 2014-11-18 | Apple Inc. | Memory subsystem hibernation |
US20090198952A1 (en) | 2008-02-04 | 2009-08-06 | Apple Inc | Memory Mapping Architecture |
WO2009102821A2 (en) * | 2008-02-12 | 2009-08-20 | Virident Systems, Inc. | Methods and apparatus for two-dimensional main memory |
EP2309392A1 (en) | 2008-02-29 | 2011-04-13 | Kabushiki Kaisha Toshiba | Memory system |
KR101437123B1 (ko) * | 2008-04-01 | 2014-09-02 | 삼성전자 주식회사 | 메모리 시스템 및 그것의 마모도 관리 방법 |
US8156392B2 (en) * | 2008-04-05 | 2012-04-10 | Fusion-Io, Inc. | Apparatus, system, and method for bad block remapping |
US8266366B2 (en) * | 2008-04-11 | 2012-09-11 | SanDisk Technologies, Inc. | Memory device operable in read-only and write-once, read-many (WORM) modes of operation |
CA2629960C (en) * | 2008-04-28 | 2009-12-08 | Westport Power Inc. | Apparatus and method for improving the accuracy of measurements taken with a capacitance-type sensor |
US8356105B2 (en) * | 2008-05-02 | 2013-01-15 | Marblecloud, Inc. | Enterprise device policy management |
CN102124527A (zh) | 2008-05-16 | 2011-07-13 | 弗森-艾奥公司 | 用于检测和替代失效的数据存储器的装置、系统和方法 |
JP2009282678A (ja) * | 2008-05-21 | 2009-12-03 | Hitachi Ltd | フラッシュメモリモジュール及びストレージシステム |
KR101497074B1 (ko) * | 2008-06-17 | 2015-03-05 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법 |
US8417873B1 (en) | 2008-06-24 | 2013-04-09 | Virident Systems, Inc. | Random read and read/write block accessible memory |
US9513695B2 (en) | 2008-06-24 | 2016-12-06 | Virident Systems, Inc. | Methods of managing power in network computer systems |
TWI370969B (en) | 2008-07-09 | 2012-08-21 | Phison Electronics Corp | Data accessing method, and storage system and controller using the same |
US8417902B2 (en) * | 2008-08-05 | 2013-04-09 | Atmel Corporation | One-time-programmable memory emulation |
JP4909963B2 (ja) * | 2008-09-09 | 2012-04-04 | 株式会社東芝 | 統合メモリ管理装置 |
US7962801B2 (en) * | 2008-10-15 | 2011-06-14 | Silicon Motion, Inc. | Link table recovery method |
KR101510120B1 (ko) * | 2008-11-21 | 2015-04-10 | 삼성전자주식회사 | 메모리 장치 및 메모리 장치의 관리 방법 |
US8316201B2 (en) * | 2008-12-18 | 2012-11-20 | Sandisk Il Ltd. | Methods for executing a command to write data from a source location to a destination location in a memory device |
US9612954B2 (en) | 2008-12-31 | 2017-04-04 | Micron Technology, Inc. | Recovery for non-volatile memory after power loss |
US8589700B2 (en) * | 2009-03-04 | 2013-11-19 | Apple Inc. | Data whitening for writing and reading data to and from a non-volatile memory |
US20100228906A1 (en) * | 2009-03-06 | 2010-09-09 | Arunprasad Ramiya Mothilal | Managing Data in a Non-Volatile Memory System |
US8065469B2 (en) | 2009-04-20 | 2011-11-22 | Imation Corp. | Static wear leveling |
US8176295B2 (en) | 2009-04-20 | 2012-05-08 | Imation Corp. | Logical-to-physical address translation for a removable data storage device |
TWI457940B (zh) * | 2009-05-15 | 2014-10-21 | Macronix Int Co Ltd | 區塊為基礎快閃記憶體之位元組存取 |
US8281227B2 (en) * | 2009-05-18 | 2012-10-02 | Fusion-10, Inc. | Apparatus, system, and method to increase data integrity in a redundant storage system |
US8307258B2 (en) * | 2009-05-18 | 2012-11-06 | Fusion-10, Inc | Apparatus, system, and method for reconfiguring an array to operate with less storage elements |
US8516219B2 (en) | 2009-07-24 | 2013-08-20 | Apple Inc. | Index cache tree |
US8468293B2 (en) | 2009-07-24 | 2013-06-18 | Apple Inc. | Restore index page |
US8745365B2 (en) * | 2009-08-06 | 2014-06-03 | Imation Corp. | Method and system for secure booting a computer by booting a first operating system from a secure peripheral device and launching a second operating system stored a secure area in the secure peripheral device on the first operating system |
US8683088B2 (en) | 2009-08-06 | 2014-03-25 | Imation Corp. | Peripheral device data integrity |
US20110041039A1 (en) * | 2009-08-11 | 2011-02-17 | Eliyahou Harari | Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device |
US20110040924A1 (en) * | 2009-08-11 | 2011-02-17 | Selinger Robert D | Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code |
US8612718B2 (en) * | 2009-08-19 | 2013-12-17 | Seagate Technology Llc | Mapping alignment |
US20110055471A1 (en) * | 2009-08-28 | 2011-03-03 | Jonathan Thatcher | Apparatus, system, and method for improved data deduplication |
US8688894B2 (en) * | 2009-09-03 | 2014-04-01 | Pioneer Chip Technology Ltd. | Page based management of flash storage |
JP5999645B2 (ja) | 2009-09-08 | 2016-10-05 | ロンギチュード エンタープライズ フラッシュ エスエイアールエル | ソリッドステート記憶デバイス上にデータをキャッシングするための装置、システム、および方法 |
US8601222B2 (en) | 2010-05-13 | 2013-12-03 | Fusion-Io, Inc. | Apparatus, system, and method for conditional and atomic storage operations |
CN102597910B (zh) | 2009-09-09 | 2015-03-25 | 弗森-艾奥公司 | 存储设备中用于功率减小管理的装置、系统及方法 |
US9122579B2 (en) | 2010-01-06 | 2015-09-01 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for a storage layer |
US9223514B2 (en) | 2009-09-09 | 2015-12-29 | SanDisk Technologies, Inc. | Erase suspend/resume for memory |
WO2011031903A2 (en) * | 2009-09-09 | 2011-03-17 | Fusion-Io, Inc. | Apparatus, system, and method for allocating storage |
US8255655B2 (en) * | 2009-10-02 | 2012-08-28 | Sandisk Technologies Inc. | Authentication and securing of write-once, read-many (WORM) memory devices |
US8489803B2 (en) * | 2009-12-14 | 2013-07-16 | Smsc Holdings S.A.R.L. | Efficient use of flash memory in flash drives |
US8595411B2 (en) * | 2009-12-30 | 2013-11-26 | Sandisk Technologies Inc. | Method and controller for performing a sequence of commands |
US8443263B2 (en) * | 2009-12-30 | 2013-05-14 | Sandisk Technologies Inc. | Method and controller for performing a copy-back operation |
US9396104B1 (en) | 2010-03-22 | 2016-07-19 | Seagate Technology, Llc | Accessing compressed data of varying-sized quanta in non-volatile memory |
US8416624B2 (en) | 2010-05-21 | 2013-04-09 | SanDisk Technologies, Inc. | Erase and programming techniques to reduce the widening of state distributions in non-volatile memories |
KR20120003283A (ko) * | 2010-07-02 | 2012-01-10 | 삼성전자주식회사 | 데이터 저장 장치 및 그것의 배드 블록 관리 방법 |
US8725934B2 (en) | 2011-12-22 | 2014-05-13 | Fusion-Io, Inc. | Methods and appratuses for atomic storage operations |
EP2598996B1 (en) | 2010-07-28 | 2019-07-10 | SanDisk Technologies LLC | Apparatus, system, and method for conditional and atomic storage operations |
US8984216B2 (en) | 2010-09-09 | 2015-03-17 | Fusion-Io, Llc | Apparatus, system, and method for managing lifetime of a storage device |
US8452914B2 (en) * | 2010-11-26 | 2013-05-28 | Htc Corporation | Electronic devices with improved flash memory compatibility and methods corresponding thereto |
US9208071B2 (en) | 2010-12-13 | 2015-12-08 | SanDisk Technologies, Inc. | Apparatus, system, and method for accessing memory |
US10817421B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent data structures |
US9047178B2 (en) | 2010-12-13 | 2015-06-02 | SanDisk Technologies, Inc. | Auto-commit memory synchronization |
US10817502B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent memory management |
EP2652623B1 (en) | 2010-12-13 | 2018-08-01 | SanDisk Technologies LLC | Apparatus, system, and method for auto-commit memory |
US9218278B2 (en) | 2010-12-13 | 2015-12-22 | SanDisk Technologies, Inc. | Auto-commit memory |
US20120239860A1 (en) | 2010-12-17 | 2012-09-20 | Fusion-Io, Inc. | Apparatus, system, and method for persistent data management on a non-volatile storage media |
DE102010063773A1 (de) * | 2010-12-21 | 2012-07-12 | Endress + Hauser Wetzer Gmbh + Co. Kg | Feldgerät mit einem semi-permanenten elektronischen Speicher und Verfahren zum Betreiben eines solchen Feldgerätes |
WO2012100087A2 (en) | 2011-01-19 | 2012-07-26 | Fusion-Io, Inc. | Apparatus, system, and method for managing out-of-service conditions |
CN102609214A (zh) * | 2011-01-21 | 2012-07-25 | 鸿富锦精密工业(深圳)有限公司 | 将biosrom模拟成磁盘的的系统及方法 |
WO2012106362A2 (en) | 2011-01-31 | 2012-08-09 | Fusion-Io, Inc. | Apparatus, system, and method for managing eviction of data |
US9003104B2 (en) | 2011-02-15 | 2015-04-07 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a file-level cache |
US9201677B2 (en) | 2011-05-23 | 2015-12-01 | Intelligent Intellectual Property Holdings 2 Llc | Managing data input/output operations |
US8874823B2 (en) | 2011-02-15 | 2014-10-28 | Intellectual Property Holdings 2 Llc | Systems and methods for managing data input/output operations |
US9141527B2 (en) | 2011-02-25 | 2015-09-22 | Intelligent Intellectual Property Holdings 2 Llc | Managing cache pools |
US9563555B2 (en) | 2011-03-18 | 2017-02-07 | Sandisk Technologies Llc | Systems and methods for storage allocation |
WO2012129191A2 (en) | 2011-03-18 | 2012-09-27 | Fusion-Io, Inc. | Logical interfaces for contextual storage |
JP2012203443A (ja) * | 2011-03-23 | 2012-10-22 | Toshiba Corp | メモリシステムおよびメモリシステムの制御方法 |
JP2012226822A (ja) | 2011-04-15 | 2012-11-15 | Samsung Electronics Co Ltd | 不揮発性メモリ装置 |
US20120317377A1 (en) * | 2011-06-09 | 2012-12-13 | Alexander Palay | Dual flash translation layer |
TWI521343B (zh) | 2011-08-01 | 2016-02-11 | Toshiba Kk | An information processing device, a semiconductor memory device, and a semiconductor memory device |
US8687421B2 (en) | 2011-11-21 | 2014-04-01 | Sandisk Technologies Inc. | Scrub techniques for use with dynamic read |
US9274937B2 (en) | 2011-12-22 | 2016-03-01 | Longitude Enterprise Flash S.A.R.L. | Systems, methods, and interfaces for vector input/output operations |
US9251052B2 (en) | 2012-01-12 | 2016-02-02 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer |
US10102117B2 (en) | 2012-01-12 | 2018-10-16 | Sandisk Technologies Llc | Systems and methods for cache and storage device coordination |
US9767032B2 (en) | 2012-01-12 | 2017-09-19 | Sandisk Technologies Llc | Systems and methods for cache endurance |
US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
US9116812B2 (en) | 2012-01-27 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a de-duplication cache |
US10359972B2 (en) | 2012-08-31 | 2019-07-23 | Sandisk Technologies Llc | Systems, methods, and interfaces for adaptive persistence |
US10019353B2 (en) | 2012-03-02 | 2018-07-10 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for referencing data on a storage medium |
US8629689B1 (en) * | 2012-05-18 | 2014-01-14 | Altera Corporation | Integrated circuit with improved interconnect routing and associated methods |
US8996957B1 (en) | 2012-05-22 | 2015-03-31 | Pmc-Sierra, Inc. | Systems and methods for initializing regions of a flash drive having diverse error correction coding (ECC) schemes |
US8788910B1 (en) | 2012-05-22 | 2014-07-22 | Pmc-Sierra, Inc. | Systems and methods for low latency, high reliability error correction in a flash drive |
US9183085B1 (en) | 2012-05-22 | 2015-11-10 | Pmc-Sierra, Inc. | Systems and methods for adaptively selecting from among a plurality of error correction coding schemes in a flash drive for robustness and low latency |
US9021336B1 (en) | 2012-05-22 | 2015-04-28 | Pmc-Sierra, Inc. | Systems and methods for redundantly storing error correction codes in a flash drive with secondary parity information spread out across each page of a group of pages |
US8972824B1 (en) | 2012-05-22 | 2015-03-03 | Pmc-Sierra, Inc. | Systems and methods for transparently varying error correction code strength in a flash drive |
US9176812B1 (en) | 2012-05-22 | 2015-11-03 | Pmc-Sierra, Inc. | Systems and methods for storing data in page stripes of a flash drive |
US8793556B1 (en) | 2012-05-22 | 2014-07-29 | Pmc-Sierra, Inc. | Systems and methods for reclaiming flash blocks of a flash drive |
US9047214B1 (en) | 2012-05-22 | 2015-06-02 | Pmc-Sierra, Inc. | System and method for tolerating a failed page in a flash device |
US9021337B1 (en) | 2012-05-22 | 2015-04-28 | Pmc-Sierra, Inc. | Systems and methods for adaptively selecting among different error correction coding schemes in a flash drive |
US9021333B1 (en) | 2012-05-22 | 2015-04-28 | Pmc-Sierra, Inc. | Systems and methods for recovering data from failed portions of a flash drive |
US20130326114A1 (en) * | 2012-05-30 | 2013-12-05 | Seagate Technology Llc | Write mitigation through fast reject processing |
US9128820B1 (en) | 2012-06-18 | 2015-09-08 | Western Digital Technologies, Inc. | File management among different zones of storage media |
KR102147359B1 (ko) | 2012-06-29 | 2020-08-24 | 삼성전자 주식회사 | 비휘발성 메모리 장치의 관리 방법 및 비휘발성 메모리 장치 |
US9612966B2 (en) | 2012-07-03 | 2017-04-04 | Sandisk Technologies Llc | Systems, methods and apparatus for a virtual machine cache |
US10339056B2 (en) | 2012-07-03 | 2019-07-02 | Sandisk Technologies Llc | Systems, methods and apparatus for cache transfers |
US9064575B2 (en) | 2012-08-03 | 2015-06-23 | Micron Technology, Inc. | Determining whether a memory cell state is in a valley between adjacent data states |
US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
US10509776B2 (en) | 2012-09-24 | 2019-12-17 | Sandisk Technologies Llc | Time sequence data management |
US10318495B2 (en) | 2012-09-24 | 2019-06-11 | Sandisk Technologies Llc | Snapshots for a non-volatile device |
US9733907B2 (en) | 2012-10-30 | 2017-08-15 | Oracle International Corporation | System and method for testing compiler implementation using dynamic combinatorial test generation |
US9612948B2 (en) | 2012-12-27 | 2017-04-04 | Sandisk Technologies Llc | Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device |
US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
US11249652B1 (en) | 2013-01-28 | 2022-02-15 | Radian Memory Systems, Inc. | Maintenance of nonvolatile memory on host selected namespaces by a common memory controller |
US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US10445229B1 (en) | 2013-01-28 | 2019-10-15 | Radian Memory Systems, Inc. | Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies |
US9478271B2 (en) * | 2013-03-14 | 2016-10-25 | Seagate Technology Llc | Nonvolatile memory data recovery after power failure |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US9208018B1 (en) | 2013-03-15 | 2015-12-08 | Pmc-Sierra, Inc. | Systems and methods for reclaiming memory for solid-state memory |
US9026867B1 (en) | 2013-03-15 | 2015-05-05 | Pmc-Sierra, Inc. | Systems and methods for adapting to changing characteristics of multi-level cells in solid-state memory |
US9081701B1 (en) | 2013-03-15 | 2015-07-14 | Pmc-Sierra, Inc. | Systems and methods for decoding data for solid-state memory |
US9842053B2 (en) | 2013-03-15 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for persistent cache logging |
US9009565B1 (en) | 2013-03-15 | 2015-04-14 | Pmc-Sierra, Inc. | Systems and methods for mapping for solid-state memory |
US9053012B1 (en) | 2013-03-15 | 2015-06-09 | Pmc-Sierra, Inc. | Systems and methods for storing data for solid-state memory |
US9558108B2 (en) | 2013-04-15 | 2017-01-31 | Macronix International Co., Ltd. | Half block management for flash storage devices |
US10558561B2 (en) | 2013-04-16 | 2020-02-11 | Sandisk Technologies Llc | Systems and methods for storage metadata management |
US10102144B2 (en) | 2013-04-16 | 2018-10-16 | Sandisk Technologies Llc | Systems, methods and interfaces for data virtualization |
CN103324553B (zh) * | 2013-06-21 | 2016-08-24 | 华为技术有限公司 | 数据恢复方法、系统及装置 |
US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
US9842128B2 (en) | 2013-08-01 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for atomic storage operations |
US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
US10019320B2 (en) | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for distributed atomic storage operations |
US10019352B2 (en) | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for adaptive reserve storage |
US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
US9436831B2 (en) | 2013-10-30 | 2016-09-06 | Sandisk Technologies Llc | Secure erase in a memory device |
US10073630B2 (en) | 2013-11-08 | 2018-09-11 | Sandisk Technologies Llc | Systems and methods for log coordination |
US9703816B2 (en) | 2013-11-19 | 2017-07-11 | Sandisk Technologies Llc | Method and system for forward reference logging in a persistent datastore |
US9520197B2 (en) | 2013-11-22 | 2016-12-13 | Sandisk Technologies Llc | Adaptive erase of a storage device |
US9520162B2 (en) | 2013-11-27 | 2016-12-13 | Sandisk Technologies Llc | DIMM device controller supervisor |
US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
CN103713857B (zh) * | 2013-12-24 | 2017-06-27 | 华为技术有限公司 | 存储数据的方法及存储装置 |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
US9230689B2 (en) | 2014-03-17 | 2016-01-05 | Sandisk Technologies Inc. | Finding read disturbs on non-volatile memories |
US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
US9703491B2 (en) | 2014-05-30 | 2017-07-11 | Sandisk Technologies Llc | Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device |
US10162748B2 (en) | 2014-05-30 | 2018-12-25 | Sandisk Technologies Llc | Prioritizing garbage collection and block allocation based on I/O history for logical address regions |
US10656842B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
US10656840B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Real-time I/O pattern recognition to enhance performance and endurance of a storage device |
US10146448B2 (en) | 2014-05-30 | 2018-12-04 | Sandisk Technologies Llc | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device |
US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
US10372613B2 (en) | 2014-05-30 | 2019-08-06 | Sandisk Technologies Llc | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
US9542118B1 (en) | 2014-09-09 | 2017-01-10 | Radian Memory Systems, Inc. | Expositive flash memory control |
US10552085B1 (en) | 2014-09-09 | 2020-02-04 | Radian Memory Systems, Inc. | Techniques for directed data migration |
US10114562B2 (en) | 2014-09-16 | 2018-10-30 | Sandisk Technologies Llc | Adaptive block allocation in nonvolatile memory |
US9552171B2 (en) | 2014-10-29 | 2017-01-24 | Sandisk Technologies Llc | Read scrub with adaptive counter management |
US9978456B2 (en) | 2014-11-17 | 2018-05-22 | Sandisk Technologies Llc | Techniques for reducing read disturb in partially written blocks of non-volatile memory |
US9349479B1 (en) | 2014-11-18 | 2016-05-24 | Sandisk Technologies Inc. | Boundary word line operation in nonvolatile memory |
US9627072B2 (en) | 2014-11-25 | 2017-04-18 | Macronix International Co., Ltd. | Variant operation sequences for multibit memory |
US9449700B2 (en) | 2015-02-13 | 2016-09-20 | Sandisk Technologies Llc | Boundary word line search and open block read methods with reduced read disturb |
US9946607B2 (en) | 2015-03-04 | 2018-04-17 | Sandisk Technologies Llc | Systems and methods for storage error management |
US10009438B2 (en) | 2015-05-20 | 2018-06-26 | Sandisk Technologies Llc | Transaction log acceleration |
US10185513B1 (en) | 2015-06-05 | 2019-01-22 | Life365, Inc. | Device configured for dynamic software change |
US10552058B1 (en) | 2015-07-17 | 2020-02-04 | Radian Memory Systems, Inc. | Techniques for delegating data processing to a cooperative memory controller |
CN106547480B (zh) * | 2015-09-17 | 2019-04-12 | 慧荣科技股份有限公司 | 数据储存装置及其数据读取方法 |
US9653154B2 (en) | 2015-09-21 | 2017-05-16 | Sandisk Technologies Llc | Write abort detection for multi-state memories |
US10185666B2 (en) | 2015-12-15 | 2019-01-22 | Facebook, Inc. | Item-wise simulation in a block cache where data eviction places data into comparable score in comparable section in the block cache |
US20170168956A1 (en) * | 2015-12-15 | 2017-06-15 | Facebook, Inc. | Block cache staging in content delivery network caching system |
US10126962B2 (en) | 2016-04-22 | 2018-11-13 | Microsoft Technology Licensing, Llc | Adapted block translation table (BTT) |
US9817593B1 (en) | 2016-07-11 | 2017-11-14 | Sandisk Technologies Llc | Block management in non-volatile memory system with non-blocking control sync system |
US9881682B1 (en) | 2016-11-23 | 2018-01-30 | Seagate Technology Llc | Fine grained data retention monitoring in solid state drives |
CN108733576B (zh) * | 2017-04-20 | 2022-12-09 | 得一微电子股份有限公司 | 一种固态硬盘及其内存转换层对映方法 |
US10318416B2 (en) * | 2017-05-18 | 2019-06-11 | Nxp B.V. | Method and system for implementing a non-volatile counter using non-volatile memory |
IT201700057287A1 (it) * | 2017-05-26 | 2018-11-26 | St Microelectronics Srl | Procedimento per gestire schede a circuito integrato, scheda ed apparecchiatura corrispondenti |
KR102521746B1 (ko) | 2017-12-18 | 2023-04-13 | 에스케이하이닉스 주식회사 | 메모리 장치의 주소 맵핑을 관리하는 반도체 장치 및 이를 포함하는 데이터 저장 장치 |
KR20190120573A (ko) * | 2018-04-16 | 2019-10-24 | 에스케이하이닉스 주식회사 | 메모리 시스템, 데이터 처리 시스템 및 메모리 시스템의 동작 방법 |
JP2021023748A (ja) * | 2019-08-09 | 2021-02-22 | 株式会社島津製作所 | X線透視撮影装置 |
US11586385B1 (en) | 2020-05-06 | 2023-02-21 | Radian Memory Systems, Inc. | Techniques for managing writes in nonvolatile memory |
TWI842009B (zh) * | 2022-07-08 | 2024-05-11 | 瑞昱半導體股份有限公司 | 資料存取方法及資料存取系統 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4511964A (en) * | 1982-11-12 | 1985-04-16 | Hewlett-Packard Company | Dynamic physical memory mapping and management of independent programming environments |
JPH0271342A (ja) * | 1988-09-07 | 1990-03-09 | Oki Electric Ind Co Ltd | メモリ管理装置 |
JPH0314042A (ja) * | 1989-06-13 | 1991-01-22 | Fujitsu Ltd | データベースにおける資源管理方式 |
WO1991014986A1 (en) * | 1990-03-23 | 1991-10-03 | Eastman Kodak Company | Virtual memory management and allocation arrangement for digital data processing system |
US5193184A (en) * | 1990-06-18 | 1993-03-09 | Storage Technology Corporation | Deleted data file space release system for a dynamically mapped virtual data storage subsystem |
US5210866A (en) * | 1990-09-12 | 1993-05-11 | Storage Technology Corporation | Incremental disk backup system for a dynamically mapped data storage subsystem |
JP2584119B2 (ja) * | 1990-09-28 | 1997-02-19 | 富士写真フイルム株式会社 | メモリカードにおけるデータ記録方法およびメモリカードシステム |
GB2251323B (en) * | 1990-12-31 | 1994-10-12 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
JP2582487B2 (ja) * | 1991-07-12 | 1997-02-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 半導体メモリを用いた外部記憶システム及びその制御方法 |
JP3407317B2 (ja) * | 1991-11-28 | 2003-05-19 | 株式会社日立製作所 | フラッシュメモリを使用した記憶装置 |
JP3178909B2 (ja) * | 1992-01-10 | 2001-06-25 | 株式会社東芝 | 半導体メモリ装置 |
JPH0695955A (ja) * | 1992-09-09 | 1994-04-08 | Ricoh Co Ltd | フラッシュ・ファイル・システム |
-
1993
- 1993-03-08 US US08/027,131 patent/US5404485A/en not_active Expired - Lifetime
-
1994
- 1994-02-24 IL IL10876694A patent/IL108766A/en not_active IP Right Cessation
- 1994-02-28 AU AU62699/94A patent/AU6269994A/en not_active Abandoned
- 1994-02-28 KR KR1019950703788A patent/KR100292011B1/ko not_active IP Right Cessation
- 1994-02-28 EP EP94910145A patent/EP0688450B1/en not_active Expired - Lifetime
- 1994-02-28 WO PCT/US1994/001848 patent/WO1994020906A1/en active IP Right Grant
- 1994-02-28 DE DE69414556T patent/DE69414556T2/de not_active Expired - Lifetime
- 1994-02-28 JP JP6520018A patent/JPH08510072A/ja active Pending
- 1994-03-02 ZA ZA941446A patent/ZA941446B/xx unknown
- 1994-03-08 CN CN94102329A patent/CN1078364C/zh not_active Expired - Lifetime
- 1994-05-07 TW TW083104170A patent/TW264547B/zh not_active IP Right Cessation
-
1995
- 1995-09-08 FI FI954235A patent/FI105726B/fi not_active IP Right Cessation
-
2002
- 2002-09-04 JP JP2002259073A patent/JP3997130B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
AU6269994A (en) | 1994-09-26 |
EP0688450A4 (en) | 1995-10-20 |
DE69414556D1 (de) | 1998-12-17 |
KR100292011B1 (ko) | 2001-09-17 |
CN1098526A (zh) | 1995-02-08 |
FI954235A0 (fi) | 1995-09-08 |
JPH08510072A (ja) | 1996-10-22 |
DE69414556T2 (de) | 1999-05-06 |
WO1994020906A1 (en) | 1994-09-15 |
TW264547B (fi) | 1995-12-01 |
CN1078364C (zh) | 2002-01-23 |
IL108766A0 (en) | 1994-05-30 |
EP0688450A1 (en) | 1995-12-27 |
IL108766A (en) | 1996-12-05 |
ZA941446B (en) | 1994-09-26 |
US5404485A (en) | 1995-04-04 |
JP2003085037A (ja) | 2003-03-20 |
EP0688450B1 (en) | 1998-11-11 |
JP3997130B2 (ja) | 2007-10-24 |
KR960701402A (ko) | 1996-02-24 |
FI954235L (fi) | 1995-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FI105726B (fi) | Muistinhallintamenetelmä | |
EP1435576B1 (en) | Method and apparatus for block-oriented memory management provided in smart card controllers | |
KR100495722B1 (ko) | 개선된 플래시 파일 시스템 | |
US7340581B2 (en) | Method of writing data to non-volatile memory | |
EP0852765B1 (en) | Memory management | |
US6587915B1 (en) | Flash memory having data blocks, spare blocks, a map block and a header block and a method for controlling the same | |
US5634050A (en) | Method and system for file system management using a flash-erasable programmable, read-only memory | |
CN111414315B (zh) | 用来管理一记忆装置的方法以及其相关的记忆装置 | |
KR960004738B1 (ko) | 불휘발성 반도체 메모리 장치 | |
CN100424655C (zh) | 快闪存储器管理方法 | |
US7752412B2 (en) | Methods of managing file allocation table information | |
KR100608602B1 (ko) | 플래시 메모리, 이를 위한 사상 제어 장치 및 방법 | |
US20180275889A1 (en) | Append only streams for storing data on a solid state device | |
US20030046482A1 (en) | Data management in flash memory | |
KR20060093107A (ko) | 블록별로 삭제 가능한 메모리에 메모리 섹터를 기록하는 방법 | |
CN114610228A (zh) | 文件管理系统及其文件管理方法、装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TC | Name/ company changed in patent |
Owner name: SANDISK IL LTD. Free format text: SANDISK IL LTD. |
|
MA | Patent expired |