DE10243586A1 - Speichersteuerung für eine Speicherkarten-Verwaltet-Datei-Zuordnungstabelle - Google Patents

Speichersteuerung für eine Speicherkarten-Verwaltet-Datei-Zuordnungstabelle

Info

Publication number
DE10243586A1
DE10243586A1 DE10243586A DE10243586A DE10243586A1 DE 10243586 A1 DE10243586 A1 DE 10243586A1 DE 10243586 A DE10243586 A DE 10243586A DE 10243586 A DE10243586 A DE 10243586A DE 10243586 A1 DE10243586 A1 DE 10243586A1
Authority
DE
Germany
Prior art keywords
memory card
file
host device
memory
fat
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE10243586A
Other languages
English (en)
Inventor
Andrew M Spencer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE10243586A1 publication Critical patent/DE10243586A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Eine Speicherkartensteuerung steuert die Dateizuordnungstabelle und Dateisystemstrukturen von einer Speicherkarte, um die Datenübertragung an die und von der Speicherkarte und an eine und von einer Host-Vorrichtung wie einer Digitalkamera zu beschleunigen. Die Speicherkartensteuerung umfaßt einen Speicher zum Speichern der Dateizuordnungstabelle und einen Prozessor zum Aktualisieren der Dateizuordnungstabelle und der Dateisystemstrukturen, basierend auf Zugriffsbefehlen, die von der Host-Vorrichtung empfangen werden.

