Split file system
First Claim
1. A split file system for a collection of data files on a microcontroller-based device, the split file system being implemented on a host computer and the microcontroller-based device, the microcontroller-based device including:
- an arithmetic/logic unit;
read/write memory; and
program memory;
wherein the split file system comprises;
a data table stored in the program memory of the microcontroller-based device; and
a document table of contents stored on the host computer, wherein the host computer is in electronic communication with the microcontroller-based device and wherein the host computer and the microcontroller-based device are separate systems.
4 Assignments
0 Petitions
Accused Products
Abstract
A file system for a collection of data files on a microcontroller-based device, the microcontroller-based device including an arithmetic/logic unit, read/write memory, and program memory, and the file system comprising a data table stored in the program memory and a document table of contents stored on a host computer. The data table is a set of data files, and the document table of contents includes length and offset information for each data file. A method is also described for creating and managing a file system for a collection of data files on a microcontroller-based device, wherein the microcontroller-based device includes an arithmetic/logic unit, read/write memory, and program memory, wherein the method comprises the steps of providing a data table for storage in the program memory and providing a document table of contents for storage on a host computer.
232 Citations
23 Claims
-
1. A split file system for a collection of data files on a microcontroller-based device, the split file system being implemented on a host computer and the microcontroller-based device, the microcontroller-based device including:
-
an arithmetic/logic unit;
read/write memory; and
program memory;
wherein the split file system comprises; a data table stored in the program memory of the microcontroller-based device; and
a document table of contents stored on the host computer, wherein the host computer is in electronic communication with the microcontroller-based device and wherein the host computer and the microcontroller-based device are separate systems. - View Dependent Claims (2, 3, 4, 5, 6)
means for accessing the document table of contents on the host computer to retrieve the length and offset information; and
means for retrieving the desired data file using the retrieved length and offset information.
-
-
5. The file system in accordance with claim 1, wherein at least one of the collection of data files is a rich text document.
-
6. The file system in accordance with claim 5, wherein the rich text document is an HTML document.
-
7. A method for creating and managing a split file system for a collection of data files on a microcontroller-based device, the split file system being implemented on a host computer and the microcontroller-based device, wherein the microcontroller-based device includes:
-
an arithmetic/logic unit;
read/write memory; and
program memory;
wherein the method comprises the steps of; (a) providing a data table for storage in the program memory of the microcontroller-based device; and
(b) providing a document table of contents for storage on the host computer, wherein the host computer is in electronic communication with the microcontroller-based device and wherein the host computer and the microcontroller-based device are separate systems. - View Dependent Claims (8, 9, 10)
(a) compressing each file in a set of desired files; and
(b) concatenating the compressed files to form the data table.
-
-
9. The method in accordance with claim 7, wherein the document table of contents includes file length and file offset information.
-
10. The method in accordance with claim 9, wherein a desired file is accessed by the steps of:
-
(a) retrieving length and offset information relating to the desired data file from the document table of contents on the host computer; and
(b) accessing the desired data file in the program memory using the retrieved length and offset information.
-
-
11. A split file system having software components distributed over a computer network, wherein one element of the computer network is a microcontroller-based device including:
-
an arithmetic/logic unit;
read/write memory;
program memory; and
non-volatile memory; and
another element of the computer network is a host computer system, wherein the host computer system is in electronic communication with the microcontroller-based device through the computer network and wherein the host computer system and the microcontroller-based device are separate systems, the split file system comprising;
a collection of data files stored in the non-volatile memory of the microcontroller-based device;
byte-oriented non-volatile memory access routines stored in the program memory of the microcontroller-based device; and
file-oriented access routines stored on the host computer, the file-oriented access routines using the computer network to invoke the byte-oriented access routines of the microcontroller-based device;
wherein the file-oriented access routines provide directory and file manipulation capability for the data files stored in the non-volatile memory of the microcontroller-based device. - View Dependent Claims (12, 13, 14, 15)
a read routine that reads a range of memory locations from the non-volatile memory; and
a write routine that writes to a single memory location.
-
-
14. The file system in accordance with claim 13, wherein a start address and a number of memory locations to be read are passed to the read routine as parameters.
-
15. The file system in accordance with claim 13, wherein a memory address and a value to be written are passed to the write routine as parameters.
-
16. A method for creating and managing a split file system having software components distributed over a computer network, wherein one element of the computer network is a microcontroller-based device including:
-
an arithmetic/logic unit;
read/write memory;
program memory; and
non-volatile memory;
and another element of the computer network is a host computer system, wherein the host computer system is in electronic communication with the microcontroller-based device through the computer network and wherein the host computer system and the microcontroller-based device are separate systems, the method comprising the steps of; (a) providing a collection of data files stored in the non-volatile memory of the microcontroller-based device;
(b) providing byte-oriented non-volatile memory access routines stored in the program memory of the microcontroller-based device; and
(c) providing file-oriented access routines stored on the host computer, the file-oriented access routines using the computer network to invoke the byte-oriented access routines of the microcontroller-based device. - View Dependent Claims (17)
-
-
18. A method for maintaining a split file system for one or more files stored in non-volatile memory of a microcontroller-based device, wherein the microcontroller-based device is in communication with a host computer over a computer network, wherein the host computer and the microcontroller-based device are separate systems, the method comprising the steps of:
-
(a) providing byte-oriented non-volatile memory access routines stored in the program memory of the microcontroller-based device;
(b) providing, on the host computer, file-oriented access routines, the file-oriented access routines using the computer network to invoke the byte-oriented access routines of the microcontroller-based device; and
(c) maintaining, on the host computer, a directory and a free block list characterizing the files stored on the microcontroller-based device and the file storage space available. - View Dependent Claims (19, 20)
(d) maintaining, on the host computer, a copy of the file to be updated;
(e) compressing the copy of the file;
(f) determining file length;
(g) examining the free block list to determine whether number of block required for file storage has changed; and
, if so(h) modifying the free block list to reflect new block allocation;
(i) storing the file in blocks as allocated in the free block list;
(j) updating a directory entry corresponding to the file being updated; and
(k) writing the file to the microcontroller-based device utilizing the byte-oriented access routines in the program memory of the microcontroller-based device.
-
-
20. The method in accordance with claim 19, further comprising the step of updating a transaction counter stored both on the microcontroller-based device and on the host computer.
-
21. A split file system being distributed between a host computer system and a microcontroller-based device, the split file system comprising:
-
a data table stored in memory of the microcontroller-based device; and
a software module on the host computer system, wherein the host computer system is in electronic communication with the microcontroller-based device, wherein the host computer system and the microcontroller-based device are separate systems, and wherein the software module interprets the data table. - View Dependent Claims (22, 23)
a directory structure;
a free block list; and
sequences of blocks that store contents of a file.
-
Specification