[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
EPA-Patent haelt OSS aus Embedded-Bereich fern (fwd)
- To: debate@fitug.de
- Subject: EPA-Patent haelt OSS aus Embedded-Bereich fern (fwd)
- From: PILCH Hartmut <phm@a2e.de>
- Date: Fri, 10 Nov 2000 23:51:43 +0100 (CET)
- Comment: This message comes from the debate mailing list.
- Sender: owner-debate@fitug.de
EP0688450
Flash file system
MILSYS LTD (IL)
Das folgende Patent duerfte es nahezu unmoeglich machen, Dateisysteme fuer
Flash-Speicherbausteine zu entwickeln. In solchen Bausteinen kann man
immer nur 64k o.ae. auf einmal aendern. Daraus ergeben sich ein paar
Einschraenkungen beim Dateisystem-Entwurf, um die man nicht herumkommt,
und deren Konsequenzen hiermit patentiert sind. Ein paar weitere
EPA-Patente im Bereich der Flash-Bausteine und der Speicherverwaltung
duerften ihr uebriges dafuer tun, dass es sehr schwierig sein wird,
Linux-Systeme in Haushaltsgeraeten u.a. zu etablieren. Diese Domaenen
duerften dann dem dominierenden proprietaeren System, d.h. Windows CE,
vorbehalten bleiben. Gespraeche mit Linux-Entwicklern auf der Systems
heute bestaetigten diese Sicht.
Claims
Having thus described my invention, what I claim as new and desire to
secure by Letters Patent is as follows:
1. A memory management method for a memory in which data can be
written only in unwritten physical memory locations and in which a
zone of contiguous memory locations can be simultaneously erased,
comprising the steps of: organizing the memory into a plurality of
units; organizing each unit into a plurality of blocks, each of said
blocks made up of a plurality of contiguous physical memory locations;
establishing an allocation map for each unit which indicates the
status of each block in a unit as written, unwritten or deleted;
establishing a virtual map to map virtual addresses to physical
addresses; in writing data to said memory at a virtual address: (a)
mapping said virtual address to a physical block address using said
virtual map; (b) examining said allocation map for said unit to which
said virtual address has been mapped in step (a) to determine the
status of a block at said physical block address as written, unwritten
or deleted; (c) if said block at said physical block address is in
written or deleted status: (1) examining said allocation map for at
least one of said units to identify an unwritten block address; (2)
writing said data into said memory to said unwritten block address;
(3) changing said allocation map for a block in a unit in which said
data have been written in paragraph (c)(2) to indicate as written said
previously unwritten block address where said data have been written;
(4) changing said virtual map to map virtual addresses to physical
addresses within a unit so that said virtual map maps said virtual
address to the physical address of said previously unwritten block in
which said data have been written in step (c)(2); establishing a
transfer unit in said memory in which all blocks are in unwritten
status, said transfer unit including a transfer unit allocation map;
periodically identifying a selected unit, other than said transfer
unit, to be erased; reading each written block in said selected unit;
writing each written block in said selected unit into said transfer
unit; updating said transfer unit allocation map to indicate as
written the status of blocks that have been written in the just
previous writing step; erasing said selected unit; updating said
virtual map to reflect the above-described movement of said written
blocks.
2. A memory management method for a memory in which data can be
written only in unwritten physical memory locations and in which a
zone of contiguous memory locations can be simultaneously erased,
comprising the steps of: storing in said memory a first virtual map
which maps virtual addresses to physical addresses; organizing said
first virtual map stored in said memory in segments of page
addressable blocks; storing in a random access memory a second virtual
map which maps page addresses to physical addresses of said page
addressable blocks in said memory; changing a page addressable block
in said first virtual map stored in said memory by writing a changed
page addressable block in an unwritten physical block location; and
updating said second virtual map stored in said random access memory
so that it maps the page address of the changed page addressable block
to the unwritten physical block location in which said changed page
addressable block has been written.
3. A memory management method for a memory in which data can be
written only in unwritten physical memory locations and in which a
zone of contiguous memory locations can be simultaneously erased,
comprising the steps of: organizing the memory into a plurality of
units; organizing each unit into a plurality of blocks, each of said
blocks made up of a plurality of contiguous physical memory locations;
establishing a first virtual map to map virtual addresses to physical
addresses within a unit; storing in said memory said first virtual map
organized in segments of page addressable blocks; storing in a random
access memory a second virtual map which maps pages to physical
address of said page addressable blocks stored in said memory; and in
writing data to said memory at a virtual address: (a) deriving a page
address from said virtual address; (b) mapping said page address to a
page addressable block in said memory; (c) reading a segment of said
first virtual map which maps virtual address to physical address at
said page addressable block in said memory; (d) mapping said virtual
address to a physical address; (e) if said block at said physical
address is in written or deleted status; (1) writing said data into
said memory to an unwritten block address; (2) changing said first
virtual map segment so that said first virtual map maps said virtual
address to the physical address of the unwritten block in which said
data have been written in step (e)(1); (3) writing the changed first
virtual map segment from step (e)(2) in an unwritten physical block
location in said memory; (4) updating said second virtual map stored
in said random access memory so that it maps the page address of the
changed first virtual map segment of said unwritten physical block
location.
4. A memory management method for a memory in which data can be
written only in unwritten :physical memory locations and in which a
zone of contiguous memory locations can be simultaneously erased,
comprising the steps of: organizing the memory into a plurality of
units; organizing each unit into a plurality of blocks, each of said
blocks made up of a plurality of contiguous physical memory locations;
establishing an allocation map for each unit which indicates the
status of each block in a unit as written, unwritten or deleted;
establishing a virtual map to map virtual addresses to physical
addresses within a unit; in writing data to said memory at a virtual
address: (a) mapping said virtual address to a physical block address
using said virtual map; (b) examining said allocation map for said
unit to which said virtual address has been mapped in step (a) to
determine the status of a block at said physical block address as
written, unwritten or deleted; (c) if said block at said physical
block address is in written or deleted status: (1) examining said
allocation map for at least one of said units to identify an unwritten
block address; (2) writing said data to said unwritten block address;
(3) changing said allocation map for a block in a unit in which said
data have been written in step (c)(2) to indicate as written said
previously unwritten block address where said data have been written;
(4) changing said virtual map to map virtual addresses to physical
addresses within a unit so that said virtual map maps said virtual
address to the physical address of said previously unwritten block in
which said data have been written in step (c)(2); and in reading data
from said memory at a virtual address: (d) mapping said virtual
address to a physical block address using said virtual map; (e)
reading said data from said memory at said physical address;
establishing a transfer unit in said memory in which all blocks are in
unwritten status, said transfer unit including a transfer unit
allocation map; periodically identifying a selected unit, other than
said transfer unit, to be erased; reading each written block in said
selected unit; writing each written block in said selected unit into
said transfer unit; updating said transfer unit allocation map to
indicate as written the status of blocks that have been written in the
just previous writing step; erasing said selected unit; updating said
virtual map to reflect the above-described movement of said written
blocks.
5. A memory management method for a memory in which data can be
written only in unwritten physical memory locations and in which a
zone of contiguous memory locations can be simultaneously erased,
comprising the steps of: organizing the memory into a plurality of
units; organizing each unit into a plurality of blocks, each of said
blocks made up of a plurality of contiguous physical memory locations;
establishing a first virtual map to map virtual addresses to physical
addresses within a unit; storing in said memory said first virtual map
organized in segments of page addressable blocks; storing in a random
access memory a second virtual map which maps pages to physical
address of said page addressable blocks stored in said memory; and in
writing data to said memory at a virtual address: (a) deriving a page
address from said virtual address; (b) mapping said page address to
page addressable block in said memory; (c) reading a segment of said
first virtual map which maps virtual address to physical address at
said page addressable block in said memory; (d) mapping said virtual
address to a physical address; (e) if said block at said physical
address is in an active written status; (1) writing said data into
said memory to an unwritten block address; (2) changing said first
virtual map segment so that said first virtual map maps said virtual
address to the physical address of the unwritten block in which said
data has been written in step (e)(1); (3) writing the changed first
virtual map segment from step (e)(2) in an unwritten physical block
location in said memory; (4) updating said second virtual map stored
in said random access memory so that maps the page address of the
changed first virtual map segment of said unwritten physical block
location; in reading data from said memory at a virtual address: (f)
deriving a page address from said virtual address; (g) mapping said
page address to page addressable block in said memory; (h) reading a
segment of said first virtual map that maps virtual address to
physical address at said page addressable block in said memory; (i)
mapping said virtual address to a physical address; (j) reading said
data from said memory at said physical address.
6. A memory management method as in claim 5, including the further
steps of: establishing a transfer unit in said memory in which all
blocks are in unwritten status, said transfer unit including a
transfer unit allocation map; periodically identifying a selected
unit, other than said transfer unit, to be erased; reading each
written block in said selected unit; writing each written block in
said selected unit into said transfer unit; updating said transfer
unit allocation map to indicate as written the status of blocks that
have been written in the just previous writing step; erasing said
selected unit; updating said virtual map to reflect the
above-described movement of said written blocks.
_________________________________________________________________
Data supplied from the esp@cenet database - l2