Description

  • Die vorliegende Erfindung bezieht sich allgemein auf eine Speicherkartensteuerung, die eine Dateizuordnungstabelle, Deskriptordateien und einen Systembereich einer Speicherkarte verwaltet.
  • Speicherkarten werden zur Verwendung durch verschiedene Typen von Vorrichtungen immer weiter verbreitet. Solche Vorrichtungen umfassen digitale Musikabspielvorrichtungen und Kameras, PDAs (PDA = personal digital assistant = persönlicher digitaler Assistent), Videokameras, Mobiltelephone und andere digitale Produkte der Konsumelektronik.
  • Speicherkarten sind dahingehend nützlich, daß sie ohne weiteres in Host-Vorrichtungen eingebracht und aus denselben entfernt werden. Speicherkarten können von der Art eines Flash-Speichers oder ein anderer Typ von Speicherspeicherungsfähigkeit sein. Speicherkarten liefern ein kompaktes, zuverlässiges und einfach anzuwendendes Speicherungsmedium, um große Mengen von Video-, Audio- und anderen Daten für verschiedene Typen von Host-Vorrichtungen zu speichern.
  • Wenn eine Host-Vorrichtung Informationen von einer Speicherkarte erhält oder wenn die Host-Vorrichtung Daten an die Speicherkarte schreiben möchte, wird eine Schnittstelle zwischen der Host-Vorrichtung und der Speicherkarte genutzt, um die potentiell unterschiedlichen Bus-Größen und die potentiell unterschiedlichen Datenübertragungsprotokolle, die durch die zwei Vorrichtungen genutzt werden, zu handhaben. Eine Speicherkartenspeicherung wird als eine Schnittstelle für die Übertragung von Daten von der Speicherkarte zu der Host-Vorrichtung und für die Übertragung von Daten von der Host-Vorrichtung zu der Speicherkarte verwendet.
  • Zum Beispiel liefert eine Speicherkartensteuerung eine Multi-Block-Lese/Schreib-Fähigkeit für Daten, um in eine Speicherkarte oder aus derselben gelesen zu werden, wie auf einer Sektor-um-Sektor-Basis. Basierend auf dem Zugriffsbefehl, der durch die Host-Vorrichtung ausgegeben wird, greift die Speicherkartensteuerung auf die Speicherplätze der Speicherkarte zu, um den Zugriffsbefehl unterzubringen. Wie vorstehend erörtert wurde, kann der Zugriffsbefehl für einen Schreibvorgang von Daten auf die Speicherkarte oder für einen Schreibvorgang von Daten von der Speicherkarte erfolgen.
  • Die Speicherkartensteuerung verwaltet die Schnittstelle zwischen der Speicherkarte und der Host-Vorrichtung und ist mit dieser Schnittstelle verbunden. Die Speicherkartensteuerung umfaßt einen Speicher zum Speichern von Daten, die in die Speicherkarte geschrieben oder aus der Speicherkarte gelesen werden sollen, und Funktionen wie einen Puffer zwischen diesen zwei Vorrichtungen. Die Speicherkartensteuerung umfaßt auch einen Prozessor, der verschiedene Zugriffsfunktionen auf der Speicherkarte basierend auf Zugriffsanforderungen, die durch die Host-Vorrichtung vorgenommen wurden, ausführt.
  • Viele herkömmliche Host-Vorrichtungen verwenden die Strukturen, die im ISO-Standard 9293 oder ähnlichen Standards zum Verwalten der Dateien auf der Speicherkarte definiert sind. Dieser Standard definiert einen FDC-Deskriptor (FDC Descriptor), Systembereich (System Area), ein Wurzelverzeichnis (Root Directory) und eine FAT (FAT = file allocation table = Dateizuordnungstabelle) als die Strukturen, die beizubehalten sind. Wenn eine solche Host-Vorrichtung entweder Daten auf eine Speicherkarte schreiben oder Daten von der Speicherkarte lesen möchte, muß die Host- Vorrichtung zuerst die FAT von der Speicherkarte erhalten.
  • Wenn die Speicherkarte nicht formatiert ist, dann muß die Host-Vorrichtung die Speicherkarte formatieren und einen Speicherbereich in der Speicherkarte einrichten, wo der FDC-Deskriptor, der Systembereich, das Wurzelverzeichnis und die FAT gespeichert werden sollen.
  • Die Host-Vorrichtung präpariert die FAT oder erhält eine zuvor präparierte FAT von der Speicherkarte. Sobald die FAT von der Speicherkarte auf die Host-Vorrichtung gelesen worden ist, bestimmt die Host-Vorrichtung einen verfügbaren Speicherplatz in der Speicherkarte, um eine Datei einer speziellen Größe (für eine Speicher-Schreiboperation) zu schreiben, oder die Host-Vorrichtung bestimmt, wo in der Speicherkarte eine spezielle Datei gespeichert ist (für eine Speicherschreiboperation). Mit diesen Informationen kann die Host-Vorrichtung die entsprechenden Zugriffsbefehle an die Speicherkartensteuerung senden, um eine gewünschte Datei zu erhalten, die momentan auf der Speicherkarte gespeichert ist, oder sie kann die entsprechenden Zugriffsbefehle an die Speicherkartensteuerung senden, um eine Datei auf einen verfügbaren unbenutzten Bereich (z. B. ein oder mehrere Sektoren oder Cluster) der Speicherkarte zu schreiben.
  • Der Erfinder der vorliegenden Erfindung hat erkannt, daß aufgrund der größer dimensionierten FATs, die derzeit verwendet werden oder deren Verwendung für Großspeicher- Kapazitäts-Speicherkarten, die viele der verfügbaren Host- Schnittstellen verwenden, erwogen wird, die Zeit zum Übertragen einer gesamten FAT von einer Speicherkarte zu einer Host-Vorrichtung ziemlich lang sein kann (z. B. mehrere Sekunden oder mehr), was ein unerwünschtes Merkmal ist. Daher sieht die vorliegende Erfindung eine Dateiverwaltung der Speicherkarte in einer schnelleren und effizienteren Weise vor.
  • Es ist eine Aufgabe der vorliegenden Erfindung eine Speichersteuerung für Speicherkarten und ein Verfahren zum Bestimmen, ob eine von einer Host-Vorrichtung ausgegebene Dateischreib-, Dateilese-, Dateikopier-, Dateibewegungs- und Dateilösch-Anforderung realisiert werden kann, zu schaffen.
  • Diese Aufgabe wird durch eine Speicherkartensteuerung gemäß Anspruch 1 oder ein Verfahren gemäß Anspruch 5, 9, 14, 15 und 16 gelöst.
  • Gemäß einem Aspekt der Erfindung ist eine Speicherkartensteuerung vorgesehen, die einen Speicher umfaßt, der einen FDC-Deskriptor, einen Systembereich, ein Wurzelverzeichnis (die nachstehend als Dateisystemstrukturen bezeichnet werden) und eine Dateizuordnungstabelle für eine Speicherkarte, die durch die Speicherkartensteuerung gesteuert werden soll, umfaßt. Die Speicherkartensteuerung umfaßt auch einen Prozessor, der die Dateizuordnungstabelle und die Dateisystemstrukturen basierend auf Anforderungen, die durch einen Host im Hinblick auf Informationen, die von der Speicherkarte wiedergewonnen werden sollen, oder im Hinblick auf Informationen, die auf der Speicherkarte gespeichert werden sollen, vorgenommen werden, verwaltet.
  • Gemäß einem weiteren Aspekt der Erfindung ist ein Verfahren zum Bestimmen vorgesehen, ob eine Datei-Schreib- Anforderung, die von einer Host-Vorrichtung zum Schreiben einer Datei auf eine Speicherkarte ausgegeben wird, realisiert werden kann. Das Verfahren umfaßt einen Schritt des Erhaltens, durch eine Speicherkartensteuerung, die eine Kommunikationsschnittstelle zwischen der Speicherkarte und der Host-Vorrichtung bereitstellt, einer FAT und von Dateisystemstrukturen, die auf der Speicherkarte gespeichert sind. Das Verfahren umfaßt auch einen Schritt des Speicherns der FAT und der Dateisystemstrukturen auf der Speicherkartensteuerung. Das Verfahren umfaßt ferner einen Schritt des Bestimmens, durch die Speicherkartensteuerung basierend auf Informationen, die von der FAT erhalten wurden, ob die Speicherkarte über ausreichend verfügbaren Speicherplatz verfügt, um die Datei-Schreib-Anforderung, die durch die Host-Vorrichtung vorgenommen wird, zu erfüllen. Das Verfahren umfaßt ferner noch einen Schritt des Informierens der Host-Vorrichtung, ob die Datei-Schreib- Anforderung erfüllt werden kann oder nicht.
  • Gemäß noch einem weiteren Aspekt der Erfindung ist ein Verfahren zum Bestimmen, ob eine Datei-Lese-Anforderung, die von einer Host-Vorrichtung zum Lesen einer Datei von einer Speicherkarte ausgegeben wird, realisiert werden kann, vorgesehen. Das Verfahren umfaßt einen Schritt des Erhaltens, durch die Host-Vorrichtung, von Informationen bezüglich der Namen von Dateien, die auf der Speicherkarte gespeichert sind. Das Verfahren umfaßt auch einen Schritt des Ausgebens, durch die Host-Vorrichtung, der Speicher- Lese-Anforderung, um eine spezielle der Dateien, die auf der Speicherkarte gespeichert sind, zu lesen. Das Verfahren umfaßt ferner einen Schritt des Erhaltens, durch eine Speicherkartensteuerung, die eine Kommunikationsschnittstelle zwischen der Speicherkarte und der Host-Vorrichtung bereitstellt, einer Dateizuordnungstabelle und von Dateisystemstrukturen, die auf der Speicherkarte gespeichert sind, um Speicherpositionen auf der Speicherkarte zu bestimmen, wodurch die Spezielle der Dateien gespeichert wird. Das Verfahren umfaßt ferner noch einen Schritt des Speicherns der FAT und der Dateisystemstrukturen auf der Speicherkartensteuerung. Das Verfahren umfaßt auch einen Schritt des Lieferns der Speziellen der Dateien an die Host-Vorrichtung von der Speicherkarte an die Host-Vorrichtung unter Steuerung der Speicherkartensteuerung.
  • Gemäß nach einem weiteren Aspekt der Erfindung ist ein Verfahren zum Bestimmen, ob eine Datei-Kopier-Anforderung von einer Host-Vorrichtung zum Kopieren einer Datei von einer Speicherkarte realisiert werden kann, vorgesehen. Das Verfahren umfaßt einen Schritt des Erhaltens, durch die Host-Vorrichtung, von Informationen bezüglich der Namen der Datei, die auf die Speicherkarte kopiert werden soll. Das Verfahren umfaßt ferner noch einen Schritt des Bestimmens, wo innerhalb der FAT auf der Speicherkartensteuerung sich die Datei, die kopiert werden soll, befindet, und des Einschätzens, wieviel Platz die Datei besetzt. Das Verfahren umfaßt ferner einen Schritt des Bestimmens, durch die Speicherkartensteuerung, basierend auf Informationen, die von der FAT erhalten werden, ob die Speicherkarte über ausreichend verfügbaren Speicherplatz verfügt, um die Datei-Kopier-Anforderung, die durch die Host-Vorrichtung vorgenommen wird, zu erfüllen. Das Verfahren umfaßt ferner noch einen Schritt des Informierens der Host-Vorrichtung, ob die Datei-Kopier-Anforderung erfüllt werden kann oder nicht. Das Verfahren umfaßt, unter Steuerung der Speicherkartensteuerung, auch einen Schritt des Kopierens der Datei an eine neue Position und des Aktualisierens der FAT und der Dateisystemstrukturen, um die Position der kopierten Datei aufzuzeichnen.
  • Gemäß nach einem weiteren Aspekt der Erfindung ist ein Verfahren zum Bestimmen, ob eine Datei-Bewegen-Anforderung von einer Host-Vorrichtung zum Kopieren einer Datei von einer Speicherkarte realisiert werden kann, vorgesehen. Das Verfahren umfaßt einen Schritt des Erhaltens, durch die Host-Vorrichtung, von Informationen bezüglich der Namen der Datei, die auf die Speicherkarte bewegt werden soll, und der Verzeichnisposition. Das Verfahren umfaßt ferner noch einen Schritt des Bestimmens, wo innerhalb der FAT auf der Speicherkartenspeicherung sich die Datei, die bewegt werden soll, befindet. Das Verfahren umfaßt, unter Steuerung der Speicherkartensteuerung, auch einen Schritt des Bewegens der Datei an eine neue Position und des Aktualisierens der FAT und der Dateisystemstrukturen, um die Position der bewegten Datei aufzuzeichnen.
  • Gemäß noch einem weiteren Aspekt der Erfindung ist ein Verfahren zum Bestimmen, ob eine Datei-Lösch-Anforderung von einer Host-Vorrichtung zum Löschen einer Datei von einer Speicherkarte realisiert werden kann, vorgesehen. Das Verfahren umfaßt einen Schritt des Erhaltens, durch die Host-Vorrichtung, von Informationen bezüglich der Namen der Dateien, die auf der Speicherkarte gelöscht werden sollen. Das Verfahren umfaßt ferner einen Schritt des Bestimmens, wo innerhalb der FAT auf der Speicherkartensteuerung sich die Datei, die gelöscht werden soll, befindet. Das Verfahren umfaßt, unter Steuerung der Speicherkartensteuerung, auch einen Schritt des Aktualisierens der FAT und der Dateisystemstrukturen, um die anforderte Datei zu entfernen.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • Fig. 1 ein Blockdiagramm einer Host-Vorrichtung, die mit einer Speicherkarte kommunikativ verbunden ist, gemäß entweder dem ersten oder zweiten Ausführungsbeispiel der Erfindung;
  • Fig. 2 ein Blockdiagramm einer Speicherkarte gemäß entweder dem ersten oder dem zweiten Ausführungsbeispiel der Erfindung, die eine Speicherkartensteuerung und eine Speicherkarten- Speicherungsspeicherung umfaßt;
  • Fig. 3 ein Blockdiagramm von Elementen, die die Speicherkartensteuerung gemäß dem ersten oder dem zweiten Ausführungsbeispiel der Erfindung bilden;
  • Fig. 4 ein Flußdiagramm der Schritte, die in einer Datei-Schreibe-Zugriffsanforderung, die durch eine Host-Vorrichtung vorgenommen wird, involviert sind;
  • Fig. 5 ein Flußdiagramm der Schritte, die in einer Datei-Lese-Zugriffsanforderung, die durch die Host-Vorrichtung vorgenommen wird, involviert sind;
  • Fig. 6 ein Diagramm einer typischen Dateizuordnungstabelle; und
  • Fig. 7 eine Steuerung, die zwischen einer Host- Vorrichtung und einer Speicherkarte gemäß einem dritten Ausführungsbeispiel der Erfindung vorgesehen ist.
  • Bevorzugte Ausführungsbeispiele der Erfindung werden unter Bezugnahme auf die Zeichnungen ausführlich beschrieben.
  • Wie vorstehend erörtert wurde, ist der herkömmliche Weg des Erhaltens von Informationen von einer Speicherkarte oder des Schreibens von Daten auf eine Speicherkarte über die Host-Vorrichtung, die die FAT der Speicherkarte verwaltet.
  • Fig. 1 zeigt eine Host-Vorrichtung 100, die mit einer Speicherkarte 120 kommunikativ verbunden ist, wodurch die Zugriffsbefehle 110 an die Speicherkarte 120 über Befehlsleitungen gesendet werden oder wo die Befehlsleitungen anzeigen, ob die Daten auf den Datenleitungen ein Befehl oder Daten sind, und wodurch die Daten zwischen der Host- Vorrichtung 100 und der Speicherkarte 120 über Datenleitungen geleitet werden.
  • Die FAT ist eine Tabelle, die typischerweise in einem anfänglichen Sektor oder Abschnitt der Speicherkarte 120 gespeichert ist, und dieselbe wird zusammen mit den Dateisystemstrukturen (FDC-Deskriptor (FDC = flexible disk cartridge = flexible Plattenkassette) und Wurzelverzeichnis) verwendet, um zu verfolgen, welcher Teil einer Datei in welchem Sektor der Speicherkarte 120 gespeichert wird. Die Sektorgröße, die durch die meisten aktuellen Karten verwendet wird, ist typischerweise 512 Bytes, jedoch können andere Sektorgrößen berücksichtigt werden, während dieselben innerhalb des Schutzbereichs der Erfindung, der hierin beschrieben ist, verbleiben. Unter anderen Informationen enthält der FDC-Deskriptor die Informationen, die anzeigen, wie viele Sektoren pro Cluster durch das Dateisystem verwendet werden.
  • Typischerweise weist die Speicherkarte 120 zwei FATs auf, die in ihrem ersten Sektor gespeichert sind. Die zwei FATs sind identisch und können als eine zweispaltige Tabelle betrachtet werden. Fig. 6 zeigt eine typische FAT 500. Die linke Spalte der FAT 500 gibt jedem Cluster eine Zahl (typischerweise hexadezimal) von 0000 bis FFFFhex (65.536 Cluster insgesamt). Diese Größe gilt für eine 16-Bit-FAT. Wenn eine 32-Bit-FAT verwendet wird, dann gibt die linke Spalte jedem Cluster eine Zahl von 0000 bis FFFFFFFFhex. Die rechte Spalte der FAT 500 enthält Informationen über den Status von jedem Sektor. Das heißt, ob der dazugehörige Sektor derzeit Daten speichert oder nicht. Während des Formatierens werden alle schlechten Sektoren mit einem speziellen Statuscode markiert (z. B. FFF7hex für eine 16- Bit-FAT), und gute Sektoren werden mit einem anderen Statuscode markiert (z. B. für eine 16-Bit-FAT, 0000hex für unverwendet und verfügbar, und 0FF8hex bis 0FFFhex, um anzuzeigen, daß dieser Cluster verwendet wird, unverfügbar ist und die letzten der Daten einer bestimmten Datei enthält oder die Zahl des nächsten Clusters enthält, der Daten für eine gegebene Datei enthält).
  • Das 16-Bit-FAT-System oder FAT-16 kann 65.536 (2 16) Positionen adressieren. Daher sollte die Größe der Speicherkartenpartition auf 65.536 × 512 Bytes pro Sektor (Standardsektorgröße)* die Anzahl von Sektoren pro Cluster oder 32 MBytes für einen Sektor pro Cluster-Dateisystem beschränkt sein. Um die Partitionierung für Speicherkarten, die größer als 32 MBytes in ihrer Speicherkapazität sind, zu erhalten, wird ein Clustern angewendet. Das Clustern ist ein Konzept, das einen Satz von zusammenhängenden Sektoren kombiniert und dieselben als eine einzelne Einheit in der FAT behandelt. Die Anzahl von Sektoren in jedem Cluster wird durch die Größe der Partition bestimmt. Bei der FAT-16 kann es nicht mehr als 65. 536 Cluster geben.
  • Windows 98 und spätere Versionen von Windows (z. B. Windows Millennium Edition) unterstützen das FAT32-Dateisystem. Die FAT32 kann Partitionen bis zu einer Größe von 2 Terabytes erzeugen und verwendet kleinere Cluster als die FAT16. Dies führt zu einer effizienteren Verwendung des Platzes auf einer Speicherkarte mit großer Kapazität. Daher wird die FAT32 typischerweise gegenüber der FAT16 für Speicherkarten mit einer größeren Kapazität bevorzugt.
  • Die FAT32-Tabellen sind in ihrer Größe jedoch umfangreicher als die FAT16-Tabellen und benötigen daher länger zum Herunterladen und zum Lesen durch die Host-Vorrichtung 100, die die FAT500 verwalten muß. Zum Beispiel kann eine FAT16- Tabelle etwa 200 Kbyte groß sein, während eine FAT32- Tabelle 2 MByte groß sein kann.
  • Wenn die Host-Vorrichtung 100 eine Lese-Zugriffsanforderung zum Lesen von Daten von der Speicherkarte 120 vornimmt, muß sie zuerst die FAT500 von einem speziellen Bereich der Speicherkarte 100 wiedergewinnen, um zu bestimmen, wo sich eine gewünschte Datei auf der Speicherkarte 120 befindet. Sobald sie die FAT500 von der Speicherkarte 120 (mittels einer Datenübertragung von der Speicherkarte 120 an die Host-Vorrichtung 100 unter Steuerung einer Speicherkartensteuerung) gelesen hat, bestimmt die Host-Vorrichtung 100 die Sektorpositionen, wo die gewünschte Datei auf der Speicherkarte 120 gespeichert wird, und dann sendet die Host-Vorrichtung 100 eine Reihe von Zugriffsbefehlen an die Speicherkartensteuerung, um die Blöcke von Daten von der Speicherkarte 120 wiederzugewinnen, die der gewünschten Datei entsprechen.
  • Die vorliegende Erfindung verbessert die Dateisystemverwaltung, indem sie die Speicherkartensteuerung 120, die auf der Speicherkarte 120 in dem ersten Ausführungsbeispiel umfaßt ist, die FAT, den FDC-Deskriptor und die Wurzelverzeichnis-Verwaltung und in dem zweiten Ausführungsbeispiel die FAT-Verwaltung ausführen läßt, anstatt die Host- Vorrichtung 100 diese Funktionen ausführen zu lassen. In dieser Hinsicht liefert die Speicherkartensteuerung die Befehlsschnittstelle, um in dem ersten Ausführungsbeispiel das Dateiverwaltungsmodul und in dem zweiten Ausführungsbeispiel das FAT-Modul zu emulieren, welche auf der Host- Vorrichtung von herkömmlichen Host-Vorrichtungen softwaremäßig implementiert ist.
  • Fig. 2 zeigt die Speicherkarte 120 gemäß dem ersten und dem zweiten Ausführungsbeispiel der Erfindung. Die Speicherkarte 120 umfaßt eine Speicherkartensteuerung 130 und einen Speicherkarten-Speicherungsspeicher 140. Die Speicherkartensteuerung 130 sendet Datenwiedergewinnungsbefehle an den Speicherkarten-Speicherungsspeicher 140, und die Daten werden zwischen der Speicherkartenspeicherung 130 und dem Speicherkarten-Speicherungsspeicher 140 über Datenleitungen bewegt.
  • Bei der vorliegenden Erfindung wird der Host-Vorrichtung 100 nicht die gesamte FAT 500 zugesendet, bevor eine Zugriffsanforderung gemacht wird. Vielmehr wird die FAT 500 durch die Speicherkartenspeicherung 130 verwaltet, die die FAT 500 deswegen schneller wiedergewinnen kann, weil der Prozessor der Speicherkartenspeicherung 130, im Gegensatz zum Prozessor der Host-Vorrichtung 100 (der andere Funktionen neben der Datenübertragung an und von der Speicherkarte 120 ausführen muß und die in vielen Fällen in der Datenübertragung durch den Host-Bus beschränkt ist) eine höhere Bandbreitenfähigkeit aufweist und für eine Datenübertragung reserviert ist.
  • Bei der vorliegenden Erfindung, wenn die Host-Vorrichtung 100 eine Datei an die Speicherkarte 120 schreiben möchte, anstatt daß die ganze FAT 500 an sie gesendet wird und sie anschließend bestimmen muß, wo ein entsprechender Sektor oder Sektoren zum Speichern der Datei auf der Speicherkarte 120 angeordnet ist, werden diese Funktionen der Speicherkartensteuerung 130 überlassen.
  • Fig. 1 zeigt eine Host-Vorrichtung 100, die einen Zugriffsbefehl 110 zum Schreiben einer Datei an eine Speicherkarte 120 ausgibt. Unter Bezugnahme auf Fig. 2 empfängt die Speicherkartenspeicherung 130 den Zugriffsbefehl, der von der Host-Vorrichtung 100 ausgegeben wird, und erhält die FAT 500 von der Speicherkarte 120 vom Speicherkarten- Speicherungsspeicher 140. Als eine erste Alternative für die FAT-Wiedergewinnung, die vorstehend beschrieben ist, greift die Speicherkartensteuerung 130 auf die FAT 500 beim Hochfahren zu und speichert die FAT 500 im Speicher 210, wodurch die Speicherkartenspeicherung 130 die FAT nicht wieder von dem Speicherkarten-Speicherungsspeicher 140, ansprechend auf einen Zugriffsbefehl, den sie empfängt, erhalten muß. Als eine zweite Alternative zu der FAT- Wiedergewinnung, die vorstehend beschrieben ist, bestimmt die Speicherkartenspeicherung 130 die Position der FAT 500 in dem Speicherkarten-Speicherungsspeicher 140, wodurch die Speicherkartensteuerung 130 nur einen Abschnitt der FAT 500 behält, der im Speicher 210 aktualisiert werden soll.
  • Ein Prozessor (nicht gezeigt, siehe jedoch Fig. 3) der Speicherkartensteuerung 130 bestimmt, ob ein verfügbarer Speicherplatz auf der Speicherkarte 120 existiert, um die erste Datei-Schreib-Anforderung, die durch die Host- Vorrichtung 100 gemacht wird, zu handhaben. Diese Bestimmung wird durch Lesen der FAT 500 und Bestimmen, ob genug unverbrauchter Speicherplatz (z. B. verfügbare Sektoren oder Cluster) auf der Speicherkarte 120 existiert, um die Datei, die von der Host-Vorrichtung 100 gesendet werden soll, zu speichern, vorgenommen.
  • Wenn ausreichend Speicherplatz auf der Speicherkarte 120 existiert, dann kann die Dateiübertragung basierend auf einer Nachricht beginnen, die von der Speicherkartensteuerung 130 an die Host-Vorrichtung 100 gesendet wird, um mit der Dateiübertragung zu beginnen.
  • Die Dateiübertragung kann mit einer von zwei Möglichkeiten beginnen. Bei einem ersten Ausführungsbeispiel wird die FAT 500 vollständig durch die Speicherkartensteuerung 130 verwaltet und gesteuert. In diesem Fall, da die Daten von der Host-Vorrichtung 100 an die Speicherkartensteuerung 130 gesendet werden, gibt die Speicherkartensteuerung 130 Blöcke von Daten zu einem Zeitpunkt aus, um in speziellen Speicherungspositionen in der Speicherkarte 120 gespeichert zu werden, und die Speicherkartensteuerung 130 aktualisiert die FAT 500 entsprechend. In dem ersten Ausführungsbeispiel nutzt die Host-Vorrichtung 100 die FAT 500 in keinster Weise, und ihr wird kein Abschnitt der FAT 500 zugesendet.
  • Bei einem Ausführungsbeispiel der Erfindung, ansprechend auf einen Zugriffsbefehl von der Host-Vorrichtung 100, wie z. B. ein Befehl zum Schreiben einer Datei an die Speicherkarte 120, bestimmt die Speicherkartensteuerung 130, ob verfügbare Speicherplätze auf der Speicherkarte 120 existieren, in dem die FAT 500 der Speicherkarte 120, die ihr von dem Speicherkarten-Speicherungsspeicher 140 bereitgestellt wird, gelesen und analysiert wird. Wenn ausreichend Speicherplatz existiert, gibt die Speicherkartensteuerung 130 Informationen bezüglich der verfügbaren Sektoren oder Cluster auf der Speicherkarte 120 an die Host-Vorrichtung 100 aus, und die Host-Vorrichtung 100 gibt Daten an die Speicherungskartensteuerung 130 aus, um jeden dieser verfügbaren Sektoren oder Cluster auf der Speicherkarte 120 auszufüllen, bis die Datei auf der Speicherkarte 120 vollständig geschrieben ist. Daher werden in dem zweiteti Ausführungsbeispiel sehr kleine Abschnitte der FAT 500 (oder Daten, die aus sehr kleinen Abschnitten der FAT 500 extrahiert werden) an die Host-Vorrichtung 100 geliefert.
  • Bei sowohl dem ersten als auch dem zweiten Ausführungsbeispiel wird nicht die gesamte FAT an die Host-Vorrichtung 100 gesendet, wodurch eine Beschleunigung des Dateiübertragungsprozesses erfolgt. Indem die FAT-Verwaltung auf die Speicherkartensteuerung 130 plaziert wird, steht es auch der Host-Vorrichtung 100 frei, andere Aufgaben, die sie ausführen muß, auszuführen.
  • Bei dem ersten oder zweiten Ausführungsbeispiel weist die Speicherkartensteuerung 130 einen Speicher oder eine Speicherungsfähigkeit wie einen statischen Direktzugriffsspeicher oder einen reservierten Bereich innerhalb des Speicherkarten-Speicherungsspeichers 140 auf, der verwendet wird, um die FAT zu speichern, die von der Speicherkarte 120 erhalten wird. Fig. 3 zeigt die Speicherkarten- Speicherung 130 gemäß entweder dem ersten oder dem zweiten Ausführungsbeispiel, die einen Prozessor 220 und einen Speicher 210 umfaßt. Der Prozessor 220 verwaltet die FAT und reagiert auf Zugriffsbefehle, die von der Host- Vorrichtung 100 empfangen werden, um entweder Daten von der Speicherkarte 120 zu lesen oder um Daten an die Speicherkarte 120 zu schreiben. Die Speicherkartensteuerung 130 umfaßt auch eine Host-Schnittstelle 230, die eine Schnittstelle für Daten und Befehle, die zwischen der Speicherkartensteuerung 130 und der Host-Vorrichtung 100 gesendet werden, vorsieht. Die Speicherkartensteuerung 130 umfaßt ferner eine Speicherungsschnittstelle 240, die eine Schnittstelle für Daten und Befehle vorsieht, die zwischen der Speicherkartensteuerung 130 und dem Speicherkarten- Speicherungsspeicher 140 gesendet werden.
  • Im ersten Ausführungsbeispiel spricht der Prozessor 210 auf den gleichen Satz von Zugriffsbefehlen an, die durch eine herkömmliche Host-Vorrichtung ausgegeben werden, und der Prozessor 210 behält die FAT, den FDC und das Wurzelverzeichnis der Speicherkarte 120 bei und aktualisiert dieselben, während die Zugriffsbefehle erfüllt werden. Diese Zugriffsbefehle umfassen: 1) Schreiben von N Sektoren von Daten auf eine Speicherkarte, wobei bei Position A begonnen wird, 2) Lesen von M Sektoren von Daten von einer Speicherkarte, wobei bei Position B begonnen wird, 3) Befreien von Z-Sektoren von zusammenhängendem Speicherplatz auf der Speicherkarte, wobei bei Position C begonnen wird. Die Zugriffsbefehle, die von der Host-Vorrichtung ausgegeben werden, umfassen auch: 1) Auflisten von Dateien auf der Speicherkarte, 2) Bewegen von Dateien auf der Speicherkarte, 3) Löschen von Dateien auf der Speicherkarte und 4) Kopieren von Dateien von der Speicherkarte.
  • Fig. 4 zeigt die Schritte, die in einer Datei-Schreibe- Anforderung involviert sind. Gemäß dem ersten Ausführungsbeispiel der Erfindung fordert die Host-Vorrichtung 100 in einem ersten Schritt 310 an, eine Datei einer speziellen Größe, z. B. 1,5 MByte, auf die Speicherkarte 120 zu schreiben. Bei einem zweiten Schritt 320 empfängt die Speicherkartenspeicherung 130 diese Anforderung und erhält dann entweder die FAT der Speicherkarte 120 von einem vorbestimmten Sektor oder Sektoren der Speicherkarte 120, oder sie erhält die FAT vom SRAM der Speicherkartensteuerung 130, wenn die FAT bereits dorthin übertragen worden ist.
  • Bei einem dritten Schritt 330 bestimmt der Prozessor 210 der Speicherkartensteuerung 130, ob die Speicherkarte 120 über ausreichend verfügbaren Speicherplatz verfügt, um die Datei-Schreibe-Anforderung zu erfüllen, die durch die Host- Vorrichtung 100 vorgenommen wird. Dabei führt die Speicherkartenspeicherung 130 Funktionen aus, die durch die herkömmliche Host-Vorrichtung 100 beim Bestimmen, ob ausreichend Speicherplatz auf der Speicherkarte 120 existiert, ausgeführt wurden.
  • Auch im dritten Schritt 330 informiert die Speicherkartensteuerung 130 die Host-Vorrichtung 100, ob die Datei- Schreibe-Anforderung erfüllt werden kann oder nicht. Wenn dies der Fall ist, wie in Schritt 340 gezeigt ist, dann sendet die Host-Vorrichtung 100 die Datei an die Speicherkartensteuerung 130, die dieselbe in die verfügbaren Sektoren auf der Speicherkarte 120 schreibt, während gleichzeitig die FAT der Speicherkarte 120 aktualisiert wird, um anzuzeigen, daß jene verfügbaren Sektoren nicht mehr länger verfügbar sind (sowie gleichzeitig der Name der Datei, die in jenen Sektoren gespeichert ist, angezeigt wird). Wenn dies nicht der Fall ist, wie in Schritt 350 gezeigt ist, dann schreibt die Host-Vorrichtung 100 die Datei nicht an die Speicherkarte 120.
  • Bei dem zweiten Ausführungsbeispiel zeigt die Speicherkartenspeicherung 130 der Host-Vorrichtung 100 die verfügbaren Speicherungspositionen und Größen an, und die Host- Vorrichtung 100 würde auf diese Informationen hin agieren, um dann, mittels der Speicherkartenspeicherung 130, die Sektoren der Daten für die Datei an die Speicherkarte 120 zu übertragen. Die Host-Vorrichtung 100 ist nicht mit der gesamten FAT versehen, sondern nur mit den notwendigen Informationen, so daß sie die entsprechenden Sektoren der Daten konsekutiv an die Speicherkarte 120 senden kann (z. B. sendet die Host-Vorrichtung 100 die gesamte Datei, z. B. 150 Sektoren für eine 75 KByte-Datei, als einen kontinuierlichen Datenstrom an die Speicherkarte, wodurch die Speicherkartensteuerung das Schreiben der Datei in die entsprechenden, verfügbaren Cluster der Speicherkarte übernehmen würde).
  • Während die Speicherkartensteuerung 130 die FAT-Verwaltung und FAT-Aktualisierung ausführt, ist bei dem zweiten Ausführungsbeispiel die Host-Vorrichtung 100 mit den notwendigen Informationen über die Daten einer Datei versehen, die auf der Speicherkarte 120 gespeichert ist, so daß die Host- Vorrichtung 100 den entsprechenden Satz von Zugriffsbefehlen ausgeben kann, um diese Datei wiederzugewinnen.
  • Bei dem zweiten Ausführungsbeispiel wird die gesamte FAT- Verwaltung und FAT-Aktualisierung durch die Speicherkartensteuerung 130 vorgenommen, und daher muß die Host- Vorrichtung 100 nur die Datei ausgeben, die an die Speicherkarte 120 geschrieben werden soll, und die Host- Vorrichtung 100 ist nicht mit FAT-Informationen bezüglich der Speicherpositionen (z. B. Sektoren oder Cluster) der Speicherkarte 120, auf die die Datei durch die Speicherkartenspeicherung 130 geschrieben wird, versehen. Die Speicherkartenspeicherung 130 behält diese Informationen exklusiv bei.
  • Fig. 5 zeigt die Schritte, die in einer Datei-Lese- Anforderung gemäß der beiden Ausführungsbeispielen der Erfindung involviert sind. Bei einem ersten Schritt 410 gibt die Host-Vorrichtung 100 eine Anforderung aus, um eine Datei von der Speicherkarte 120 zu lesen. Bei einem zweiten Schritt 420 empfängt die Speicherkartenspeicherung 130 diese Anforderung und erhält die FAT von der Speicherkarte 120 (falls sie sie zuvor nicht bereits erhalten hätte). Bei einem dritten Schritt 430 erhält die Speicherkartenspeicherung 130 die dazugehörigen FAT-Informationen für die angeforderte Datei von der FAT und liefert diese Informationen an die Host-Vorrichtung 100. Bei einem vierten Schritt 440 gibt die Host-Vorrichtung die Zugriffsbefehle aus, um Abschnitte von gespeicherten Daten in der Speicherkarte 100 zu erhalten, die der angeforderten Datei entsprechen.
  • Bei einem dritten Ausführungsbeispiel der Erfindung ist die Speicherkarte eine herkömmliche Speicherkarte, wodurch die Funktionen der Speicherkartensteuerung 130, die vorstehend im Hinblick auf das erste und das zweite Ausführungsbeispiel beschrieben sind, mittels einer Steuereinheit bereitgestellt werden, die zwischen einer Speicherkarte 710 und der Host-Vorrichtung 100 angeordnet ist. Fig. 7 zeigt eine solche Konfiguration, wodurch die Steuerungseinheit 700 die FAT-Verwaltungsfunktionen bereitstellt, die durch die Speicherkartensteuerung 130 von entweder dem ersten oder dem zweiten Ausführungsbeispiel vorgenommen werden. Bei dem dritten Ausführungsbeispiel ist die Steuerungseinheit 700 von der Host-Vorrichtung 100 und von der Speicherkarte 710 getrennt.
  • Daher sind eine Speicherkartenspeicherung, die die Dateizuordnungstabelle einer Speicherkarte verwaltet, und ein Verfahren zum Verwalten einer Dateizuordnungstabelle einer Speicherkarte gemäß mehreren Ausführungsbeispielen der vorliegenden Erfindung beschrieben worden.

