Claims
- 1. One or more computer-readable media comprising a file system that is executable by a computer, the file system comprising: a plurality of interchangeable and/or customizable logic layers configured to manage operations on behalf of an application when making data requests to a data source, wherein functionality associated with the file system is augmentable by substituting and/or modifying one or more of the plurality of interchangeable and/or customizable logic layers, respectively, enabling the file system to function with many different types of data sources.
- 2. The file system as recited in claim 1, wherein one of the plurality of interchangeable and/or customizable logic layers comprises: a media abstraction layer, configured to manage input and output requests received from the application.
- 3. The file system as recited in claim 1, wherein one of the plurality of interchangeable and/or customizable logic layers comprises: a media abstraction layer, configured to maintain a transaction log.
- 4. The file system as recited in claim 1, wherein one of the plurality of interchangeable and/or customizable logic layers comprises: a media abstraction layer, configured to perform logical to physical transformations.
- 5. The file system as recited in claim 1, wherein one of the plurality of interchangeable and/or customizable logic layers comprises: a media abstraction layer, configured to detect and manage a catastrophic event.
- 6. The file system as recited in claim 1, wherein one of the plurality of interchangeable and/or customizable logic layers comprises: a media abstraction layer, configured to maintain data integrity in the event of a catastrophic event.
- 7. The file system as recited in claim 1, wherein one of the plurality of interchangeable and/or customizable logic layers comprises: a media interface layer, configured to interface directly with the data source.
- 8. The file system as recited in claim 1, wherein one of the plurality of interchangeable and/or customizable logic layers comprises: a media interface layer, configured to carry out a lowest of lower level communications on behalf of at least one of the plurality of interchangeable logic and/or customizable layers in response to data requests.
- 9. The file system as recited in claim 1, wherein one of the plurality of interchangeable and/or customizable logic layers comprises: a media interface layer that is programmably configurable by a user to directly interface with the data source.
- 10. The file system as recited in claim 1, wherein the data source is one of the following devices: fixed media, storage cards, network devices, networks, network storage and hard disks.
- 11. The file system as recited in claim 1, wherein the data source is a physical and/or virtual object that is configured to read and write data.
- 12. The file system as recited in claim 1, wherein the data source includes one of the following: a flash memory, a hard disk, a removable storage medium, a network, and a communication device.
- 13. The file system as recited in claim 1, wherein the data requests include reading data from the data source and/or writing data to the data source.
- 14. The file system as recited in claim 1, wherein one of the plurality of interchangeable and/or customizable logic layers comprises an entry logic layer comprising a set of Application Protocol Interfaces (APIs) accessible by the application.
- 15. One or more computer-readable media comprising a file system that is executable by a computer, the file system comprising:
a plurality interchangeable and/or customizable logic layers configured to manage operations on behalf of an application when making data requests to a data source, the plurality of interchangeable and/or customizable logic layers comprising:
an entry logic layer including a set of Application Protocol Interfaces (APIs) accessible by the application; a media abstraction layer configured to manage data requests made by the application; perform logical to physical transformations and detect and manage a catastrophic event; and a media interface layer, configured to carry out a lowest of the lower level communications on behalf of the entry logic layer and/or media abstraction layer in response to data requests.
- 16. The file system as recited in claim 15, wherein functionality associated with the file system is augmentable by substituting and/or modifying one or more of the plurality of interchangeable and/or customizable logic layers, respectively, enabling the file system to function with many different types of data sources.
- 17. The file system as recited in claim 15, wherein the media abstraction layer is further configured to maintain a transaction log.
- 18. The file system as recited in claim 15, wherein the media abstraction layer is configured to maintain data integrity for the file system in the event of a catastrophic event.
- 19. The file system as recited in claim 15, wherein the media interface layer is configured to communicate directly with the data source.
- 20. The file system as recited in claim 15, wherein the media interface layer is programmably configurable by a user to directly interface with a data source.
- 21. The file system as recited in claim 15, wherein the data source is one of the following devices: fixed media, storage cards, network devices, networks, network storage and hard disks.
- 22. The file system as recited in claim 15, wherein the data source is a physical and/or virtual object that is configured to read and write data.
- 23. The file system as recited in claim 15, wherein the data source includes one of the following: a flash memory, a hard disk, a removable storage medium, a network, and a communication device.
- 24. The file system as recited in claim 15, wherein the data requests include reading data from the data source and/or writing data to the data source.
- 25. A computer, comprising: a file system having a plurality of interchangeable and/or customizable logic layers configured to manage operations on behalf of an application operating on the computer when making data requests to a data source, wherein functionality associated with the file system is augmentable by substituting and/or modifying one or more of the plurality of interchangeable and/or customizable logic layers, respectively, enabling the file system to function with many different types of data sources.
- 26. The computer as recited in claim 25, wherein the data source is one of the following devices: fixed media, storage cards, network devices, networks, network storage and hard disks.
- 27. The computer as recited in claim 25, wherein the data source is a physical and/or virtual object that is configured to read and write data.
- 28. The computer as recited in claim 25, wherein the data requests include reading data from the data source and/or writing data to the data source.
- 29. The computer as recited in claim 25, wherein one of the plurality of interchangeable and/or customizable logic layers comprises an entry logic layer comprising a set of Application Protocol Interfaces (APIs) accessible by the application.
- 30. The computer as recited in claim 25, wherein one of the plurality of interchangeable and/or customizable logic layers comprises: a media abstraction layer, configured to (i) manage input and output requests received from the application; (ii) perform logical to physical transformations; (iii) detect a power failure event, and (iv) maintain data integrity in the event of detecting a power failure event.
- 31. The computer as recited in claim 25, wherein one of the plurality of interchangeable and/or customizable logic layers comprises: a media interface layer, configured to interface directly with the data source.
- 32. A file system for use with a computer that uses a flash medium for storing data, the file system comprising: a plurality of interchangeable and/or customizable logic layers configured to manage operations on behalf of an application operating on the computer when making data requests to the flash medium, wherein operational behavior of the file system is augmentable by substituting and/or modifying one or more of the plurality of interchangeable and/or customizable logic layers, respectively, enabling the file system to interface with many different types of flash media.
- 33. The file system as recited in claim 32, wherein the computer is portable electronic device.
- 34. The file system as recited in claim 32, wherein one of the plurality of interchangeable and/or customizable logic layers comprises: a media abstraction layer, configured to (i) manage input and output requests received from the application; (ii) perform logical to physical transformations; (iii) detect a power failure event and (iv) maintain data integrity in the event of detecting a power failure event.
- 35. The file system as recite in claim 32, wherein one of the plurality of interchangeable and/or customizable logic layers comprises a media interface layer configured to interface directly with the flash medium.
- 36. In a computer having an application that issues data requests to a data source, a method for configuring a file system, the method comprising: augmenting operational behavior of a file system by substituting and/or modifying one or more of the plurality of interchangeable and/or customizable logic layers comprising the file system, respectively, thereby enabling the file system to function with many different types of data sources.
- 37. The method as recited in claim 36, wherein the data source is one of the following devices: fixed media, storage cards, network devices, networks, network storage and hard disks.
- 38. The method as recited in claim 36, wherein the data source is a physical and/or virtual object that is configured to read and write data.
- 39. The method as recited in claim 36, wherein the data requests include reading data from the data source and/or writing data to the data source.
- 40. The method as recited in claim 36, further comprising performing logical to physical transformations, and detecting and managing power failure events in a media abstraction layer, wherein the media abstraction layer comprising a select one of the one or more of the plurality of interchangeable and/or customizable logic layers.
- 41. An operating system, comprising: a file system that is executable by a computer in response to an application program, the file system comprising a plurality of interchangeable and/or customizable logic layers configured to manage operations on behalf of an application when making data requests to a data source, wherein functionality associated with the file system is augmentable by substituting and/or modifying one or more of the plurality of interchangeable and/or customizable logic layers, respectively, enabling the file system to function with many different types of data sources.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present patent application is a Continuation-In-Part of U.S. patent application Ser. No. 10/087,672, entitled “Open Architecture Flash Driver,” by Aasheim, et al., having a filing date of Feb. 27, 2002, and is commonly assigned herewith (hereinafter referred to as “Aasheim '672”). The contents of the aforementioned application are fully incorporated herein by reference.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10087672 |
Feb 2002 |
US |
Child |
10301558 |
Nov 2002 |
US |