Claims (16)

1. Speicherkartensteuerung (130), die folgende Merkmale aufweist:
einen Speicher (210), der eine Dateizuordnungstabelle (500) und Dateisystemsstrukturen für eine Speicherkarte (120), die durch die Speicherkartensteuerung (130) gesteuert werden soll, speichert; und
einen Prozessor (220), der die Dateizuordnungstabelle und Dateisystemstrukturen basierend auf Anforderungen, die durch eine Host-Vorrichtung (100) im Hinblick auf Informationen, die von der Speicherkarte wiedergewonnen werden sollen, oder im Hinblick auf Informationen, die auf der Speicherkarte gespeichert werden sollen, gemacht werden, verwaltet.
2. Speicherkartensteuerung (130) gemäß Anspruch 1, bei der der Speicher (210) ein Direktzugriffsspeicher oder ein Speicherungsspeicher der Speicherkarte (120) ist.
3. Speicherkartenspeicherung (130) gemäß Anspruch 2, bei der der Direktzugriffspeicher ein Direktzugriffsspeicher ist.
4. Speicherkartensteuerung (130) gemäß einem der Ansprüche 1 bis 3, bei der die Host-Vorrichtung (100) entweder ein persönlicher digitaler Assistent, eine Digitalkamera oder ein Mobiltelephon ist.
5. Verfahren zum Bestimmen, ob eine Datei-Schreibe- Anforderung, die von einer Host-Vorrichtung (100) zum Schreiben einer Datei in eine Speicherkarte ausgegeben wird, realisiert werden kann, wobei das folgende Schritte aufweist:
Erhalten, durch eine Speicherkartensteuerung (130), die eine Kommunikationsschnittstelle zwischen der Speicherkarte (120) und der Host-Vorrichtung (100) liefert, einer Dateizuordnungstabelle (FAT) (500) und von Dateisystemstrukturen, die auf der Speicherkarte (120) gespeichert sind;
Speichern der FAT (500) und der Dateisystemstrukturen bei der Speicherkartensteuerung (130);
Bestimmen, durch die Speicherkartensteuerung (130) basierend auf Informationen, die von der FAT (500) erhalten werden, ob die Speicherkarte (120) ausreichend verfügbaren Speicherplatz aufweist, um die Datei- Schreibe-Anforderung zu erfüllen, die durch die Host- Vorrichtung (100) gemacht wird; und
Informieren der Host-Vorrichtung (100), ob die Datei- Schreibe-Anforderung erfüllt werden kann oder nicht.
6. Verfahren gemäß Anspruch 5, bei dem der Schritt des Speicherns durch ein Speichern der FAT (500) und der Dateisystemstrukturen auf einen Direktzugriffsspeicher der Speicherkartensteuerung (130) ausgeführt wird.
7. Verfahren gemäß Anspruch 6, bei dem der Direktzugriffsspeicher ein Direktzugriffsspeicher oder ein Speicherungsspeicher der Speicherkarte (120) ist.
8. Verfahren gemäß einem der Ansprüche 5 bis 7, bei dem die Host-Vorrichtung entweder ein persönlicher digitaler Assistent, eine Digitalkamera, eine digitale Musikabspielvorrichtung, eine Videokamera oder ein Mobiltelephon ist.
9. Verfahren zum Bestimmen, ob eine Datei-Lese- Anforderung, die von einer Host-Vorrichtung (100) zum Lesen einer Datei von einer Speicherkarte (120) ausgegeben wird, realisiert werden kann, wobei das Verfahren folgende Schritte aufweist:
Erhalten, durch die Host-Vorrichtung (100), von Informationen bezüglich der Namen von Dateien, die auf der Speicherkarte (120) gespeichert sind;
Ausgeben, durch die Host-Vorrichtung (100), der Speicher-Lese-Anforderung zum Lesen einer Speziellen der Dateien, die auf der Speicherkarte (120) gespeichert sind;
Erhalten, durch eine Speicherkartensteuerung (130), die eine Kommunikationsschnittstelle zwischen der Speicherkarte (120) und der Host-Vorrichtung (100) liefert, einer Dateizuordnungstabelle (FAT) (500) und von Dateisystemstrukturen, die auf der Speicherkarte (120) gespeichert sind, um Speicherpositionen auf der Speicherkarte zu bestimmen, wodurch die Spezielle der Dateien gespeichert wird;
Speichern der FAT (500) und der Dateisystemstrukturen auf der Speicherkartenspeicherung (130); und
Liefern der Speziellen der Dateien von der Speicherkarte (120) an die Host-Vorrichtung (100) unter Steuerung der Speicherkartensteuerung (130).
10. Verfahren gemäß Anspruch 9, bei dem der Schritt des Speicherns durch das Speichern der FAT (500) und der Dateisystemstrukturen auf einen Direktzugriffsspeicher der Speicherkartensteuerung (130) ausgeführt wird.
11. Verfahren gemäß Anspruch 10, bei dem der Direktzugriffsspeicher ein Direktzugriffsspeicher oder ein Speicherungsspeicher der Speicherkarte (120) ist.
12. Verfahren gemäß einem der Ansprüche 9 bis 11, bei dem die Host-Vorrichtung entweder ein persönlicher digitaler Assistent, eine Digitalkamera oder ein Mobiltelephon ist.
13. Verfahren gemäß einem der Ansprüche 9 bis 12, bei dem der Schritt des Lieferns folgende Teilschritte aufweist:
Informieren der Host-Vorrichtung (100) bezüglich aller Speicherpositionen auf der Speicherkarte (120), daß die Spezielle der Dateien gespeichert ist; und
Liefern von Befehlen, durch die Host-Vorrichtung (100), an die Speicherkartensteuerung (130), um zusammenhängende Speicherpositionen der Speicherkarte (120) zu erhalten; und
Erhalten der zusammenhängenden Speicherpositionen von der Speicherkarte (120) an die Host-Vorrichtung (100) unter Steuerung der Speicherkartensteuerung (130).
14. Verfahren zum Bestimmen, ob eine Datei-Kopier- Anforderung von einer Host-Vorrichtung (100) zum Kopieren einer Datei von einer Speicherkarte (120) realisiert werden kann, wobei das Verfahren folgende Schritte aufweist:
Erhalten, durch die Host-Vorrichtung (100), von Informationen bezüglich der Namen der Datei, die auf die Speicherkarte (120) kopiert werden soll;
Bestimmen, wo innerhalb einer Dateizuordnungstabelle (FAT) (500) auf der Speicherkartensteuerung (130) sich die Datei, die kopiert werden soll, befindet, und Bewerten, wieviel Platz die Datei besetzt;
Bestimmen, durch eine Speicherkartensteuerung (130), basierend auf Informationen, die von der FAT (500) erhalten werden, ob die Speicherkarte (120) ausreichend verfügbaren Speicherplatz aufweist, um die Datei- Kopier-Anforderung zu erfüllen, die durch die Host- Vorrichtung (100) gemacht wird;
Informieren der Host-Vorrichtung (100), ob die Datei- Kopier-Anforderung erfüllt werden kann oder nicht; und
Kopieren, unter Steuerung der Speicherkartensteuerung (130), der Datei an eine neue Position und Aktualisieren der FAT (500) und der Dateisystemstrukturen, um die Position der kopierten Datei aufzuzeichnen.
15. Verfahren zum Bestimmen, ob eine Datei-Bewege- Anforderung von einer Host-Vorrichtung (100) zum Kopieren einer Datei von einer Speicherkarte (120) realisiert werden kann, wobei das Verfahren folgende Schritte aufweist:
Erhalten, durch die Host-Vorrichtung (100), von Informationen bezüglich der Namen der Datei, die auf der Speicherkarte (120) bewegt werden soll, und der Verzeichnisposition;
Bestimmen, wo innerhalb einer Dateizuordnungstabelle (500) auf der Speicherkartensteuerung (130) sich die Datei, die bewegt werden soll, befindet;
Bewegen, unter Steuerung einer Speicherkartenspeicherung (130), der Datei an eine neue Position und Aktualisieren der FAT (500), eines FDC-Deskriptors und eines Wurzelverzeichnisses, um die Position der bewegten Datei aufzuzeichnen.
16. Verfahren zum Bestimmen, ob eine Datei-Löschen- Anforderung von einer Host-Vorrichtung (100) zum Löschen einer Datei von einer Speicherkarte (120) realisiert werden kann, wobei das Verfahren folgende Schritte aufweist:
Erhalten, durch die Host-Vorrichtung (100), von Informationen bezüglich der Namen von Dateien, die gelöscht werden sollen, auf der Speicherkarte (120);
Bestimmen, wo innerhalb einer Dateizuordnungstabelle (FAT) (500) auf einer Speicherkartensteuerung (130) sich die Datei, die gelöscht werden soll, befindet; und
Aktualisieren, unter Steuerung der Speicherkartensteuerung (130), der FAT (500) und der Dateisystemstrukturen, um die angeforderte Datei zu entfernen.
DE10243586A 2001-10-01 2002-09-19 Speichersteuerung für eine Speicherkarten-Verwaltet-Datei-Zuordnungstabelle Ceased DE10243586A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/966,271 US6823417B2 (en) 2001-10-01 2001-10-01 Memory controller for memory card manages file allocation table

Publications (1)

Publication Number Publication Date
DE10243586A1 true DE10243586A1 (de) 2003-04-24

Family

ID=25511136

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10243586A Ceased DE10243586A1 (de) 2001-10-01 2002-09-19 Speichersteuerung für eine Speicherkarten-Verwaltet-Datei-Zuordnungstabelle

Country Status (5)

Country Link
US (1) US6823417B2 (de)
JP (1) JP2003187203A (de)
DE (1) DE10243586A1 (de)
GB (1) GB2383859B (de)
TW (1) TW571243B (de)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7108975B2 (en) * 2001-09-21 2006-09-19 Regents Of The University Of Michigan Atlastin
US8095503B2 (en) * 2002-03-29 2012-01-10 Panasas, Inc. Allowing client systems to interpret higher-revision data structures in storage systems
AU2003202528A1 (en) * 2002-04-01 2003-10-23 Sony Corporation Track management method and apparatus for managing tracks on a storage medium
US7702849B2 (en) * 2004-09-03 2010-04-20 Nokia Corporation Method and apparatus for dividing and storing data into plural files
JP4406339B2 (ja) * 2004-09-21 2010-01-27 株式会社東芝 コントローラ、メモリカード及びその制御方法
US20060090058A1 (en) 2004-10-26 2006-04-27 Chng Yongpeng Method and data storage system for providing multiple partition support
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
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
US20060184718A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
KR100827227B1 (ko) * 2005-06-24 2008-05-07 삼성전자주식회사 저성능 저장장치의 drm 권리 객체를 효율적으로관리하는 방법 및 장치
US7558906B2 (en) * 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
US7552271B2 (en) * 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block management
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
US7627733B2 (en) * 2005-08-03 2009-12-01 Sandisk Corporation Method and system for dual mode access for storage devices
US7949845B2 (en) 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7669003B2 (en) 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
US7984084B2 (en) * 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
US7350049B1 (en) * 2005-09-13 2008-03-25 Vimicro Corporation Method and apparatus for managing access to a file allocation table
US7702821B2 (en) 2005-09-15 2010-04-20 Eye-Fi, Inc. Content-aware digital media storage device and methods of using the same
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
ATE518190T1 (de) * 2005-12-09 2011-08-15 Sandisk Il Ltd Verfahren zur flash-speicher-verwaltung
US20070136671A1 (en) * 2005-12-12 2007-06-14 Buhrke Eric R Method and system for directing attention during a conversation
US7747837B2 (en) 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
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
US7689807B2 (en) * 2006-02-09 2010-03-30 Sigmatel, Inc. Mass storage device, mass storage controller and methods for use therewith
CN100485681C (zh) * 2006-03-23 2009-05-06 北京握奇数据系统有限公司 智能卡存储系统及该系统中文件创建管理的方法
JP4676378B2 (ja) * 2006-05-18 2011-04-27 株式会社バッファロー データ記憶装置およびデータ記憶方法
US20100005225A1 (en) * 2006-07-26 2010-01-07 Panasonic Corporation Nonvolatile memory device, nonvolatile memory system, and host device
JP5145227B2 (ja) * 2006-07-26 2013-02-13 パナソニック株式会社 不揮発性記憶装置、不揮発性記憶システム、及びホスト機器
JP2008070929A (ja) * 2006-09-12 2008-03-27 Matsushita Electric Ind Co Ltd メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
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
US20080140724A1 (en) 2006-12-06 2008-06-12 David Flynn Apparatus, system, and method for servicing object requests within a storage controller
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
JP4991320B2 (ja) * 2007-01-12 2012-08-01 株式会社東芝 ホスト装置およびメモリシステム
US7966355B2 (en) * 2007-02-13 2011-06-21 Modu Ltd. Interface for extending functionality of memory cards
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
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
US9514141B2 (en) * 2007-12-28 2016-12-06 Sandisk Technologies Llc Memory device and method for content virtualization
DE102008059352A1 (de) * 2008-11-27 2010-06-02 Giesecke & Devrient Gmbh Speicherzugriff auf einen portablen Datenträger
US8880776B2 (en) * 2008-12-16 2014-11-04 Sandisk Il Ltd. Data access at a storage device using cluster information
US8307457B2 (en) * 2009-01-29 2012-11-06 Lg Electronics Inc. Method and terminal for receiving rights object for content on behalf of memory card
WO2010087567A1 (en) * 2009-01-29 2010-08-05 Lg Electronics Inc. Method for installing rights object for content in memory card
KR20100088051A (ko) * 2009-01-29 2010-08-06 엘지전자 주식회사 메모리 카드에 컨텐츠에 대한 사용권리를 설치하는 방법
US20110082989A1 (en) * 2009-10-01 2011-04-07 Solid State System Co., Ltd. Structure and method for making a storage card
CN102014214A (zh) * 2010-12-23 2011-04-13 广东欧珀移动通信有限公司 一种手持终端开关机及其存储卡识别方法
US9141527B2 (en) 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
US9116634B2 (en) * 2011-06-10 2015-08-25 International Business Machines Corporation Configure storage class memory command
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
JP5976458B2 (ja) * 2012-08-23 2016-08-23 株式会社東芝 Icカード、及び、携帯可能電子装置
US10642505B1 (en) 2013-01-28 2020-05-05 Radian Memory Systems, Inc. Techniques for data migration based on per-data metrics and memory degradation
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
US9229854B1 (en) 2013-01-28 2016-01-05 Radian Memory Systems, LLC Multi-array operation support and related devices, systems and software
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
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US9535628B2 (en) * 2013-10-10 2017-01-03 Apple Inc. Memory system with shared file system
JP6252341B2 (ja) * 2014-04-28 2017-12-27 大日本印刷株式会社 電子情報記憶媒体、情報処理方法、及び情報処理プログラム
CN105095136A (zh) * 2014-05-22 2015-11-25 士林电机厂股份有限公司 一种数据储存媒体上所存储数据传输软件及数据传输方法
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
WO2016192025A1 (en) 2015-06-01 2016-12-08 SZ DJI Technology Co., Ltd. Systems and methods for memory architecture
US10296236B2 (en) * 2015-07-01 2019-05-21 Pure Storage, Inc. Offloading device management responsibilities from a storage device in an array of storage devices
US10552058B1 (en) 2015-07-17 2020-02-04 Radian Memory Systems, Inc. Techniques for delegating data processing to a cooperative memory controller
US10282097B2 (en) * 2017-01-05 2019-05-07 Western Digital Technologies, Inc. Storage system and method for thin provisioning
US11068773B2 (en) * 2019-07-11 2021-07-20 Capital One Services, Llc Memory management in memory augmented deep neural networks
US11175984B1 (en) 2019-12-09 2021-11-16 Radian Memory Systems, Inc. Erasure coding techniques for flash memory
CN111290707B (zh) * 2020-01-17 2023-06-27 深圳市芯智科技有限公司 一种在小系统行车记录仪上实现特定存储的方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535369A (en) 1992-10-30 1996-07-09 Intel Corporation Method for allocating memory in a solid state memory disk
JPH07295866A (ja) 1994-04-20 1995-11-10 Casio Comput Co Ltd データ処理装置
US5715455A (en) 1995-05-18 1998-02-03 International Business Machines Corporation Apparatus and method for storing file allocation table efficiently in memory
JPH09319645A (ja) 1996-05-24 1997-12-12 Nec Corp 不揮発性半導体記憶装置
JPH09330598A (ja) * 1996-06-10 1997-12-22 Mitsubishi Electric Corp 記憶装置及びその特性劣化状態判定方法
JPH10124381A (ja) * 1996-10-21 1998-05-15 Mitsubishi Electric Corp 半導体記憶装置
US6704852B2 (en) * 2001-11-16 2004-03-09 Key Technology Corporation Control device applicable to flash memory card and method for building partial lookup table

Also Published As

Publication number Publication date
GB2383859B (en) 2005-08-10
US6823417B2 (en) 2004-11-23
GB2383859A (en) 2003-07-09
GB0221948D0 (en) 2002-10-30
US20030065866A1 (en) 2003-04-03
JP2003187203A (ja) 2003-07-04
TW571243B (en) 2004-01-11

Similar Documents

Publication Publication Date Title
DE10243586A1 (de) Speichersteuerung für eine Speicherkarten-Verwaltet-Datei-Zuordnungstabelle
DE60032531T2 (de) Aufzeichnungsverfahren, Verwaltungsverfahren und Aufzeichnungsgerät
DE69031494T2 (de) Verfahren zum lesen und schreiben von dateien auf nichtlöschbaren speichermedien
DE60038364T2 (de) Computersystem und Speicherauszugsdatenverwaltungsverfahren
DE69127752T2 (de) System zur freigabe des raumes gelöschter dateien für ein dynamisch abbildendes virtuelles datenspeichersubsystem
DE60319407T2 (de) Verfolgen der am häufigsten gelöschten blöcke eines nichtflüchtigen speichersystems
DE602005001041T2 (de) Speicherauszugssystem
DE69925760T2 (de) Dateibetriebsverfahren zur Aufzeichnung von Echtzeit-Aufzeichnungs/Wiedergabeinformation
DE60317551T2 (de) Aufrechterhaltung gleichförmiger löschhäufigkeit in einem nichtflüchtigen speichersystem
DE69936246T2 (de) Nichtflüchtiger Speicher, Aufzeichnungsgerät und -verfahren
DE69530263T2 (de) Verfahren und Gerät zur Aufzeichnung und Verarbeitung von Daten
DE69516538T2 (de) Speicherung von rechnerdaten
DE69129689T2 (de) Dateienverwaltungsverfahren
DE69636330T2 (de) Verfahren für On-line- und Echzeit-Datenmigration
DE69700574T2 (de) Verfahren zum Cache-Speichern von Netzwerk- und CD-ROM-Zugriffen unter Verwendung einer lokalen Festplatte
DE60129025T2 (de) Speicherbereichszuordnung in einem dateisystem zum beschreiben beliebiger bereiche
DE60217883T2 (de) Verfahren zum schreiben von daten in einen nicht-flüchtigen speicher
DE60319563T2 (de) Verwaltung der anzahl von löschungen in einem nicht-fluchtigem speicher
EP0857345B1 (de) Verfahren und schaltungsanordnung zur speicherung von diktaten bei einem digitalen diktiergerät
DE602005002668T2 (de) Verfahren zur Datenspeicherungskapazitätzuweisung und Verwaltung unter Verwendung eines oder mehreren Datenspeicherungslaufwerken
DE60016355T2 (de) Vorrichtung, Verfahren und System zum Lesen/Schreiben von Daten, und Speichermedium für ein Lese-/Schreibprogramm
DE102005063250A1 (de) Datenspeicherungssteuersystem, Speicher- und Rechnersystem und Betriebsverfahren
DE102006005876A1 (de) Flashspeicher-Steuervorrichtung, Vorrichtung zum Steuern eines Flashspeichers, Flashspeicher-System und Verfahren zum Verwalten von Abbildungsdaten eines Flashspeichers
EP3084638A1 (de) Posix-kompatibles dateisystem, verfahren zum erzeugen einer dateiliste und speichervorrichtung
DE102005019842A1 (de) System und Verfahren zum sequentiellen Schreiben von Daten in einen Flash-Speicher

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE

8131 Rejection