DE102022100592A1 - Betriebsverfahren eines Universal-Flash-Storage-Hosts und Betriebsverfahren eines Universal-Flash-Storage-Systems - Google Patents

Betriebsverfahren eines Universal-Flash-Storage-Hosts und Betriebsverfahren eines Universal-Flash-Storage-Systems Download PDF

Info

Publication number
DE102022100592A1
DE102022100592A1 DE102022100592.5A DE102022100592A DE102022100592A1 DE 102022100592 A1 DE102022100592 A1 DE 102022100592A1 DE 102022100592 A DE102022100592 A DE 102022100592A DE 102022100592 A1 DE102022100592 A1 DE 102022100592A1
Authority
DE
Germany
Prior art keywords
ufs
write buffer
turbo write
ufs device
upiu
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.)
Pending
Application number
DE102022100592.5A
Other languages
English (en)
Inventor
Youngjoon JANG
Minji Kim
Seungil Kim
Hyung-Kyun Byun
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Priority claimed from KR1020210031915A external-priority patent/KR20220113635A/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102022100592A1 publication Critical patent/DE102022100592A1/de
Pending legal-status Critical Current

Links

Images

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

Ein Betriebsverfahren eines Universal-Flash-Storage(UFS)-Hosts, der konfiguriert ist, eine UFS-Vorrichtung zu steuern, enthält: Konfigurieren eines Turboschreibpuffers der UFS-Vorrichtung; Senden einer ersten Abfrageanforderungs-UFS-Protokollinformationseinheit (UPIU), die Rekonfigurationsinformationen zum Turboschreibpuffer enthält, an die UFS-Vorrichtung während die UFS-Vorrichtung angetrieben wird; und Empfangen einer ersten Antwort-UPIU, die der ersten Abfrageanforderungs-UPIU zugeordnet ist, von der UFS-Vorrichtung, wobei die erste Abfrageanforderungs-UPIU eine Anforderung ist, die verursacht, dass eine Größe des Turboschreibpuffers der UFS-Vorrichtung von einer ersten Größe zu einer zweiten Größe, die sich von der ersten Größe unterscheidet, geändert wird.

Description

  • Querverweis auf ähnliche Anmeldungen
  • Diese Anmeldung beansprucht die Priorität unter U.S.C. § 119 der jeweils am 5. Februar 2021 und 11. März 2021 beim Koreanischen Amt für Geistiges Eigentum eingereichten koreanischen Patentanmeldungen Nr. 10-2021-0016934 und 10-2021-0031915 , deren Offenbarungen durch Verweis in ihrer Gesamtheit hierin aufgenommen sind.
  • Hintergrund
  • 1. Gebiet
  • Mindestens einige Ausführungsbeispiele beziehen sich auf einen Halbleiterspeicher und insbesondere auf ein Betriebsverfahren eines Universal-Flash-Storage(UFS)-Hosts und ein Betriebsverfahren eines UFS-Systems.
  • 2. Verwandte Technik
  • Eine Halbleiterspeichervorrichtung wird als eine flüchtige Speichervorrichtung eingestuft, in der gespeicherte Daten verloren gehen, wenn eine Leistungsversorgung unterbrochen wird, wie ein statischer Direktzugriffsspeicher (SRAM) oder ein dynamischer Direktzugriffsspeicher (DRAM), oder wird als eine nichtflüchtige Speichervorrichtung eingestuft, in der gespeicherte Daten gehalten werden, selbst wenn eine Leistungsversorgung unterbrochen wird, wie eine Flash-Speichervorrichtung, ein Phasenübergangs-RAM (PRAM), ein magnetischer RAM (MRAM), ein resistiver RAM (RRAM) oder ein ferroelektrischer RAM (FRAM).
  • Die Flash-Speichervorrichtung ist weit verbreitet als ein Speichermedium mit hoher Kapazität in einer Berechnungsvorrichtung. Heutzutage werden verschiedene Technologien zum Unterstützen eines Hochgeschwindigkeitsbetriebs der Flash-Speichervorrichtung entwickelt. Zum Beispiel kann eine Universal-Flash-Storage(UFS)-Schnittstelle, die durch JEDEC definiert ist, eine Betriebsgeschwindigkeit unterstützen, die höher ist als jene einer herkömmlichen Flash-Speicherbasierten Speicherungsvorrichtung.
  • Kurzfassung
  • Mindestens einige Ausführungsbeispiele stellen ein Betriebsverfahren eines UFS-Hosts mit verbesserter Performance und ein Betriebsverfahren eines UFS-Systems bereit.
  • Ein Betriebsverfahren eines Universal-Flash-Storage(UFS)-Hosts, der konfiguriert ist, eine UFS-Vorrichtung zu steuern, enthält: Konfigurieren eines Turboschreibpuffers der UFS-Vorrichtung; Senden einer ersten Abfrageanforderungs-UFS-Protokollinformationseinheit (UPIU), die Rekonfigurationsinformationen zum Turboschreibpuffer enthält, an die UFS-Vorrichtung während die UFS-Vorrichtung angetrieben wird; und Empfangen einer ersten Antwort-UPIU, die der ersten Abfrageanforderungs-UPIU zugeordnet ist, von der UFS-Vorrichtung, wobei die erste Abfrageanforderungs-UPIU eine Anforderung ist, die verursacht, dass eine Größe des Turboschreibpuffers der UFS-Vorrichtung von einer ersten Größe zu einer zweiten Größe, die sich von der ersten Größe unterscheidet, geändert wird.
  • Nach mindestens einem Ausführungsbeispiel enthält ein Betriebsverfahren eines Universal-Flash-Storage(UFS)-Hosts, der konfiguriert ist, eine UFS-Vorrichtung zu steuern: Konfigurieren eines Turboschreibpuffers an der UFS-Vorrichtung, und Rekonfigurieren des Turboschreibpuffers während die UFS-Vorrichtung angetrieben wird. Jede von Speicherzellen eines ersten physischen Speicherraums, der dem Turboschreibpuffer entspricht, aus physischen Speicherräumen der UFS-Vorrichtung ist konfiguriert, N Bits zu speichern, ein zweiter physischer Speicherraum, der einem Nutzerspeicher entspricht, aus den physischen Speicherräumen der UFS-Vorrichtung ist konfiguriert, M Bits zu speichern, N ist eine natürliche Zahl, und M ist eine natürliche Zahl größer als N.
  • Nach mindestens einem Ausführungsbeispiel enthält ein Betriebsverfahren eines Universal-Flash-Storage(UFS)-Systems, das eine UFS-Vorrichtung und einen UFS-Host enthält: Konfigurieren, durch den UFS-Host, eines Turboschreibpuffers der UFS-Vorrichtung, Senden, durch den UFS-Host, eines Schreibbefehls und von Schreibdaten an die UFS-Vorrichtung, Schreiben, durch die UFS-Vorrichtung, der Schreibdaten in den Turboschreibpuffer und Senden einer Antwort auf den Schreibbefehl an den UFS-Host, Flushen bzw. Verschieben, durch die UFS-Vorrichtung, der im Turboschreibpuffer gespeicherten Schreibdaten in den Nutzerspeicher, und Rekonfigurieren, durch den UFS-Host, des Turboschreibpuffers durch Ändern von mindestens einem eines Modus, eines Typs und einer Größe des Turboschreibpuffers der UFS-Vorrichtung.
  • Figurenliste
  • Die oben genannten und weitere Merkmale und Vorteile der Ausführungsbeispiele werden durch eine ausführliche Beschreibung der Ausführungsbeispiele mit Bezug auf die beigefügten Zeichnungen deutlich. Die beigefügten Zeichnungen sollen Ausführungsbeispiele darstellen und sollen nicht als den beabsichtigten Umfang der Ansprüche beschränkend interpretiert werden. Die beigefügten Zeichnungen sollen nicht als maßstabsgetreu erachtet werden, sofern nicht explizit angemerkt.
    • 1 ist ein Blockdiagramm, das ein Speichersystem nach mindestens einem Ausführungsbeispiel darstellt.
    • 2 ist ein Diagramm, das einen physischen Speicherraum einer UFS-Vorrichtung aus 1 darstellt.
    • 3 und 4 sind Diagramme zum Beschreiben eines Konfigurationstyps eines Turboschreibpuffers aus 2.
    • 5 bis 7 sind Diagramme zum Beschreiben von Modi zum Konfigurieren eines Turboschreibpuffers einer UFS-Vorrichtung aus 1.
    • 8 ist ein Flussdiagramm, das einen Betrieb eines UFS-Systems aus 1 darstellt.
    • 9 ist ein Flussdiagramm, das einen Betrieb eines UFS-Systems aus 1 darstellt.
    • 10 und 11 sind Flussdiagramme, die eine Operation zum Rekonfigurieren eines Turboschreibpuffers darstellen, die mit Bezug auf 9 beschrieben wird.
    • 12 ist ein Flussidagramm, das einen Betrieb eines UFS-Systems aus 1 darstellt.
    • 13 bis 17 sind Diagramme zum Beschreiben eines rekonfigurierten Turboschreibpuffers nach mindestens einem Ausführungsbeispiel.
    • 18 bis 20 sind Diagramme zum Beschreiben eines Formfaktors einer UFS-Karte.
    • 21 ist ein Diagramm, das ein System darstellt, auf das eine Speicherungsvorrichtung nach mindestens einem Ausführungsbeispiel angewandt wird.
  • Ausführliche Beschreibung
  • Wie in diesem Gebiet der erfinderischen Konzepte üblich, werden Ausführungsformen in Bezug auf funktionale Blöcke, Einheiten und/oder Module beschrieben und in den Zeichnungen dargestellt. Ein Fachmann wird begrüßen, dass diese Blöcke, Einheiten und/oder Module durch elektronische (oder optische) Schaltungen, wie Logikschaltungen, diskrete Komponenten, Mikroprozessoren, festverdrahtete Schaltungen, Speicherelemente, Verdrahtungsverbindungen und dergleichen, die unter Verwendung von halbleiterbasierten Herstellungstechniken oder anderen Herstellungstechnologiegen ausgebildet werden können, physisch umgesetzt werden. In dem Fall, in dem die Blöcke, Einheiten und/oder Module durch Mikroprozessoren oder Ähnlichem umgesetzt werden, können diese unter Verwendung von Software (z.B. Mikrocode) programmiert werden, um verschiedene hierin beschriebene Funktionen durchzuführen, und können durch Firmware und/oder Software optional angetrieben werden. Alternativ kann jeder Block, jede Einheit und/oder jedes Modul durch dedizierte Hardware oder als eine Kombination aus dedizierter Hardware zum Durchführen einiger Funktionen und einem Prozessor (z.B. ein oder mehrere programmierte Mikroprozessoren und zugehörige Schaltkreise) zum Durchführen anderer Funktionen umgesetzt sein. Außerdem kann jeder Block, jede Einheit und/oder jedes Modul der Ausführungsformen physisch in zwei oder mehr interagierende und diskrete Blöcke, Einheiten und/oder Module aufgeteilt werden, ohne dabei vom Umfang der erfinderischen Konzepte abzuweichen. Ferner können die Blöcke, Einheiten und/oder Module der Ausführungsformen physisch zu mehreren komplexen Blöcken, Einheiten und/oder Modulen kombiniert werden, ohne dabei vom Umfang der erfinderischen Konzepte abzuweichen.
  • 1 ist ein Blockdiagramm, das ein Speichersystem nach mindestens einem Ausführungsbeispiel darstellt. Bezugnehmend auf 1 kann ein Speichersystem 1000 ein UFS-System sein, das mit einem UFS-Standard übereinstimmt, der durch JEDEC (Joint Electron Device Engineering Council) veröffentlicht wird. Dementsprechend kann das Speichersystem 1000 in der vorliegenden Offenbarung auch als das UFS-System 1000 bezeichnet werden. Um Ausführungsformen der vorliegenden Offenbarung einfacher zu beschreiben, wird unten angenommen, dass das Speichersystem 1000 ein UFS-System ist, das mit dem UFS-Standard übereinstimmt. Mindestens einige Ausführungsbeispiele sind jedoch nicht darauf beschränkt. Zum Beispiel kann das Speichersystem 1000 jedes beliebige andere Speichersystem enthalten, das mit verschiedenen anderen Standards oder jedem beliebigen anderen Schnittstellenprotokoll übereinstimmt. Das Speichersystem 1000 kann einen UFS-Host 1100, eine UFS-Vorrichtung 1200 und eine UFS-Schnittstelle 1300 enthalten. Der UFS-Host 1100 und die UFS-Vorrichtung 1200 können durch die UFS-Schnittstelle 1300 miteinander verbunden sein.
  • Der UFS-Host 1100 kann einen UFS-Hostcontroller 1110, eine Anwendung 1120, einen UFS-Treiber 1130, einen Host-Speicher 1140 und eine UFS-Zwischenverbindungs(UIC)-Schicht 1150 enthalten. Die UFS-Vorrichtung 1200 kann einen UFS-Vorrichtungscontroller 1210, einen nichtflüchtigen Speicher 1220, eine Speicherschnittstelle 1230, einen Vorrichtungsspeicher 1240, eine UIC-Schicht 1250 und einen Regler 1260 enthalten. Der nichtflüchtige Speicher 1220 kann eine Mehrzahl an Speichereinheiten 1221 enthalten. Jede der Speichereinheiten 1221 kann einen 2D-NAND-Flash-Speicher oder einen 3D-V-NAND-Flash-Speicher enthalten oder kann einen anderen nichtflüchtigen Speichertyp enthalten, wie einen PRAM und/oder einen RRAM. Der UFS-Vorrichtungscontroller 1210 und der nichtflüchtige Speicher 1220 können durch die Speicherschnittstelle 1230 miteinander verbunden sein. Die Speicherschnittstelle 1230 kann derart umgesetzt sein, dass sie mit dem Standard, wie Toggle oder ONFI (Open NAND Flash Interface), übereinstimmt.
  • Die Anwendung 1120 kann eine Vielzahl an Programmen angeben, die auf dem UFS-Host 1100 angetrieben werden. Die Anwendung 1120 kann ein Programm bezeichnen, das die Kommunikation mit der UFS-Vorrichtung 1200 zum Verwenden von Funktionen der UFS-Vorrichtung 1200 erfordert. Für eine Eingabe/Ausgabe, die der UFS-Vorrichtung 1200 zugeordnet ist, kann die Anwendung 1120 eine Eingabe-Ausgabe-Anforderung IOR an den UFS-Treiber 1130 senden. Die Eingabe-Ausgabe-Anforderung IOR kann eine Datenleseanforderung, eine Datenschreibanforderung und/oder eine Datenlöschanforderung (oder Datenabkopplungsanforderung) bezeichnen, ist jedoch nicht darauf beschränkt.
  • Der UFS-Treiber 1130 kann den UFS-Hostcontroller 1110 durch eine UFS-HCI (Hostcontrollerschnittstelle) verwalten. Der UFS-Treiber 1130 kann eine Eingabe-Ausgabe-Anforderung, die von der Anwendung 1120 erzeugt wird, in einen UFS-Befehl umwandeln, der durch den UFS-Standard definiert wird, und kann den UFS-Befehl an den UFS-Hostcontroller 1110 senden. Eine Eingabe-Ausgabe-Anforderung kann in eine Mehrzahl an UFS-Befehlen umgewandelt werden. Ein UFS-Befehl kann ein Befehl sein, der durch den SCSI-Standard im Allgemeinen definiert wird, kann jedoch ein Befehl sein, der für den UFS-Standard oder eine UFS-Protokollinformationseinheit (z.B. eine UFS-Protokollinformationseinheit (UPIU)), die durch den UFS-Standard definiert wird, dediziert ist.
  • Der UFS-Hostcontroller 1110 kann ein Verarbeitungsschaltkreis, wie Hardware, die Logikschaltungen enthält; eine Hardware/Software-Kombination, die eine Software ausführt; oder eine Kombination daraus, sein oder jenen enthalten. Zum Beispiel kann der Verarbeitungsschaltkreis konkreter enthalten, ist jedoch nicht darauf beschränkt: eine oder mehrere von einer zentralen Verarbeitungseinheit (CPU), einem Prozessorkern, einer arithmetischen Logikeinheit (ALU), einem Digitalsignalprozessor, einem Mikrocomputer, einem Field Programmable Gate Array (FPGA), einer programmierbaren Logikeinheit, einem Mikroprozessor, einer anwendungsspezifischen integrierten Schaltung (ASIC) etc. Der Verarbeitungsschaltkreis des UFS-Hostcontrollers 1110 kann konfiguriert sein, mittels einer Hardware und/oder Software (z.B. Firmware) jede beliebige Operation durchzuführen und/oder zu steuern, welche in dieser Spezifikation als von einem UFS-Hostcontroller, einem UFS-Host (z.B. dem UFS-Host 1100) oder einem Element davon durchgeführt beschrieben wird. Ferner kann der UFS-Hostcontroller 1110 in der vorliegenden Spezifikation auch als UFS-Hostcontroller-Schaltkreis 1110 bezeichnet werden.
  • Der UFS-Hostcontroller 1110 kann den vom UFS-Treiber 1130 umgewandelten UFS-Befehl durch die UIC-Schicht 1150 und die UFS-Schnittstelle 1300 an die UIC-Schicht 1250 der UFS-Vorrichtung 1200 senden. In diesem Prozess kann ein UFS-Host-Register 1111 des UFS-Hostcontrollers 1110 eine Rolle einer Befehlswarteschlange (CQ) durchführen.
  • Die UIC-Schicht 1150 des UFS-Hosts 1100 kann eine MIPI M-PHY 1151 und eine MIPI UniPro 1152 enthalten und die UIC-Schicht 1250 der UFS-Vorrichtung 1200 kann ebenfalls eine MIPI M-PHY 1251 und eine MIPI UniPro 1252 enthalten.
  • Die UFS-Schnittstelle 1300 kann eine Taktsignalleitung, die einen Bezugstakt REF_CLK überträgt, eine Rücksetzsignalleitung, die ein Hardware-Rücksetzsignal RESET_n für die UFS-Vorrichtung 1200 überträgt, ein Paar an Eingabesignalleitungen, die ein Differenzialeingabesignalpaar DIN_T und DIN_C übertragen, und ein Paar an Ausgabesignalleitungen, die ein Differenzialausgabesignalpaar DOUT_T und DOUT_C übertragen, enthalten.
  • Ein Frequenzwert des Bezugstakts REF_CLK, der vom UFS-Host 1100 an die UFS-Vorrichtung 1200 übermittelt wird, kann einer der folgenden Frequenzwerte sein: 19,2 MHz, 26 MHz, 38,4 MHz und 52 MHz. Mindestens einige Ausführungsbeispiele sind jedoch nicht darauf beschränkt. Der UFS-Host 1100 kann einen Frequenzwert des Bezugstakts REF_CLK selbst während eines Betriebs, das heißt, selbst während Daten zwischen dem UFS-Host 1100 und der UFS-Vorrichtung 1200 ausgetauscht werden, ändern. Die UFS-Vorrichtung 1200 kann durch Verwenden eines Phasenregelkreises (PLL) oder dergleichen Takte verschiedener Frequenzen aus dem Bezugstakt REF_CLK, der vom UFS-Host 1100 bereitgestellt wird, erzeugen. Außerdem kann der UFS-Host 1100 einen Wert einer Datenrate zwischen dem UFS-Host 1100 und der UFS-Vorrichtung 1200 durch einen Frequenzwert des Bezugstakts REF_CLK einstellen. Das heißt, ein Wert der Datenrate kann abhängig von einem Frequenzwert des Bezugstakts REF_CLK bestimmt werden.
  • Die UFS-Schnittstelle 1300 kann mehrere Übertragungsstränge tragen und jeder Übertragungsstrang kann mit einem Differenzialpaar umgesetzt sein. Zum Beispiel kann die UFS-Schnittstelle 1300 einen oder mehrere Empfangsübertragungsstränge und einen oder mehrere Sendeübertragungsstränge enthalten. In 1 kann ein Paar an Leitungen, die das Differenzialeingabesignalpaar DIN_T und DIN_C übertragen, einen Empfangsübertragungsstrang ausbilden und ein Paar an Leitungen, die das Differenzialausgabesignalpaar DOUT_T und DOUT_C übertragen, kann einen Sendeübertragungsstrang ausbilden. Ein Sendeübertragungsstrang und ein Empfangsübertragungsstrang sind in 1 dargestellt, die Anzahl an Sendeübertragungssträngen und die Anzahl an Empfangsübertragungssträngen kann jedoch geändert werden. Nach mindestens einem Ausführungsbeispiel können der Empfangsübertragungsstrang oder das Differenzialeingabesignalpaar DIN T und DIN C einer Downstream-Übertragungsstrangeingabe entsprechen und der Sendeübertragungsstrang oder das Differenzialausgabesignalpaar DOUT_T und DOUT_C können einer Upstream-Übertragungsstrangausgabe entsprechen.
  • Der Empfangsübertragungsstrang und der Sendeübertragungsstrang können eine Datenübertragung auf eine serielle Kommunikationsweise ermöglichen und eine Struktur, in welcher der Empfangsübertragungsstrang und der Sendeübertragungsstrang voneinander getrennt sind, ermöglicht, dass der UFS-Host 1100 und die UFS-Vorrichtung 1200 auf eine Vollduplexweise miteinander kommunizieren. Das heißt, selbst wenn die UFS-Vorrichtung 1200 durch den Empfangsübertragungsstrang Daten vom UFS-Host 1100 empfängt, kann die UFS-Vorrichtung 1200 durch den Sendeübertragungsstrang Daten an den UFS-Host 1100 senden. Außerdem können Steuerdaten, wie ein Befehl vom UFS-Host 1100 an die UFS-Vorrichtung 1200, und Nutzerdaten, die der UFS-Host 1100 beabsichtigt, im nichtflüchtigen Speicher 1220 der UFS-Vorrichtung 1200 zu speichern, oder beabsichtigt, aus dem nichtflüchtigen Speicher 1220 zu lesen, durch denselben Übertragungsstrang übermittelt werden. Somit ist ferner zusätzlich zu einem Empfangsübertragungsstrang und einem Sendeübertragungsstrang womöglich kein separater Übertragungsstrang für eine Datenübertagung zwischen dem UFS-Host 1100 und der UFS-Vorrichtung 1200 bereitgestellt.
  • Der UFS-Vorrichtungscontroller 1210 kann ein Verarbeitungsschaltkreis, wie Hardware, die Logikschaltungen enthält; eine Hardware/Software-Kombination, die eine Software ausführt; oder eine Kombination daraus, sein oder jenen enthalten. Zum Beispiel kann der Verarbeitungsschaltkreis konkreter enthalten, ist jedoch nicht darauf beschränkt: eine oder mehrere von einer zentralen Verarbeitungseinheit (CPU), einem Prozessorkern, einer arithmetischen Logikeinheit (ALU), einem Digitalsignalprozessor, einem Mikrocomputer, einem Field Programmable Gate Array (FPGA), einer programmierbaren Logikeinheit, einem Mikroprozessor, einer anwendungsspezifischen integrierten Schaltung (ASIC) etc. Der Verarbeitungsschaltkreis des UFS-Vorrichtungscontrollers 1210 kann konfiguriert sein, mittels einer Hardware und/oder Software (z.B. Firmware) jede beliebige Operation durchzuführen und/oder zu steuern, welche in dieser Spezifikation als von einem UFS-Vorrichtungscontroller, einer UFS-Vorrichtung (z.B. der UFS-Vorrichtung 1200) oder einem Element davon durchgeführt beschrieben wird. Ferner kann der UFS-Vorrichtungscontroller 1210 in der vorliegenden Spezifikation auch als UFS-Vorrichtungscontroller-Schaltkreis 1210 bezeichnet werden.
  • Der UFS-Vorrichtungscontroller 1210 der UFS-Vorrichtung 1200 kann einen Gesamtbetrieb der UFS-Vorrichtung 1200 steuern. Der UFS-Vorrichtungscontroller 1210 kann den nichtflüchtigen Speicher 1220 durch eine Logikeinheit (LU) 1211, die eine Logikdatenspeicherungseinheit ist, verwalten. Die Anzahl an LUs 1211 kann „8“ sein, ist jedoch nicht darauf beschränkt. Der UFS-Vorrichtungscontroller 1210 kann eine Flash-Übersetzungsschicht (FTL) enthalten und kann eine Logikdatenadresse, die vom UFS-Host 1100 bereitgestellt wird, zum Beispiel eine Logikblockadresse (LBA), durch Verwenden von Adressenzuordnungsinformationen der FTL in eine physikalische Datenadresse umwandeln, zum Beispiel eine physikalische Blockadresse (PBA). Im UFS-System 1000 kann ein Logikblock zum Speichern von Nutzerdaten eine Größe eines vorgegeben Bereichs aufweisen. Zum Beispiel kann eine Mindestgröße eines Logikblocks auf 4 KByte eingestellt sein.
  • Wenn ein Befehl vom UFS-Host 1100 durch die UIC-Schicht 1250 in die UFS-Vorrichtung 1200 eingegeben wird, kann der UFS-Vorrichtungscontroller 1210 eine Operation durchführen, die dem Eingabebefehl entspricht; wenn die Operation abgeschlossen ist, kann der UFS-Vorrichtungscontroller 1210 eine vollständige Antwort an den UFS-Host 1100 senden.
  • Nach mindestens einem Ausführungsbeispiel, wenn der UFS-Host 1100 beabsichtigt, Nutzerdaten in der UFS-Vorrichtung 1200 zu speichern, kann der UFS-Host 1100 einen Datenschreibbefehl an die UFS-Vorrichtung 1200 senden. Wenn eine Übertragungsbereitschafts(RTT)-Antwort von der UFS-Vorrichtung 1200 empfangen wird, kann der UFS-Host 1100 Nutzerdaten an die UFS-Vorrichtung 1200 senden. Der UFS-Vorrichtungscontroller 1210 kann die übermittelten Nutzerdaten vorübergehend im Vorrichtungsspeicher 1240 speichern und kann die in der Speichervorrichtung 1240 vorübergehend gespeicherten Nutzerdaten basierend auf den Adressenzuordnungsinformationen der FTL an einer ausgewählten Position der nichtflüchtigen Speichervorrichtung 1220 speichern.
  • Nach mindestens einem Ausführungsbeispiel, wenn der UFS-Host 1100 beabsichtigt, in der UFS-Vorrichtung 1200 gespeicherte Nutzerdaten zu lesen, kann der UFS-Host 1100 einen Datenlesebefehl an die UFS-Vorrichtung 1200 senden. Als Reaktion auf den Datenlesebefehl kann der UFS-Vorrichtungscontroller 1210 Nutzerdaten aus dem nichtflüchtigen Speicher 1220 lesen und kann die gelesenen Nutzerdaten vorübergehend im Vorrichtungsspeicher 1240 speichern. In diesem Leseprozess kann der UFS-Vorrichtungscontroller 1210 einen Fehler der gelesenen Nutzerdaten durch Verwenden einer eingebetteten Fehlerkorrekturcode(ECC)-Maschine (nicht dargestellt) erfassen und korrigieren. Ausführlich kann die ECC-Maschine Paritätsbits für Schreibdaten, die in den nichtflüchtigen Speicher 1220 geschrieben werden sollen, erzeugen und die somit erzeugten Paritätsbits können zusammen mit den Schreibdaten im nichtflüchtigen Speicher 1220 gespeichert werden. Wenn Daten aus dem nichtflüchtigen Speicher 1220 gelesen werden, kann die ECC-Maschine einen Fehler der Lesedaten durch Verwenden von Paritätsbits, die zusammen mit den Lesedaten aus dem nichtflüchtigen Speicher 1220 gelesen werden, korrigieren und kann die fehlerkorrigierten Lesedaten ausgeben.
  • Der UFS-Vorrichtungscontroller 1210 kann die im Vorrichtungsspeicher 1240 vorübergehend gespeicherten Nutzerdaten an den UFS-Host 1100 senden. Der UFS-Vorrichtungscontroller 1210 kann ferner eine Advanced-Encryption-Standard(AES)-Maschine (nicht dargestellt) enthalten. Die AES-Maschine kann mindestens eine Verschlüsselungsoperation und eine Entschlüsselungsoperation an in den UFS-Vorrichtungscontroller 1210 eingegeben Daten durch Verwenden eines Symmetrieschlüsselalgorithmus durchführen.
  • Nach mindestens einem Ausführungsbeispiel kann die Kommunikation zwischen dem UFS-Host1100 und der UFS-Vorrichtung 1200 basierend auf einer UFS-Protokollinformationseinheit (UPIU) durchgeführt werden.
  • Der UFS-Host 1100 kann einen an die UFS-Vorrichtung 1200 zu übertragenden Befehl abhängig von eine Reihenfolge im UFS-Host-Register 1111 speichern, das imstande ist, als eine Befehlswarteschlange zu fungieren, und kann die Befehle abhängig von der Reihenfolge an die UFS-Vorrichtung 1200 senden. In diesem Fall, selbst während der vorherige Befehl noch immer von der UFS-Vorrichtung 1200 verarbeitet wird, das heißt, selbst bevor die Benachrichtigung empfangen wird, dass der vorherige Befehl von der UFS-Vorrichtung 1200 vollständig verarbeitet worden ist, kann der UFS-Host 1100 einen nächsten Befehl, welcher in der Befehlswarteschlange aussteht, an die UFS-Vorrichtung 1200 senden und die UFS-Vorrichtung 1200 kann außerdem den nächsten Befehl vom UFS-Host 1100 empfangen, selbst während sie den vorherigen Befehl verarbeitet. Die maximale Anzahl an Befehlen, die in der Befehlswarteschlange gespeichert werden kann, das heißt, eine Tiefe der Befehlswarteschlange, kann zum Beispiel 32 sein. Außerdem kann die Befehlswarteschlange als ein kreisförmiger Warteschlangentyp umgesetzt werden, der einen Start und ein Ende von darin eingereihten Befehlen jeweils durch einen Head Pointer und einen Tail Pointer angibt.
  • Jede der Mehrzahl an Speichereinheiten 1221 kann ein Speicherzellenarray (nicht dargestellt) und eine Steuerschaltung (nicht dargestellt), die einen Betrieb des Speicherzellenarrays steuert, enthalten. Das Speicherzellenarray kann ein zweidimensionales Speicherzellenarray oder ein dreidimensionales Speicherzellenarray enthalten. Das Speicherzellenarray kann eine Mehrzahl an Speicherzellen enthalten und jede Speicherzelle kann eine Single-Level-Cell (SLC) sein, die 1-Bit-Informationen speichert, oder kann eine Zelle sein, die Informationen von zwei oder mehr Bits speichert, wie eine Multi-Level-Cell (MLC), eine Triple-Level-Cell (TLC) oder eine Quadruple-Level-Cell (QLC). Das dreidimensionale Speicherzellenarray kann einen vertikalen NAND-String enthalten, welcher derart vertikal ausgerichtet ist, dass mindestens eine Speicherzelle über einer anderen Speicherzelle angeordnet ist.
  • VCC, VCCQ1, VCCQ2 etc. können als eine Leistungsversorgungsspannung in die UFS-Vorrichtung 1200 eingegeben werden. Die Leistungsversorgungsspannung VCC, die eine Hauptleistungsversorgungsspannung der UFS-Vorrichtung 1200 ist, kann einen Wert von 2,4 bis 3,6 V aufweisen. Die Leistungsversorgungsspannung VCCQ1, die eine Leistungsversorgungsspannung zum Zuführen einer Spannung eines niedrigen Bereichs ist, kann hauptsächlich für den UFS-Vorrichtungscontroller 1210 sein und kann einen Wert von 1,14 bis 1,26 V aufweisen. Die Leistungsversorgungsspannung VCCQ2, die eine Leistungsversorgungsspannung zum Zuführen einer Spannung eines Bereichs ist, der niedriger ist als die Leistungsversorgungsspannung VCC und höher ist als die Leistungsversorgungsspannung VCCQ1, kann hauptsächlich für eine Eingabe/Ausgabe-Schnittstelle sein, wie das MIPI M-PHY 1251, und kann einen Wert von 1,7 bis 1,95 V aufweisen. Die Leistungsversorgungsspannungen VCC, VCCQ1 und VCCQ2 können durch den Regler 1260 an jeweilige Komponenten der UFS-Vorrichtung 1200 zugeführt werden. Der Regler 1260 kann mit einem Satz an Einheitsreglern umgesetzt sein, die jeweils mit den oben genannten Leistungsversorgungsspannung VCC, VCCQ1 und VCCQ2 verbunden sind (d.h. die Einheitsregler können jeweils mit unterschiedlichen Leistungsversorgungsspannungen verbunden sein).
  • Die UFS-Vorrichtung 1200 kann eine Turboschreibfunktion unterstützen und die Turboschreibfunktion kann unter der Steuerung des UFS-Hosts 1100 aktiviert oder deaktiviert werden. Wenn die Turboschreibfunktion unter der Steuerung des UFS-Hosts 1100 aktiviert wird, kann die UFS-Vorrichtung 1200 eine Turboschreiboperation durchführen. Die Turboschreiboperation kann basierend auf einem SLC-Pufferverfahren oder verschiedenen Verfahren, die eine schnelle Schreibgeschwindigkeit unterstützen, durchgeführt werden und kann eine verbesserte Performance (insbesondere eine verbesserte Schreibperformance) der UFS-Vorrichtung 1200 bereitstellen. Die Turboschreiboperation wird mit Bezug auf die beigefügten Zeichnungen ausführlicher beschrieben.
  • Unten können der Einfachheit der Beschreibung halber die Begriffe „Turboschreibfunktion“, „Turboschreibpuffer“ etc. verwendet sein. Die Turboschreibfunktion kann jedoch mit verschiedenen Namen bezeichnet werden, wie SLC-Caching (oder Pseudo-SLC-Caching) und ein Schreib-Booster mit einem ähnlichen Betriebsverfahren, und der Turboschreibpuffer kann mit verschiedenen Namen bezeichnet werden, wie ein nichtflüchtiger SLC-Cache und ein SLC-Puffer, die konfiguriert sind, die Turboschreibfunktion zu unterstützen.
  • 2 ist ein Diagramm, das einen physischen Speicherraum einer UFS-Vorrichtung aus 1 darstellt. Nach mindestens einem Ausführungsbeispiel kann ein physischer Speicherraum PST der UFS-Vorrichtung 1200 einen physischen Bereich des nichtflüchtigen Speichers 1220 angeben, in dem Daten tatsächlich gespeichert werden. Das heißt, der physische Speicherraum PST kann einen Speicher bezeichnen, der vom UFS-Host 1100 als eine Kapazität der UFS-Vorrichtung 1200 identifiziert werden kann, und kann einen Speicher bezeichnen, der von einer internen Operation der UFS-Vorrichtung 1200 verwendet werden kann.
  • Nach mindestens einem Ausführungsbeispiel kann die UFS-Vorrichtung 1200 ferner jeden beliebigen anderen Speicherraum (z.B. einen Raum, der vom UFS-Host 1100 nicht als eine Kapazität der UFS-Vorrichtung 1200 erkannt wird, wie ein reservierter Bereich, ein Metabereich zum Speichern von Metadaten oder ein Overprovisioning-Bereich zum Verbessern einer Performance) sowie den in 2 dargestellten physischen Speicherraum PST enthalten. Der Einfachheit der Beschreibung halber wird eine dem anderen Speicherraum zugeordnete zusätzliche Beschreibung jedoch weggelassen (oder reduziert und/oder minimiert), und Ausführungsformen der vorliegenden Offenbarung werden mit Bezug auf den physischen Speicherraum PST, in dem Nutzerdaten gespeichert werden, beschrieben.
  • Bezugnehmend auf 1 und 2 kann der physische Speicherraum PST der UFS-Vorrichtung 1200 einen Turboschreibpufferbereich TWB (der Einfachheit der Beschreibung halber nachfolgend als ein „Turboschreibpuffer“ bezeichnet) und einen Nutzerspeicherbereich UST (der Einfachheit der Beschreibung halber nachfolgend als ein „Nutzerspeicher“ bezeichnet) enthalten.
  • Der Turboschreibpuffer TWB kann einem Abschnitt des physischen Speicherraums PST des nichtflüchtigen Speichers 1220 in der UFS-Vorrichtung 1200 entsprechen. Der Nutzerspeicher UST kann dem verbleibenden Abschnitt des physischen Speicherraums PST des nichtflüchtigen Speichers 1220 in der UFS-Vorrichtung 1200 entsprechen oder kann dem gesamten physischen Speicherraum PST des nichtflüchtigen Speichers 1220 entsprechen.
  • Nach mindestens einem Ausführungsbeispiel kann jede von Speicherzellen, die dem Turboschreibpuffer TWB entsprechen, als eine Single-Level-Cell (SLC) verwendet werden und jede von Speicherzellen, die dem Nutzerspeicher UST entsprechen, kann als eine Triple-Level-Cell (TLC) verwendet werden. Alternativ kann jede der Speicherzellen, die dem Turboschreibpuffer TWB entsprechen, konfiguriert sein, n-Bit-Daten zu speichern (wobei n eine positive ganze Zahl ist), und jede der Speicherzellen, die dem Nutzerspeicher UST entsprechen, kann konfiguriert sein, m-Bit-Daten zu speichern (wobei m eine positive ganze Zahl größer als n ist). Im Allgemeinen, wenn sich die Anzahl an zu speichernden Bits pro Speicherzelle verringert, werden eine Programmiergeschwindigkeit oder eine Schreibgeschwindigkeit höher. Das heißt, der Turboschreibpuffer TWB kann einen Bereich angeben, der eine Schreibgeschwindigkeit unterstützt, die höher ist als jene des Nutzerspeichers UST.
  • Nach mindestens einem Ausführungsbeispiel kann ein Verhältnis der Anzahl an Speicherblöcken oder Speicherzellen eines ersten Bereichs (d.h. entsprechend dem Turboschreibpuffer TWB) des physischen Speicherraums PST der UFS-Vorrichtung 1200 und der Anzahl an Speicherblöcken oder Speicherzellen eines zweiten Bereichs (d.h. entsprechend dem Nutzerspeicher UST) des physischen Speicherraums PST der UFS-Vorrichtung 1200 abhängig von einer Kapazität und einem Umsetzungsweg (z.B. SLC, MLC, TLC und QLC) des Turboschreibpuffers TWB und des Nutzerspeichers UST bestimmt werden. Nach mindestens einem Ausführungsbeispiel, wie unten beschrieben wird, können eine Kapazität und ein Umsetzungsweg des Turboschreibpuffers TWB und des Nutzerspeichers UST durch Vorrichtungsattribute oder einen Vorrichtungsdeskriptor eingestellt werden.
  • Nach mindestens einem Ausführungsbeispiel kann die UFS-Vorrichtung 1200 eine normale Schreibfunktion und eine Turboschreibfunktion unterstützen. Wenn die Turboschreibfunktion durch den UFS-Host 1100 aktiviert wird, kann die UFS-Vorrichtung 1200 die Turboschreiboperation durchführen. Wenn die Turboschreibfunktion durch den UFS-Host 1100 deaktiviert wird, kann die UFS-Vorrichtung 1200 die normale Schreiboperation durchführen.
  • Zum Beispiel in dem Fall, in dem die Turboschreibfunktion aktiviert ist, kann die UFS-Vorrichtung 1200 erst die vom UFS-Host 1100 empfangenen Schreibdaten in den Turboschreibpuffer TWB schreiben. In diesem Fall, da die vom UFS-Host 1100 empfangenen Schreibdaten in den Turboschreibpuffer TWB geschrieben werden (z.B. dort hinein SLC-programmiert werden), kann eine schnelle Betriebsgeschwindigkeit sichergestellt werden, verglichen mit dem Fall, in dem die normale Schreiboperation (z.B. TLC-Programmieren) am Nutzerspeicher UST durchgeführt wird. Somit kann die UFS-Vorrichtung 1200 eine schnellere Antwort an den UFS-Host 1100 senden.
  • In dem Fall, in dem die Turboschreibfunktion deaktiviert ist, schreibt die UFS-Vorrichtung 1200 womöglich nicht zuerst die Schreibdaten in den Turboschreibpuffer TWB. Abhängig von einer intern vorgegebenen Bedingung (z.B. einer normalen Schreibbedingung) kann die UFS-Vorrichtung 1200 die Schreibdaten direkt in den Nutzerspeicher UST schreiben oder kann die Schreibdaten in den Turboschreibpuffer TWB schreiben. Wie die Schreibdaten geschrieben werden sollen, kann basierend auf verschiedenen Faktoren, wie dem Datenaustausch des Turboschreibpuffers TWB und einem Zustand des physischen Speicherraums PST, abhängig von der normalen Schreibbedingung bestimmt werden.
  • Nach mindestens einem Ausführungsbeispiel kann die normale Schreibbedingung definiert sein, zunächst die Schreibdaten in den Nutzerspeicher UST zu schreiben. Der Einfachheit der Beschreibung halber wird angenommen, dass die normale Schreibbedingung derart definiert ist, dass Schreibdaten bevorzugt in den Nutzerspeicher UST geschrieben werden. Mindestens einige Ausführungsbeispiele der erfinderischen Konzepte sind jedoch nicht darauf beschränkt. Nach mindestens einem Ausführungsbeispiel können in den Turboschreibpuffer TWB geschriebene Daten abhängig von einem expliziten Befehl vom UFS-Host 1100 oder einer intern vorgegeben Bedingung in den Nutzerspeicher UST geflusht bzw. verschoben werden oder dorthin abwandern.
  • Nach mindestens einem Ausführungsbeispiel kann der UFS-Host 1100 eine Flushoperation bzw. Verschiebungsoperation der UFS-Vorrichtung 1200 durch Einstellen eines Werts eines Turboschreibpuffer-Verschiebungsaktivierungsfelds (z.B. „fTurboWriteBufferFlushEn“) eines FLAG der UFS-Vorrichtung 1200 erlauben oder verbieten. Die UFS-Vorrichtung 1200 kann die Verschiebungsoperation basierend auf einem Wert des Turboschreibpuffer-Verschiebungsaktivierungsfelds des FLAG starten. Dass ein Wert des Turboschreibpuffer-Verschiebungsaktivierungsfelds des FLAG „0b“ ist, kann nach mindestens einem Ausführungsbeispiel eine Deaktivierung oder ein Verbot der Verschiebungsoperation angeben, und dass ein Wert des Turboschreibpuffer-Verschiebungsaktivierungsfelds des FLAG „1b“ ist, kann eine Aktivierung der ersten Verschiebungsoperation angeben. In dem Fall, in dem die Verschiebungsoperation deaktiviert ist, führt die UFS-Vorrichtung 1200 keine separate Verschiebungsoperation womöglich durch.
  • Nach mindestens einem Ausführungsbeispiel, obwohl die in den Turboschreibpuffer TWB geschriebenen Nutzerdaten in den Nutzerspeicher UST verschoben werden, kann eine Logikadresse der verschobenen Nutzerdaten gehalten werden und eine physikalische Adresse davon kann geändert werden. In diesem Fall kann die UFS-Vorrichtung 1200 Zuordnungsinformationen der Logikadresse und der physikalischen Adresse der verschobenen Nutzerdaten aktualisieren. Zum Beispiel kann die physikalische Adresse von einer Adresse des Turboschreibpuffers TWB zu einer Adresse des Nutzerspeichers UST geändert werden.
  • Nach mindestens einem Ausführungsbeispiel kann der UFS-Host 1100 eine Verschiebungsoperation während eines Ruhemodus der UFS-Vorrichtung 1200 durch Einstellen eines Werts eines Turboschreibpuffer-Verschiebungsaktivierungsfelds während des Ruhemodus (z.B. „fTurboWriteBufferFlushDuringHibernat“) des FLAG der UFS-Vorrichtung 1200 erlauben oder verbieten. Die UFS-Vorrichtung 1200 kann basierend auf dem Wert des Turboschreibpuffer-Verschiebungsaktivierungsfelds während des Ruhemodus des FLAG bestimmen, ob die Verschiebungsoperation während des Ruhemodus aktiviert wird. Dass ein Wert des Turboschreibpuffer-Verschiebungsaktivierungsfelds während des Ruhemodus des FLAG „0b“ ist, kann nach mindestens einem Ausführungsbeispiel eine Deaktivierung oder ein Verbot der Verschiebungsoperation während des Ruhemodus angeben. Dass ein Wert des Turboschreibpuffer-Verschiebungsaktivierungsfelds während des Ruhemodus des FLAG „1b“ ist, kann eine Aktivierung der ersten Verschiebungsoperation während des Ruhemodus angeben. In dem Fall, in dem die Verschiebungsoperation während des Ruhemodus deaktiviert ist, führt die UFS-Vorrichtung 1200 womöglich keine separate Verschiebungsoperation durch.
  • Nach der oben genannten Verschiebungsoperation können in den Turboschreibpuffer TWB geschriebene Nutzerdaten in den Nutzerspeicher UST geschoben werden oder dorthin abwandern. Somit kann eine verfügbare Puffergröße des Turboschreibpuffers TWB sichergestellt werden.
  • 3 und 4 sind Diagramme zum Beschreiben eines Konfigurationstyps eines Turboschreibpuffers aus 2. Bezugnehmend auf 1 bis 4 kann die UFS-Vorrichtung 1200 eine 0-te bis dritte Logikeinheit LU0 bis LU3 enthalten. Jede der 0-ten bis dritten Logikeinheit LU0 bis LU3 kann ein Verarbeitungsobjekt angeben, das einen Befehl des UFS-Hosts 1100, der extern verwaltet wird, angibt und unabhängig ist. Der UFS-Host 1100 kann einen Speicherraum der UFS-Vorrichtung 1200 durch die 0-te bis dritte Logikeinheit LU0 bis LU3 verwalten. Jede der 0-ten bis dritten Logikeinheit LU0 bis LU3 kann zum Speichern von Nutzerdaten in der UFS-Vorrichtung 1200 verwendet werden.
  • Jede der 0-ten bis dritten Logikeinheit LU0 bis LU3 kann mindestens einem Speicherblock des nichtflüchtigen Speichers 1220 zugeordnet sein. Es kann verschiedene Arten von Logikeinheiten geben, die für verschiedene Zwecke verwendet werden. Es wird jedoch angenommen, dass die 0-te bis dritte Logikeinheit LU0 bis LU3 dem physischen Speicherraum PST entsprechen und zum Speichern von Daten verwendet werden, die einer Anforderung des UFS-Host 1100 entsprechen.
  • Die 0-te bis dritte Logikeinheit LU0 bis LU3 sind in 3 und 4 dargestellt, mindestens einige Ausführungsbeispiele sind jedoch nicht darauf beschränkt. Zum Beispiel kann die UFS-Vorrichtung 1200 ferner zusätzliche Logikeinheiten zum Speichern und Verwalten von Nutzerdaten sowie die 0-te bis dritte Logikeinheit LU0 bis LU3 enthalten. Alternativ kann die UFS-Vorrichtung 1200 ferner andere Logikeinheiten zum Unterstützen verschiedener Funktionen sowie die 0-te bis dritte Logikeinheit LU0 bis LU3 enthalten.
  • Der Turboschreibpuffer TWB der UFS-Vorrichtung 1200 nach mindestens einem Ausführungsbeispiel kann auf verschiedene Weisen konfiguriert sein. Der Turboschreibpuffer TWB kann in einem einer Logikeinheit zugeordneten Puffertyp und einem gemeinsam genutzten Puffertyp konfiguriert sein.
  • In dem Fall des der LU zugeordneten Puffertyps kann der Turboschreibpuffer TWB für jede Logikeinheit LU unabhängig oder individuell umgesetzt werden. Zum Beispiel, wie in 3 dargestellt, kann im der LU zugeordneten Puffertyp ein 0-ter Turboschreibpuffer TWB0 derart umgesetzt sein, dass er der 0-ten Logikeinheit LU0 der 0-ten bis dritten Logikeinheit LU0 bis LU3 entspricht, und ein zweiter Turboschreibpuffer TWB2 kann derart umgesetzt sein, dass er der zweiten Logikeinheit LU2 davon entspricht.
  • Im oben genannten der LU zugeordneten Puffertyp, in dem Fall, in dem ein Schreibbefehl für die 0-te Logikeinheit LU0 empfangen wird, nachdem die Turboschreibfunktion aktiviert worden ist, können die Schreibdaten zunächst in den 0-ten Turboschreibpuffer TWB0 geschrieben werden, welcher der 0-ten Logikeinheit LU0 entspricht. In dem Fall, in dem ein Schreibbefehl für die zweite Logikeinheit LU2 empfangen wird, nachdem die Turboschreibfunktion aktiviert worden ist, können die Schreibdaten zunächst in den zweiten Turboschreibpuffer TWB2 geschrieben werden, welcher der zweiten Logikeinheit LU2 entspricht.
  • In dem Fall, in dem es empfangene Schreibbefehle für die erste und dritte Logikeinheit LU1 und LU3 gibt, denen der Turboschreibpuffer TWB nicht zugeordnet ist, können die Schreibdaten in den Nutzerspeicher UST geschrieben werden, welcher der ersten und dritten Logikeinheit LU1 und LU3 entspricht. Außerdem, in dem Fall, in dem Schreibbefehle für die 0-te und zweite Logikeinheit LU0 und LU2 empfangen werden, nachdem die Turboschreibfunktion deaktiviert worden ist, können die Schreibdaten, abhängig von der normalen Schreibbedingung, in die Turboschreibpuffer TWB0 und TWB2 geschrieben werden oder können in den Nutzerspeicher UST, welcher der 0-ten und zweiten Logikeinheit LU0 und LU2 entspricht, anstatt einen Turboschreibpuffer geschrieben werden.
  • Nach mindestens einem Ausführungsbeispiel können Kapazitäten des 0-ten und zweiten Turboschreibpuffers TWB0 und TWB2 unabhängig voneinander eingestellt werden. Mindestens einige Ausführungsbeispiele sind jedoch nicht darauf beschränkt. Zum Beispiel können die Anzahl an Logikeinheiten, denen die Turboschreibpuffer jeweils zugeordnet sind, eine Kapazität eines jeden Turboschreibpuffers etc. verschiedenartig geändert oder modifiziert werden.
  • Nach mindestens einem Ausführungsbeispiel kann eine Größe des Turboschreibpuffers TWB für jede Logikeinheit an einem Turboschreibpuffer-Zuordnungsanzahlfeld pro Einheit (z.B. „dLUNumTurboWriteBufferAllocUnits“) eines Einheitendeskriptors eingestellt werden. Nach mindestens einem Ausführungsbeispiel kann das Turboschreibpuffer-Zuordnungsanzahlfeld pro Einheit (z.B. „dLUNumTurboWriteBufferAllocUnits“) ein Parameter sein, der durch den UFS-Host 1100 konfigurierbar ist.
  • In dem Fall des gemeinsam genutzten Puffertyps kann ein Turboschreibpuffer derart umgesetzt sein, dass er allen Logikeinheiten entspricht. Wie zum Beispiel in 4 dargestellt, kann im gemeinsam genutzten Puffertyp ein gemeinsam genutzter Turboschreibpuffer TWB_s derart umgesetzt sein, dass er allen der 0-ten bis dritten Logikeinheit LU0 bis LU3 entspricht.
  • In diesem Fall, wenn ein Schreibbefehl, welcher jeder der 0-ten bis dritten Logikeinheiten LU0 bis LU3 zugeordnet ist, empfangen wird, nachdem die Turboschreibfunktion aktiviert worden ist, können die Schreibdaten zunächst in den gemeinsam genutzten Turboschreibpuffer TWB_s geschrieben werden. In dem Fall, in dem ein Schreibbefehl, welcher jeder der 0-ten bis dritten Logikeinheit LU0 bis LU3 zugeordnet ist, empfangen wird, nachdem die Turboschreibfunktion deaktiviert worden ist, können die Schreibdaten, abhängig von der normalen Schreibbedingung, in den gemeinsam genutzten Turboschreibpuffer TWB s geschrieben werden oder können in den Nutzerspeicher UST, welcher der 0-ten bis dritten Logikeinheit LU0 bis LU3 entspricht, geschrieben werden.
  • Nach mindestens einem Ausführungsbeispiel können Informationen zu einer Größe des gemeinsam genutzten Turboschreibpuffers TWB_s in einem Zuordnungseinheitanzahlfeld für einen gemeinsam genutzten Turboschreibpuffer (z.B. „dNumSharedTurboWriteBufferAllocUnits“) eines Vorrichtungsdeskriptors oder eines Konfigurationsdeskriptors der UFS-Vorrichtung 1200 enthalten sein.
  • Wie oben beschrieben, kann die UFS-Vorrichtung 1200 nach mindestens einem Ausführungsbeispiel den Turboschreibpuffer TWB zum Unterstützen der Turboschreibfunktion enthalten. Abhängig von einem Puffertyp (z.B. dem der LU zugeordneten Puffertyp oder dem gemeinsam genutzten Puffertyp) kann der Turboschreibpuffer TWB derart unabhängig umgesetzt werden, dass er jeder einer Mehrzahl an Logikeinheiten entspricht, oder ein Turboschreibpuffer TWB kann derart umgesetzt werden, dass er allen Logikeinheiten entspricht.
  • Nach mindestens einem Ausführungsbeispiel kann die UFS-Vorrichtung 1200 Informationen (z.B. einen einer Logikeinheit zugeordneten Puffertyp, einen gemeinsam genutzten Puffertyp oder alles davon) zu einem Turboschreibpuffertyp, welcher von der UFS-Vorrichtung 1200 unterstützt werden kann, durch ein unterstütztes Turboschreibpuffertypfeld (z.B. „bSupportedTurboWriteBufferTypes“) eines Geometriedeskriptors bereitstellen.
  • 5 bis 7 sind Diagramme zum Beschreiben von Modi zum Konfigurieren eines Turboschreibpuffers einer UFS-Vorrichtung aus 1. Unten wird der Einfachheit der Beschreibung halber angenommen, dass der physische Speicherraum PST der UFS-Vorrichtung 1200 32 GB auf Basis der TLC ist. Das heißt, in dem Fall, in dem jede von in der UFS-Vorrichtung 1200 enthaltenen Speicherzellen 3-Bit-Daten speichert, kann die UFS-Vorrichtung 1200 Nutzerdaten von 32 GB speichern. Mindestens einige Ausführungsformen sind jedoch nicht darauf beschränkt. Zum Beispiel kann der physische Speicherraum PST der UFS-Vorrichtung 1200 abhängig von einem Verfahren zum Umsetzen der UFS-Vorrichtung 1200 oder des nichtflüchtigen Speichers 1220, zum Beispiel abhängig von einem Speicherzellentyp (z.B. SLC, MLC, TLC oder QLC), der Anzahl an Speicherzellen, einer Speicherzellenstruktur, einem Overprovisioning-Verhältnis etc., verschiedenartig geändert werden.
  • Nach mindestens einem Ausführungsbeispiel kann die UFS-Vorrichtung 1200 drei Turboschreibpuffermodi unterstützen, wie einen Modus zur Verringerung der Nutzerkapazität, einen Modus ohne Verringerung der Nutzerkapazität und einen Modus zur Teilverringerung. Mindestens einige Ausführungsbeispiele sind jedoch nicht darauf beschränkt. Zum Beispiel kann die UFS-Vorrichtung 1200 verschiedene Modi unterstützen, die in der ausführlichen Spezifikation nicht explizit offenbart sind.
  • Zunächst, bezugnehmend auf 1 und 5, kann die UFS-Vorrichtung 1200 den Turboschreibpuffer TWB basierend auf einem Modus zur Verringerung der Nutzerkapazität unter der Steuerung des UFS-Hosts 1100 konfigurieren. Der Modus zur Verringerung der Nutzerkapazität kann einen Modus zum Verringern einer Nutzerkapazität des Nutzerspeichers UST angeben, um einen Turboschreibpuffer TWBa zu konfigurieren.
  • Zum Beispiel, wie in 5 dargestellt, kann der physische Speicherraum PST der UFS-Vorrichtung 1200 32 GB auf der Basis der TLC sein. Bevor der Turboschreibpuffer TWB konfiguriert wird, kann die Kapazität von 32 GB (d.h. die Gesamtkapazität des physischen Speicherraums PST) dem Nutzerspeicher UST zugeordnet werden oder kann für den Nutzerspeicher UST verwendet werden. In diesem Fall kann erkannt werden, dass der Nutzerspeicher UST die Größe von 32 GB aus einer Sicht des UFS-Hosts 1100 ist.
  • Der Turboschreibpuffer TWB kann abhängig vom Modus zur Verringerung der Nutzerkapazität konfiguriert werden. In diesem Fall kann ein zweiter physischer Speicherraum PST2, der ein Teil des physischen Speicherraums PST ist, einem Turboschreibpuffer TWBa zugeordnet werden oder kann für den Turboschreibpuffer TWBa verwendet werden. Ein erster physischer Speicherraum PST1, der ein Teil des physischen Speicherraums PST ist, kann einem Nutzerspeicher USTa zugeordnet werden oder kann für den Nutzerspeicher USTa verwendet werden. In diesem Fall, verglichen mit dem Fall, in dem der Turboschreibpuffer TWB nicht konfiguriert wird, kann sich die Kapazität des Nutzerspeichers USTa aus einer Sicht des UFS-Hosts 1100 verringern.
  • Zum Beispiel, nachdem der Turboschreibpuffer konfiguriert worden ist, kann der erste physische Speicherraum PST1, der dem Nutzerspeicher USTa entspricht, mit der TLC umgesetzt werden und der zweite physische Speicherraum PST2, der dem Turboschreibpuffer TWBa entspricht, kann mit der SLC umgesetzt werden. Ein Verhältnis einer Datenspeicherkapazität, wenn derselbe Speicherraum als ein TLC-Raum verwendet wird, und einer Datenspeicherkapazität, wenn derselbe Speicherraum als ein SLC-Raum verwendet wird, kann „3:1“ sein.
  • Mit anderen Worten, wenn die Größe des Turboschreibpuffers um bis zu 1 GB zunimmt, kann sich eine Größe eines Logikspeicherraums des Nutzerspeichers USTa um bis zu 3 GB verringern. Wie oben beschrieben, in dem Fall, in dem der Turboschreibpuffer TWBa von 4 GB im Modus zu Verringerung der Nutzerkapazität konfiguriert wird, kann der zweite physische Speicherraum PST2, der ein Teil des physischen Speicherraums PST der UFS-Vorrichtung 1200 ist, dem Turboschreibpuffer TWBa zugeordnet werden und der erste physische Speicherraum PST1, welcher der verbleibende Teil davon ist, kann dem vom UFS-Host 1100 identifizierten Nutzerspeicher USTa zugeordnet werden. In diesem Fall kann der erste physische Speicherraum PST1 20 GB auf der Basis der TLC sein und der zweite physische Speicherraum PST2 kann 4 GB auf der Basis der SLC sein. Dementsprechend kann der Nutzerspeicher USTa auf 20 GB eingestellt sein.
  • Nach mindestens einem Ausführungsbeispiel können der erste physische Speicherraum PST1, der dem Nutzerspeicher USTa entspricht, und der zweite physische Speicherraum PST2, der dem Turboschreibpuffer TWBa entspricht, physisch benachbart zueinander sein oder können physisch voneinander beabstandet sein.
  • Der Modus ohne Verringerung der Nutzerkapazität kann einen Modus angeben, in dem eine vom Host 1100 erkannte Logikspeicherkapazität Nutzerspeichers USTb nicht verringert wird, obwohl ein Turboschreibpuffer TWBb konfiguriert wird. Zum Beispiel, wie in 6 dargestellt, kann der Nutzerspeicher UST vor der Konfiguration des Turboschreibpuffers TWB die Kapazität von 32 GB aufweisen. Das heißt, der physische Speicherraum PST der UFS-Vorrichtung 1200 kann dem Nutzerspeicher UST zugeordnet werden oder kann für den Nutzerspeicher UST verwendet werden.
  • Als nächstes, bezugnehmend auf 1 und 6, kann die UFS-Vorrichtung 1200 den Turboschreibpuffer TWB basierend auf dem Modus ohne Verringerung der Nutzerkapazität konfigurieren. Der Modus ohne Verringerung der Nutzerkapazität kann einen Modus angeben, in dem ein Turboschreibpuffer ohne eine Verringerung einer Kapazität des vom UFS-Host 1100 erkannten Nutzerspeichers UST zugeordnet wird.
  • Zum Beispiel, wie in 6 dargestellt, in dem Fall, in dem ein Turboschreibpuffer TWBb von 4 GB basierend auf dem Modus ohne Verringerung der Nutzerkapazität konfiguriert wird, kann ein vierter physischer Speicherraum PST4 für den Turboschreibpuffer TWBb zugeordnet werden. Der vierte physische Speicherraum PST4 kann 12 GB auf der Basis der TLC sein und kann 4 GB auf der Basis der SLC sein. In diesem Fall kann ein dritter physischer Speicherraum PST3, welcher der verbleibende physische Speicherraum ist, 20 GB auf der Basis der TLC sein. Der UFS-Host 1100 kann sowohl den dritten physischen Speicherraum PST3 als auch den vierten physischen Speicherraum PST4 als Nutzerspeicher USTb erkennen. Das heißt, im Modus ohne Verringerung der Nutzerkapazität kann der Nutzerspeicher USTb die Kapazität von 32 GB halten. Im Modus ohne Verringerung der Nutzerkapazität, obwohl der Turboschreibpuffer TWBb konfiguriert wird, kann die Kapazität des Nutzerspeichers UST, die aus einer Sicht des Hosts 1100 identifiziert wird, identisch zu jener vor der Konfiguration des Turboschreibpuffers TWBb sein.
  • Nach mindestens einem Ausführungsbeispiel kann im Modus ohne Verringerung der Nutzerkapazität eine Größe oder Konfiguration des Turboschreibpuffers TWBb durch eine interne Bedingung der UFS-Vorrichtung 1200 einstellbar sein. Zum Beispiel, da der vierte physische Speicherraum PST4, der ein Teil des physischen Speicherraums PST ist, zum Konfigurieren des Turboschreibpuffers TWBb verwendet wird, kann eine Kapazität des dritten physischen Speicherraums PST3, die für den Nutzerspeicher USTb verfügbar ist, kleiner sein als eine Kapazität des Nutzerspeichers USTb.
  • Das heißt, in dem Fall, in dem der gesamte dritte physische Speicherraum PST3 zum Speichern von Nutzerdaten verwendet wird oder eine verfügbare freie Kapazität des dritten physischen Speicherraums PST3 gleich oder kleiner als ein Bezugswert ist, können alle oder ein Teil des vierten physischen Speicherraums PST4, der für den Turboschreibpuffer TWBb verwendet wird, an den Nutzerspeicher USTb zurückgegeben werden.
  • Mit anderen Worten kann der vierte physische Speicherraum PST4, der für den Turboschreibpuffer TWBb zugeordnet wird, im dritten physischen Speicherraum PST3, in dem Fall, in dem es möglich ist, den Turboschreibpuffer TWBb aufgrund des Mangels an verfügbarem Raum für den Nutzerspeicher USTb zu halten, an den Nutzerspeicher USTb zurückgegeben werden. In diesem Fall kann sich eine Größe des vierten physischen Speicherraums PST4 verringern und eine Größe des dritten physischen Speicherraums PST3 kann zunehmen. Die oben genannte Rückkehroperation kann zum Beispiel durch eine Nutzerdatenverschiebungsoperation und eine Turboschreibpuffer-Größeneinstelloperation durchgeführt werden.
  • Nach mindestens einem Ausführungsbeispiel kann die UFS-Vorrichtung 1200 einen für den Turboschreibpuffer TWB verwendeten physischen Speicherraum automatisch an den Nutzerspeicher UST zurückgeben. Der UFS-Host 1100 kann einen Änderungszustand des Turboschreibpuffers TWB basierend auf einem gegenwärtigen Turboschreibpuffergrößenfeld überprüfen.
  • Dann, bezugnehmend auf 1 und 7, kann die UFS-Vorrichtung 1200 den Turboschreibpuffer TWB basierend auf dem Modus zur Teilverringerung konfigurieren. Nach mindestens einem Ausführungsbeispiel kann der Modus zur Teilverringerung ein Modus sein, der einer Kombination aus dem Modus zur Verringerung der Nutzerkapazität und dem Modus ohne Verringerung der Nutzerkapazität, die mit Bezug auf 5 und 6 beschrieben werden, entspricht. Zum Beispiel in dem Fall, in dem ein Turboschreibpuffer gemäß dem Modus zur Teilverringerung konfiguriert wird, kann der zweite physische Speicherraum PST2 des physischen Speicherraums PST der UFS-Vorrichtung 1200 für den Turboschreibpuffer TWBa zugeordnet werden und der vierte physische Speicherraum PST4 kann für den Turboschreibpuffer TWBb und einen Nutzerspeicher USTc zugeordnet werden, und ein fünfter physischer Speicherraum PST5 kann für den Nutzerspeicher USTc zugeordnet werden. Das heißt, in dem Fall, in dem der gemäß dem Modus zur Verringerung der Nutzerkapazität konfigurierte Turboschreibpuffer TWBa 4 GB ist, der gemäß dem Modus ohne Verringerung der Nutzerkapazität konfigurierte Turboschreibpuffer TWBb 4 GB ist und der Nutzerspeicher USTc 20 GB ist, kann der zweite physische Speicherraum PST2 des physischen Speicherraums PST, der 32 GB auf der Basis der TLC ist, 4 GB auf der Basis der SLC sein, der vierte physische Speicherraum PST4 kann 4 GB auf der Basis der SLC und 12 GB auf der Basis der TLC sein, und der fünfte physische Speicherraum PST5 kann 8 GB auf der Basis der TLC sein. Nach mindestens einem Ausführungsbeispiel, wie mit Bezug auf 6 beschrieben, kann eine Größe des vierten physischen Speicherraums PST4 durch eine Operation der UFS-Vorrichtung 1200 einstellbar sein.
  • Wie oben beschrieben, kann die UFS-Vorrichtung 1200 den Turboschreibpuffer TWB basierend auf verschiedenen Modi konfigurieren. In diesem Fall kann der gemäß dem Modus zur Verringerung der Nutzerkapazität konfigurierte Turboschreibpuffer TWBa eine feste Größe aufweisen. Das heißt, eine Kapazität des Nutzerspeichers UST kann durch den gemäß dem Modus zur Verringerung der Nutzerkapazität konfigurierten Turboschreibpuffer TWBa verringert werden. Im Gegenzug, in dem Fall, in dem der Turboschreibpuffer TWBb gemäß dem Modus ohne Verringerung der Nutzerkapazität konfiguriert wird, gibt es womöglich keine Änderung einer Kapazität des vom UFS-Host 1100 erkannten Nutzerspeichers UST. Da jedoch ein physischer Teilspeicherraum für den Turboschreibpuffer TWBb zugeordnet ist, kann ein Overhead (z.B. eine Verschiebungsoperation oder eine Abwanderungsoperation) zum Zurückgeben des Turboschreibpuffers TWBb an den Nutzerspeicher UST auftreten. Das heißt, wenn der Turboschreibpuffer TWB konfiguriert wird, kann eine Kapazität eines Nutzerspeichers verringert werden oder ein Overhead kann aufgrund dessen, dass ein physischer Speicherraum zurückgegeben wird, auftreten.
  • Nach mindestens einem Ausführungsbeispiel, in dem Fall, in dem der Turboschreibpuffer TWB konfiguriert wird, kann eine Größe des Turboschreibpuffers TWB an Feldern von verschiedenen Deskriptoren der UFS-Vorrichtung 1200 eingestellt werden. Zum Beispiel in dem Fall, in dem der Turboschreibpuffer TWB im der LU zugeordneten Puffertyp konfiguriert wird, können Informationen zu einer Größe des Turboschreibpuffers TWB für jede Logikeinheit an einem Turboschreibpuffer-Zuordnungsanzahlfeld pro Einheit (z.B. „dLUNumTurboWriteBuffErAllocUnit“) eines Einheitendeskriptors eingestellt werden. Alternativ, in dem Fall, in dem der Turboschreibpuffer TWB im gemeinsam genutzten Puffertyp konfiguriert wird, können Informationen zu einer Größe des Turboschreibpuffers TWB an einem Zuordnungseinheitenanzahlfeld für einen gemeinsam genutzten Turboschreibpuffer (z.B. „dNumSharedTurboWriteBufferAllocUnits“) eines Vorrichtungsdeskriptors oder eines Konfigurationsdeskriptors eingestellt werden.
  • Nach mindestens einem Ausführungsbeispiel können Felder, die einer Größe, einem Modus oder einem Typ des Turboschreibpuffers TWB, der die oben genannten Felder enthält, zugeordnet sind, in einer Herstellungsphase oder einer Initialisierungsphase der UFS-Vorrichtung 1200 bestimmt werden und können womöglich während des Antriebs der UFS-Vorrichtung 1200 nicht geändert werden.
  • Nach mindestens einem Ausführungsbeispiel kann der UFS-Host 1100 konfiguriert sein, den Turboschreibpuffer TWB während des Antriebs der UFS-Vorrichtung 1200 zu rekonfigurieren. Zum Beispiel kann der UFS-Host 1100 konfiguriert sein, eine Größe, einen Typ oder einen Modus des Turboschreibpuffers TWB basierend auf einem Verwendungsmuster (z.B. der Verwendung eines Nutzerspeichers, der Verwendung eines Turboschreibpuffers oder einer verfügbaren Turboschreibpuffergröße) der UFS-Vorrichtung 1200 zu rekonfigurieren. Dementsprechend, da ein tatsächlicher physischer Speicherraum für den Nutzerspeicher UST in der UFS-Vorrichtung 1200 sichergestellt werden kann, kann die Performance der UFS-Vorrichtung 1200 verbessert werden.
  • 8 ist ein Flussdiagramm, das einen Betrieb eines UFS-Systems aus 1 darstellt. Der Einfachheit der Beschreibung halber werden Komponenten, die zum Beschreiben einer normalen Schreiboperation und einer Turboschreiboperation für die UFS-Vorrichtung 1200 nicht erforderlich sind, weggelassen. Außerdem, sofern nicht anderweitig definiert, kann der Turboschreibpuffer TWB gemäß einem von verschiedenen Typen und Modi des oben beschriebenen Turboschreibpuffers TWB konfiguriert sein und die Turboschreiboperation kann eine Operation zum bevorzugten Schreiben von Schreibdaten in den somit konfigurierten Turboschreibpuffer TWB angeben.
  • Bezugnehmend auf 1, 2 und 8 kann der UFS-Host 1100 in Operation S21 eine Befehls-UPIU, die einen Schreibbefehl WR enthält, an die UFS-Vorrichtung 1200 senden. In Operation S22 kann die UFS-Vorrichtung 1200 als Reaktion auf den Schreibbefehl WR eine ÜBERTRAGUNGSBEREITSCHAFTS(RTT)-UPIU senden und der UFS-Host 1100 kann als Reaktion auf die RTT-UPIU eine DATA OUT UPIU an die UFS-Vorrichtung 1200 senden. Nach mindestens einem Ausführungsbeispiel kann Operation S22 wiederholt durchgeführt werden, bis alle Schreibdaten, die dem Schreibbefehl WR in Operation S21 entsprechen, empfangen werden.
  • Nachdem alle Schreibdaten vollständig empfangen worden sind, kann die UFS-Vorrichtung 1200 in Operation S23 eine ANTWORT-UPIU an den UFS-Host 1100 senden. Die ANTWORT-UPIU kann Informationen enthalten, die angeben, dass eine Operation, die dem in Operation S21 empfangenen Schreibbefehl WR entspricht, abgeschlossen ist.
  • Nach mindestens einem Ausführungsbeispiel, wenn ein Wert des Turboschreibaktivierungsfelds nicht eingestellt ist oder wenn der Schreibbefehl WR keine Informationen zu der Turboschreibfunktion enthält, können die vom UFS-Host 1100 in Operation S21 empfangenen Schreibdaten abhängig von der normalen Schreibbedingung in den Turboschreibpuffer TWB oder den Nutzerspeicher UST geschrieben werden.
  • Nach mindestens einem Ausführungsbeispiel kann die Turboschreibfunktion in verschiedenen Verfahren eingestellt oder durchgeführt werden. Unten wird durch Operation S31 bis Operation S33 oder Operation S41 oder Operation S44 ein Verfahren beschrieben, in dem die UFS-Vorrichtung 1200 die Turboschreiboperation durchführt.
  • In Operation S31 kann der UFS-Host 1100 die Befehls-UPIU, die einen Turboschreibbefehl WR_T enthält, an die UFS-Vorrichtung 1200 senden. Anschließend können der UFS-Host 1100 und die UFS-Vorrichtung 1200 Operation S32 und Operation S33 durchführen. Operation S32 und Operation S33 sind Operation S22 und Operation S23 ähnlich und somit wird eine zusätzlich Beschreibung weggelassen, um Redundanz zu vermeiden.
  • Nach mindestens einem Ausführungsbeispiel kann die UFS-Vorrichtung 1200 die Turboschreiboperation an den in Operation S32 empfangenen Schreibdaten als Reaktion auf den Turboschreibbefehl WR_T in Operation S31 durchführen. Zum Beispiel kann der Turboschreibbefehl WR_T ein Format aufweisen, das jenem des Schreibbefehls WR in Operation S21 ähnlich ist, kann jedoch Informationen zu der Turboschreibfunktion enthalten. Nach mindestens einem Ausführungsbeispiel können die Informationen zu der Turboschreibfunktion durch eine GRUPPENNUMMER der Befehls-UPIU eingestellt werden. Das heißt, durch Einstellen eines spezifischen Werts (z.B. „10001b“) für die GRUPPENNUMMER der Befehls-UPIU, die einen Schreibbefehl enthält, kann der UFS-Host 1100 den Turboschreibbefehl WR_T an die UFS-Vorrichtung 1200 senden und die UFS-Vorrichtung 1200 kann die Turboschreiboperation als Reaktion auf den Turboschreibbefehl WR_T durchführen.
  • Nach mindestens einem Ausführungsbeispiel kann das Aktivieren der Turboschreibfunktion durch die GRUPPENNUMMER des Schreibbefehls durch Einstellen eines Turboschreibgruppennummernfelds (z.B. „bTurboWriteGroupNumberCap“) eines Geometriedeskriptors der UFS-Vorrichtung 1200 umgesetzt werden. Zum Beispiel wird der Schreibbefehl in dem Fall, in dem „00h“ für das Turboschreibgruppennummernfeld eingestellt ist, obwohl ein Schreibbefehl eine Gruppennummer von „10001b“ enthält, womöglich nicht als ein Turboschreibbefehl verwaltet; in dem Fall, in dem „01h“ für das Turboschreibgruppennummernfeld eingestellt ist, kann ein Schreibbefehl, der eine Gruppennummer von „10001b“ enthält, als ein Turboschreibbefehl verarbeitet werden.
  • Als nächstes kann der UFS-Host 1100 in Operation S41 einen spezifischen Wert (z.B. „1b“) für das Turboschreibaktivierungsfeld einstellen. Zum Beispiel kann der UFS-Host 1100 eine Abfrageanforderung zum Einstellen eines Werts des Turboschreibaktivierungsfelds mit einem spezifischen Wert (z.B. „1b“) an die UFS-Vorrichtung 1200 senden. Ein Wert des Turboschreibaktivierungsfelds kann als Reaktion auf die Abfrageanforderung vom UFS-Host 1100 mit dem spezifischen Wert (z.B. „1b“) eingestellt werden und die UFS-Vorrichtung 1200 kann eine Abfrageantwort an den UFS-Host 1100 übertragen.
  • Nach mindestens einem Ausführungsbeispiel kann die UFS-Vorrichtung 1200 durch Überprüfen eines Werts des Turboschreibaktivierungsfelds (z.B. „fTurboWriteEn“) des FLAG bestimmen, ob die Turboschreibfunktion aktiviert ist. In dem Fall, in dem der Wert des Turboschreibaktivierungsfelds des FLAG „0b“ ist, kann die Turboschreibfunktion in einem deaktivierten Zustand sein; in dem Fall, in dem der Wert des Turboschreibaktivierungsfelds „1b“ ist, kann die Turboschreibfunktion in einem aktivierten Zustand sein. Nach mindestens einem Ausführungsbeispiel kann der Wert des Turboschreibaktivierungsfelds des FLAG durch die Abfrageanforderung für ein Einstellungs-Flag des UFS-Hosts 1100 eingestellt werden. Die UFS-Vorrichtung 1200 kann die Turboschreiboperation basierend auf dem Wert des Turboschreibaktivierungsfelds des FLAG durchführen.
  • Zum Beispiel kann der UFS-Host 1100 in Operation S41 einen Wert des Turboschreibaktivierungsfelds mit einem spezifischen Wert (z.B. „1b“) einstellen. Zum Beispiel kann der UFS-Host 1100 die Abfrageanforderung zum Einstellen des Werts des Turboschreibaktivierungsfelds mit einem spezifischen Wert (z.B. „1b“) an die UFS-Vorrichtung 1200 senden. Der Wert des Turboschreibaktivierungsfelds kann als Reaktion auf die Abfrageanforderung vom UFS-Host 1100 mit dem spezifischen Wert (z.B. „1b“) eingestellt werden und die UFS-Vorrichtung 1200 kann die Abfrageantwort an den UFS-Host 1100 senden. Anschließend können der UFS-Host 1100 und die UFS-Vorrichtung 1200 Operation S42 bis Operation S44 durchführen. Operation S42 bis Operation S44 sind Operation S21 bis Operation S23 und Operation S31 bis Operation S33 ähnlich und somit wird eine zusätzlich Beschreibung weggelassen, um Redundanz zu vermeiden.
  • Wie oben beschrieben, kann der UFS-Host 1100 die Turboschreibfunktion der UFS-Vorrichtung 1200 durch Einstellen eines spezifischen Werts für ein spezifisches Feld eines Schreibbefehls oder einer Befehls-UPIU oder durch Einstellen eines spezifischen Felds (z.B. eines Turboschreibaktivierungsfelds) des FLAG der UFS-Vorrichtung 1200 aktivieren.
  • 9 ist ein Flussdiagramm, das einen Betrieb eines UFS-Systems aus 1 darstellt. Bezugnehmend auf 1, 2 und 9 kann der UFS-Host 1100 in Operation S101 den Turboschreibpuffer TWB der UFS-Vorrichtung 1200 konfigurieren. Zum Beispiel kann der UFS-Host 1100 eine Turboschreibkonfigurationsanforderung „TWB-Konfiguration“ zum Einstellen verschiedener Felder der UFS-Vorrichtung 1200 an die UFS-Vorrichtung 1200 senden und die UFS-Vorrichtung 1200 kann eine Antwort auf die Anforderung an den UFS-Host 1100 senden.
  • Der Kürze der Zeichnungen und der Einfachheit der Beschreibung halber wird Operation S101 kurz dargestellt, mindestens einige Ausführungsbeispiele sind jedoch nicht darauf beschränkt. Zum Beispiel kann der UFS-Host 1100 eine Konfiguration und eine Funktion der UFS-Vorrichtung 1200 durch einen Vorrichtungsdeskriptor der UFS-Vorrichtung 1200 überprüfen. Zum Beispiel kann der Vorrichtungsdeskriptor ein erweitertes UFS-Funktionsunterstützungsfeld (z.B. „dExtendedUFSFeaturesSupport“) enthalten, das Informationen dazu enthält, ob die Turboschreibfunktion unterstützt werden soll. Nach mindestens einem Ausführungsbeispiel können die Informationen dazu, ob die Turboschreibfunktion unterstützt werden soll, auf ein spezifisches Bit (z.B. bit[8]) des erweiterten UFS-Funktionsunterstützungsfelds eingestellt werden.
  • Der Vorrichtungsdeskriptor kann ferner ein Turboschreibpuffer-Nutzerraum-Verringerungstypfeld (z.B. „bTurboWriteBufferUserSpaceReductionType“) enthalten, das Informationen zu einem Turboschreibpuffermodus enthält. Das Turboschreibpuffer-Nutzerraum-Verringerungstypfeld kann Informationen zu einem Modus (d.h. einem Modus zur Verringerung eines Nutzerraums und einem Modus zur Teilverringerung) eines Turboschreibpuffers enthalten. Nach mindestens einem Ausführungsbeispiel, wenn das Turboschreibpuffer-Nutzerraum-Verringerungstypfeld „00h“ ist, wird ein Turboschreibpuffer basierend auf dem mit Bezug auf 5 beschriebenen Modus zur Verringerung der Nutzerkapazität konfiguriert; wenn das Turboschreibpuffer-Nutzerraum-Verringerungstypfeld „01h“ ist, wird ein Turboschreibpuffer basierend auf dem mit Bezug auf 6 beschriebenen Modus ohne Verringerung der Nutzerkapazität konfiguriert; und wenn das Turboschreibpuffer-Nutzerraum-Verringerungstypfeld „02h“ ist, wird ein Turboschreibpuffer basierend auf dem mit Bezug auf 7 beschriebenen Modus zur Teilverringerung konfiguriert. Nach mindestens einem Ausführungsbeispiel, in dem Fall, in dem ein Turboschreibpuffer basierend auf dem Modus zur Verringerung der Nutzerkapazität oder dem Modus zur Teilverringerung konfiguriert wird, da es möglich ist, die Gesamtkapazität eines Nutzerspeichers aufgrund des Turboschreibpuffers zuzuordnen, können durch Thin-Provisioning (d.h. ein Feld „bProvisioningType“ ist „02h“ oder „03h“) entsprechende Logikeinheiten konfiguriert werden.
  • Der Vorrichtungsdeskriptor kann ferner ein Turboschreibpuffertypfeld (z.B. „bTurbowriteBufferType“) enthalten, das Informationen zu einem Turboschreibpuffertyp enthält. In dem Fall, in dem „00h“ für das Turboschreibpuffertypfeld eingestellt ist, kann der Turboschreibpuffer TWB gemäß dem mit Bezug auf 3 beschriebenen der LU zugeordneten Puffertyp konfiguriert werden; in dem Fall, in dem „01h“ für das Turboschreibpuffertypfeld eingestellt ist, kann der Turboschreibpuffer TWB gemäß dem mit Bezug auf 4 beschriebenen gemeinsam genutzten Puffertyp konfiguriert werden.
  • Der Vorrichtungsdeskriptor kann ferner ein Zuordnungseinheitenanzahlfeld für einen gemeinsam genutzten Turboschreibpuffer (z.B. „dNumSharedTurboWriteBufferAllocUnits“) enthalten, das Informationen zu einer Größe eines Turboschreibpuffers enthält. In dem Fall, in dem die einem gemeinsam genutzten Turboschreibpuffer zugeordnete Anzahl an Einheiten „0“ ist, wird ein Turboschreibpuffer des gemeinsam genutzten Puffertyps womöglich nicht konfiguriert.
  • Jedes oben beschriebene Feld ist ein Beispiel und mindestens einige Ausführungsbeispiele sind nicht darauf beschränkt. Der Vorrichtungsdeskriptor kann ferner weitere Felder, die Informationen zu einer Konfiguration, einer Struktur, einer Funktion etc. der UFS-Vorrichtung 1200 enthalten, sowie die oben beschriebenen Felder enthalten. Verschiedene Felder des Vorrichtungsdeskriptors können Werte enthalten, die vor der Initialisierungsoperation eingestellt werden. Der UFS-Host 1100 kann einen gegenwärtigen Zustand der UFS-Vorrichtung 1200 durch Lesen verschiedener Felder des Vorrichtungsdeskriptors identifizieren.
  • Nach mindestens einem Ausführungsbeispiel, in dem Fall, in dem ein Turboschreibpuffer im der LU zugeordneten Puffertyp konfiguriert wird, kann eine Größe eines Turboschreibpuffers für jede Logikeinheit durch ein zugeordnetes Turboschreibpufferanzahlfeld pro Logikeinheit (z.B. „dLUNumTurboWriteBufferAllocUnits“) eines Einheitsdeskriptors eingestellt werden.
  • Nach mindestens einem Ausführungsbeispiel können die oben genannten Felder (z.B. „bTurboWriteBufferUserSpaceReductionType“, „bTurboWriteBufferType“, „dNumSharedTurboWriteBufferAllocUnits“ und „dLUNumTurboWriteBufferAllocUnits“) durch Schreiben eines vorgegebenen Werts in ein entsprechendes Feld eines Konfigurationsdeskriptors geändert werden. Das heißt, der UFS-Host 1100 kann Informationen, wie einen Turboschreibpuffertyp, eine Turboschreibpufferaktivierung ohne Verringerung des Nutzerraums und die einem Turboschreibpuffer zugeordnete Anzahl an Einheiten, durch Schreiben von Werten verschiedener Felder des Konfigurationsdeskriptors ändern.
  • Nach mindestens einem Ausführungsbeispiel kann der Geometriedeskriptor der UFS-Vorrichtung 1200 Informationen zu der UFS-Vorrichtung 1200 enthalten, wie ein Turboschreibpuffer-Maximalgrößenfeld, ein Turboschreibpuffer-Maximalanzahlfeld, ein Turboschreibpuffer-Kapazitätseinstellungsfaktorfeld, ein unterstütztes Turboschreibpuffertypfeld ohne Verringerung der Nutzerkapazität und ein unterstütztes Turboschreibpuffertypfeld.
  • Zum Beispiel kann das Turboschreibpuffer-Maximalgrößenfeld (z.B. „dTurboWriteBufferMaxNAllocUnits“) Informationen zu einer Maximalgröße des an der gesamten Vorrichtung unterstützten Turboschreibpuffers TWB enthalten. Das Turboschreibpuffer-Maximalanzahlfeld (z.B. „bDeviceMaxTurboWnteLUs“) kann Informationen zu der an der UFS-Vorrichtung 1200 unterstützten Maximalanzahl an Turboschreibpuffern enthalten.
  • Das Turboschreibpuffer-Kapazitätseinstellungsfaktorfeld (z.B. „bTurboWriteBufferCapAdjFac“) kann Informationen zu einem Kapazitätsverringerungsfaktor gemäß einer Art eines Turboschreibpufferspeichers enthalten. Zum Beispiel in dem Fall, in dem der Turboschreibpuffer TWB mit der SLC umgesetzt wird und der Nutzerspeicher UST mit der TLC umgesetzt wird, kann ein Wert des Turboschreibpuffer-Kapazitätseinstellungsfaktorfelds „3“ sein. In dem Fall, in dem der Turboschreibpuffer TWB mit der SLC umgesetzt wird und der Nutzerspeicher UST mit der MLC umgesetzt wird, kann ein Wert des Turboschreibpuffer-Kapazitätseinstellungsfaktorfelds „2“ sein.
  • Das unterstützte Turboschreibpuffertypfeld ohne Verringerung der Nutzerkapazität (z.B. „bSupportedTurboWriteBufferUserSpaceReductionType“) kann Informationen zu einem Turboschreibpuffermodus enthalten, den die UFS-Vorrichtung 1200 unterstützt (z.B. Informationen zu dem Modus zur Verringerung der Nutzerkapazität, dem Modus ohne Verringerung der Nutzerkapazität oder beidem).
  • Das unterstützte Turboschreibpuffertypfeld (z.B. „bSupportedTurboWriteBufferTypes“) kann Informationen zu einem Turboschreibpuffertyp enthalten, den die UFS-Vorrichtung 1200 unterstützt (z.B. Informationen zu dem der LU zugeordneten Puffertyp, dem gemeinsam genutzten Puffertyp oder beidem).
  • Das unterstützte erweiterte Turboschreibpuffer-Nutzerkapazitätsverringerungstypfeld (z.B. „bSupportedExtendedTurboWriteBufferUserSpaceReductionTypes“) kann Informationen zu einem Modus enthalten, in dem ein Turboschreibpuffer konfiguriert wird (z.B. Informationen zu dem Modus zur Verringerung der Nutzerkapazität, dem Modus ohne Verringerung der Nutzerkapazität oder dem Modus zur Teilverringerung).
  • Die oben beschriebenen jeweiligen Felder sind Beispiele und mindestens einige Ausführungsbeispiele sind nicht darauf beschränkt.
  • Wie oben beschrieben, kann der UFS-Host 1100 eine Vielzahl an Informationen zu der UFS-Vorrichtung 1200 überprüfen und kann einen Turboschreibpuffer der UFS-Vorrichtung 1200 konfigurieren. Das heißt, durch Operation S101 können ein Modus, ein Typ und eine Größe des Turboschreibpuffers der UFS-Vorrichtung 1200 bestimmt werden. Nach mindestens einem Ausführungsbeispiel können verschiedene dem Turboschreibpuffer zugeordnete Felder, nachdem der Turboschreibpuffer in Operation S101 konfiguriert worden ist, durch Einstellen eines spezifischen Werts (z.B. „01h“) für ein Konfigurationsdeskriptorsperrfeld (z.B. „bConfigDescrLock“) eines ATTRIBUTS der UFS-Vorrichtung 1200 einen festen Wert aufweisen.
  • Anschließend können der UFS-Host 1100 und die UFS-Vorrichtung 1200 in Operation S102 eine Schreiboperation durchführen. Zum Beispiel können der UFS-Host 1100 und die UFS-Vorrichtung 1200 die normale Schreiboperation oder die Turboschreiboperation wiederholt durchführen, wie mit Bezug auf 8 beschrieben.
  • In Operation S103 kann der UFS-Host 1100 bestimmen, ob der Turboschreibpuffer TWB rekonfiguriert werden soll. Zum Beispiel kann der UFS-Host 1100 durch die Schreiboperationen in Operation S102 Informationen einer Ressource, die von der UFS-Vorrichtung 1200 verwendet wird, überprüfen und kann basierend auf den überprüften Informationen bestimmen, ob der Turboschreibpuffer TWB rekonfiguriert werden muss.
  • Zum Beispiel, wie mit Bezug auf 2 beschrieben, kann ein verfügbarer Raum des Nutzerspeichers UST, während eine Schreiboperation wiederholt durchgeführt wird, unzureichend werden. In diesem Fall kann ein verfügbarer Raum des Nutzerspeichers UST durch Zurückgeben oder Zuordnen eines Teilraums des Turbospeicherpuffers TWB an den Nutzerspeicher UST sichergestellt werden.
  • Nach mindestens einem Ausführungsbeispiel, wie mit Bezug auf 6 oder 7 beschrieben, in dem Fall, in dem der Turboschreibpuffer TWB im Modus ohne Verringerung der Nutzerkapazität konfiguriert wird, kann der Turboschreibpuffer TWB durch die UFS-Vorrichtung 1200 an den Nutzerspeicher UST zurückgegeben werden. Da jedoch das Zurückgeben des Turboschreibpuffers TWB durch die UFS-Vorrichtung eine separate Verschiebungsoperation erfordert, kann zusätzlich eine Performanceverringerung verursacht werden. Das heißt, der UFS-Host 1100 kann die Performanceverringerung der UFS-Vorrichtung 1200 durch Verringern einer Größe des Turboschreibpuffers TWB im Voraus verhindern.
  • Nach mindestens einem Ausführungsbeispiel können die Informationen (nachfolgend als „Hinweisinformationen“ bezeichnet), die verwendet werden, um zu bestimmen, ob der Turboschreibpuffer TWB rekonfiguriert werden soll, von der UFS-Vorrichtung 1200 erhalten werden oder können vom UFS-Host 1100 verwaltet werden.
  • Nach mindestens einem Ausführungsbeispiel können die Hinweisinformationen Informationen zu einer gegenwärtigen verfügbaren Größe des Nutzerspeichers UST in der UFS-Vorrichtung 1200 enthalten. Wenn zum Beispiel die gegenwärtige verfügbare Größe des Nutzerspeichers UST gleich oder kleiner ist als ein Bezugswert, kann der UFS-Host 1100 die Rekonfiguration des Turboschreibpuffers TWB bestimmen.
  • Nach mindestens einem Ausführungsbeispiel können die Hinweisinformationen Informationen zu einem verfügbaren Raum eines Turboschreibpuffers der UFS-Vorrichtung 1200 enthalten. Zum Beispiel kann die UFS-Vorrichtung 1200 Informationen zu einer gegenwärtigen Größe des Turboschreibpuffers TWB an einem Feld für die gegenwärtige Turboschreibpuffergröße (z.B. „dCurrentTurboWriteBufferSize“) der ATTRIBUTE einstellen und kann Informationen zu einem Verhältnis einer gegenwärtigen verfügbaren Kapazität des Turboschreibpuffers TWB an einem Feld für die verfügbare Turboschreibpuffergröße (z.B. „dAvailableTurboWriteBufferSize“) davon einstellen. Der UFS-Host 1100 kann eine gegenwärtige verfügbare Größe eines Turboschreibpuffers durch Überprüfen des Felds für die gegenwärtige Turboschreibpuffergröße und des Felds für die verfügbare Turboschreibpuffergröße der ATTRIBUTE der UFS-Vorrichtung überprüfen. Der UFS-Host 1100 kann basierend auf den überprüften Informationen bestimmen, ob der Turboschreibpuffer TWB rekonfiguriert werden soll. Zum Beispiel in dem Fall, in dem ein verfügbarer Raum des Nutzerspeichers UST relativ kleiner ist als ein verfügbarer Raum des Turboschreibpuffers TWB, kann der UFS-Host 1100 die Rekonfiguration des Turboschreibpuffers TWB bestimmen. Zum Beispiel kann der UFS-Host 1100 eine Größe des zu rekonfigurierenden Turboschreibpuffers TWB basierend auf einer verfügbaren Größe des Turboschreibpuffers TWB bestimmen.
  • Nach mindestens einem Ausführungsbeispiel können die Hinweisinformationen Lebensdauerinformationen zu dem Turboschreibpuffer TWB der UFS-Vorrichtung 1200 enthalten. Nach mindestens einem Ausführungsbeispiel kann die UFS-Vorrichtung 1200 Informationen zu einer Lebensdauer des Turboschreibpuffers TWB basierend auf der Anzahl an P/E-Zyklen eines physischen Speicherraums (oder eines Speicherblocks), der dem Turboschreibpuffer TWB zugeordnet ist oder für jenen verwendet wird, bereitstellen. Die UFS-Vorrichtung 1200 kann Informationen zu einer Lebensdauer des Turboschreibpuffers TWB an einem Turboschreibpuffer-Lebensdauerschätzfeld (z.B. „dTurboWriteBufferLifeTimeEst“) der ATTRIBUTE einstellen. Der UFS-Host 1100 kann die Lebensdauer des Turboschreibpuffers TWB durch Überprüfen des Turboschreibpuffer-Lebensdauerschätzfelds der ATTRIBUTE der UFS-Vorrichtung 1200 durch eine Abfrageanforderung schätzen. Nach mindestens einem Ausführungsbeispiel, da der Nutzerspeicher UST und der Turboschreibpuffer TWB im Modus ohne Verringerung der Nutzerkapazität den physischen Speicherraum PST gemeinsam nutzen, in dem Fall, in dem eine Schreiboperation am Nutzerspeicher UST durchgeführt wird, kann sich die Lebensdauer des Turboschreibpuffers TWB verringern. Nach mindestens einem Ausführungsbeispiel kann der UFS-Host 1100 basierend auf den Lebensdauerinformationen zu dem Turboschreibpuffer TWB die Rekonfiguration des Turboschreibpuffers TWB bestimmen oder kann eine Größe des zu rekonfigurierenden Turboschreibpuffers TWB bestimmen.
  • In dem Fall, in dem der Turboschreibpuffer TWB nicht rekonfiguriert werden muss, führen der UFS-Host 1100 und die UFS-Vorrichtung 1200 Operation S102 ohne separate Rekonfiguration durch. In dem Fall, in dem der Turboschreibpuffer TWB rekonfiguriert werden muss, können der UFS-Host 1100 und die UFS-Vorrichtung 1200 in Operation S100 die Rekonfiguration des Turboschreibpuffers TWB durchführen. Zum Beispiel kann der UFS-Host 1100 durch Rekonfigurieren einer Maximalgröße oder einer gegenwärtigen Größe des Turboschreibpuffers TWB einen für den Turboschreibpuffer TWB verwendeten physischen Speicherraum an den Nutzerspeicher UST zurückgeben oder kann einen für den Nutzerspeicher UST verwendeten physischen Speicherraum dem Turboschreibpuffer TWB zuordnen. Nach mindestens einem Ausführungsbeispiel kann der UFS-Host 1100 eine Größe eines Turboschreibpuffers durch Einstellen von Informationen spezifischer Felder der UFS-Vorrichtung 1200 ändern.
  • Wie oben beschrieben, kann der UFS-Host 1100 nach mindestens einem Ausführungsbeispiel eine gegenwärtige Größe oder eine Maximalgröße des Turboschreibpuffers TWB während des Antriebs der UFS-Vorrichtung 1200 ändern. In dem Fall, da der Overhead (z.B. eine zusätzliche Verschiebungsoperation) aufgrund des Zurückgebens des Turboschreibpuffers TWB durch die UFS-Vorrichtung 1200 verhindert wird, wird die Gesamtperformance des UFS-Systems 1000 verbessert.
  • In der obigen Ausführungsform wird die Beschreibung gegeben, wenn der UFS-Host 1100 eine Größe des Turboschreibpuffers TWB der UFS-Vorrichtung 1200 ändert oder rekonfiguriert, mindestens einige Ausführungsbeispiele sind jedoch nicht darauf beschränkt. Der UFS-Host 1100 kann eine dem Turboschreibpuffer TWB zugeordnete Vielzahl an Informationen, wie eine Größe, einen Modus oder einen Typ des Turboschreibpuffers TWB, durch die Rekonfiguration des Turboschreibpuffers TWB ändern oder rekonfigurieren.
  • 10 und 11 sind Flussdiagramme, die eine Operation zum Rekonfigurieren eines Turboschreibpuffers darstellen, die mit Bezug auf 9 beschrieben wird. Die Flussdiagramme aus 10 und 11 zeigen Operation S100 aus 9 ausführlich. Der Einfachheit der Beschreibung halber wird angenommen, dass das Rekonfigurieren des Turboschreibpuffers TWB bedeutet, eine Größe des Turboschreibpuffers TWB zu rekonfigurieren. Mindestens einige Ausführungsbeispiele sind jedoch nicht darauf beschränkt. Zum Beispiel kann eine Vielzahl an Informationen, wie eine Größe, ein Modus oder ein Typ des Turboschreibpuffers TWB, durch die Rekonfiguration des Turboschreibpuffers TWB rekonfiguriert werden.
  • Bezugnehmend auf 1, 2, 9 und 10 können der UFS-Host 1100 und die UFS-Vorrichtung 1200 die Rekonfiguration des Turboschreibpuffers TWB in Operation S110 durch Operation S111 bis Operation S118 durchführen.
  • In Operation S111 kann der UFS-Host 1100 eine Abfrageanforderungs-UPIU an die UFS-Vorrichtung 1200 senden. Die Abfrageanforderungs-UPIU in Operation S111 kann eine Anforderung zum Lesen von Informationen zu einer Größe des Turboschreibpuffers TWB sein. Zum Beispiel, wie mit Bezug auf 9 beschrieben, kann der UFS-Host 1100 eine gegenwärtige verfügbare Größe des Turboschreibpuffers TWB basierend auf dem Feld für die gegenwärtige Turboschreibpuffergröße (z.B. „dCurrentTurboWriteBufferSize“) der ATTRIBUTE und dem Feld für die verfügbare Turboschreibpuffergröße (z.B. „dAvailableTurboWriteBufferSize“) der ATTRIBUTE überprüfen. In diesem Fall kann die Abfrageanforderungs-UPIU in Operation S111 eine Anforderung zum Lesen des Felds für die gegenwärtige Turboschreibpuffergröße („dCurrentTurboWriteBufferSize“) der ATTRIBUTE und des Felds für die verfügbare Turboschreibpuffergröße (z.B. „dAvailableTurboWriteBufferSize“) der ATTRIBUTE sein und eine Antwort-UPIU in Operation S112 kann eine Antwort sein, welche die oben genannten Feldwerte enthält.
  • Nach mindesten einem Ausführungsbeispiel kann der UFS-Host 1100 eine gegenwärtige verfügbare Größe des Turboschreibpuffers TWB in der UFS-Vorrichtung 1200 durch Operation S111 und Operation S112 überprüfen und kann eine Größe des zu rekonfigurierenden Turboschreibpuffers TWB basierend auf der verfügbaren Größe des Turboschreibpuffers TWB bestimmen.
  • In Operation S113 kann der UFS-Host 1100 die Abfrageanforderungs-UPIU an die UFS-Vorrichtung 1200 senden; in Operation S114 kann die UFS-Vorrichtung 1200 eine Antwort-UPIU an den UFS-Host 1100 senden.
  • Nach mindestens einem Ausführungsbeispiel kann die Abfrageanforderungs-UPIU in Operation S113 eine Anforderung zum Entsperren des Konfigurationsdeskriptors sein. Zum Beispiel können Informationen zu dem Turboschreibpuffer TWB an verschiedenen Feldern eingestellt werden, nachdem der Turboschreibpuffer TWB das erste Mal konfiguriert worden ist. In diesem Fall, um eine Änderung der somit eingestellten Felder zu verhindern, kann ein Konfigurationsdeskriptorsperrfeld (z.B. „bConfigDescrLock“) der ATTRIBUTE mit einem spezifischen Wert (z.B. „Olh“) eingestellt werden. In dem Fall, in dem das Konfigurationsdeskriptorsperrfeld (z.B. „bConfigDescrLock“) der ATTRIBUTE mit dem spezifischen Wert (z.B. „Olh“) eingestellt wird, wird eine Schreiboperation, die den Feldern zugeordnet ist, in denen die Informationen zu dem Turboschreibpuffer TWB gespeichert sind, als ein Fehlschlag verarbeitet. Dementsprechend, um den Turboschreibpuffer TWB zu rekonfigurieren, kann der UFS-Host 1100 den Konfigurationsdeskriptor durch Ändern eines Werts des Konfigurationsdeskriptorsperrfelds (z.B. „bConfigDescrLock“) der ATTRIBUTE zu einem anderen Wert (z.B. „00h“) entsperren.
  • Nach mindestens einem Ausführungsbeispiel kann zum Entsperren des Konfigurationsdeskriptors anstatt der Änderung eines Werts des Konfigurationsdeskriptorsperrfelds der ATTRIBUTE der UFS-Vorrichtung 1200 ein bestimmtes Feld eingestellt werden, das zum Rekonfigurieren des Turboschreibpuffers TWB oder zum vorübergehenden Entsperren des Konfigurationsdeskriptors imstande ist. Nach mindestens einem Ausführungsbeispiel kann das bestimmte Feld eines von reservierten Feldern einer Vielzahl an Informationen sein, wie die ATTRIBUTE und der FLAG der UFS-Vorrichtung 1200.
  • In Operation S115 kann der UFS-Host 1100 die Abfrageanforderungs-UPIU an die UFS-Vorrichtung 1200 senden. In Operation S116 kann die UFS-Vorrichtung 1200 die Antwort-UPIU auf die Abfrageanforderungs-UPIU an den UFS-Host 1100 übertragen.
  • Nach mindestens einem Ausführungsbeispiel kann die Abfrageanforderungs-UPIU in Operation S115 eine Anforderung zum Rekonfigurieren des Turboschreibpuffers TWB sein. Zum Beispiel können durch die Abfrageanforderungs-UPIU in Operation S115 Feldwerte, die einer Größe des Turboschreibpuffers TWB zugeordnet sind, geändert werden. Zum Beispiel können der Größe des Turboschreibpuffers TWB zugeordnete Größen Felder wie die folgenden enthalten: das Turboschreibpuffer-Zuordnungsanzahlfeld pro Logikeinheit (z.B. „dLUNumTurboWriteBufferAllocUnits“) des Einheitendeskriptors, das Zuordnungseinheitenanzahlfeld für einen gemeinsam genutzten Turboschreibpuffer (z.B. „dNumSharedTurboWriteBufferAllocUnits“) des Vorrichtungsdeskriptors oder des Konfigurationsdeskriptors, das Feld für die gegenwärtige Turboschreibpuffergröße (z.B. „dCurrentTurboWriteBufferSize“) der ATTRIBUTE, das Turboschreibpuffer-Maximalgrößenfeld (z.B. „dTurboWriteBufferMaxNAllocUnits“) und das Turboschreibpuffer-Kapazitätseinstellungsfaktorfeld (z.B. „bTurboWriteBufferCapAdjFac“).
  • Wenn Werte der oben genannten Felder rekonfiguriert werden, kann eine Größe des Turboschreibpuffers TWB einstellbar sein. Wenn die Größe des Turboschreibpuffers TWB einstellbar ist, kann der Nutzerspeicher UST sichergestellt werden. Wenn zum Beispiel das Turboschreibpuffer-Zuordnungsanzahlfeld pro Logikeinheit (z.B. „dLUNumTurboWriteBufferAllocUnits“) des Einheitsdeskriptors eingestellt wird, kann eine Größe eines pro Logikeinheit zuzuordnenden Turboschreibpuffers eingestellt werden. Wenn das Zuordnungseinheitenanzahlfeld für einen gemeinsam genutzten Turboschreibpuffer (z.B. „dNumSharedTurboWriteBufferAllocUnits“) des Vorrichtungsdeskriptors oder des Konfigurationsdeskriptors eingestellt wird, kann eine Größe eines gemeinsam genutzten Turboschreibpuffers eingestellt werden. Wenn das Feld für die gegenwärtige Turboschreibpuffergröße (z.B. „dCurrentTurboWriteBufferSize“) der ATTRIBUTE eingestellt wird, kann eine Größe des Turboschreibpuffers TWB, die gegenwärtig an der UFS-Vorrichtung 1200 verwendet oder sichergestellt werden sollte, eingestellt werden. Wenn das Turboschreibpuffer-Maximalgrößenfeld (z.B. „dTurboWriteBufferMaxNAllocUnits“) eingestellt wird, kann eine Maximalgröße des Turboschreibpuffers TWB eingestellt werden. Wenn das Turboschreibpuffer-Kapazitätseinstellungsfaktorfeld (z.B. „bTurboWriteBufferCapAdjFac“) eingestellt wird, obwohl eine Größe eines Turboschreibpuffers nicht variabel ist, kann eine Größe eines physischen Speicherraums, der dem Turboschreibpuffer entspricht, variabel sein. Zum Beispiel in dem Fall, in dem das Turboschreibpuffer-Kapazitätseinstellungsfaktorfeld (z.B. „bTurboWriteBufferCapAdjFac“) von „MLC“ zu „TLC“ oder „QLC“ geändert wird, obwohl eine Kapazität des Turboschreibpuffers TWB gehalten wird, kann ein physischer Speicherraum für den Turboschreibpuffer TWB verringert werden und der verbleibende physische Speicherraum kann als der Nutzerspeicher UST verwendet werden.
  • Nach mindestens einem Ausführungsbeispiel können einige der oben beschriebenen Feldwerte womöglich nicht gemäß einem Wert des Konfigurationsdeskriptorsperrfelds geändert werden. Wenn jedoch der UFS-Host 1100 einen Wert des Konfigurationsdeskriptorsperrfelds ändert oder das bestimmte Feld durch Operation S112 und Operation S113 einstellt, können einige der oben beschriebenen Feldwerte geändert werden.
  • Nachdem die Rekonfiguration des Turboschreibpuffers TWB abgeschlossen ist, kann der UFS-Host 110 in Operation S117 die Abfrageanforderungs-UPIU an die UFS-Vorrichtung 1200 senden. In Operation S118 kann die UFS-Vorrichtung 1200 die Antwort-UPIU an den UFS-Host 1100 senden. Nach mindestens einem Ausführungsbeispiel können Operation S117 und Operation S118 Operationen zum Ändern eines Werts des Konfigurationsdeskriptorsperrfelds zu einem Sperrzustand (z.B. „Olh“) oder zum Ändern eines Werts des bestimmten Felds derart, dass der Konfigurationsdeskriptor entsperrt wird, sein. Nach mindestens einem Ausführungsbeispiel, in dem Fall, in dem der Konfigurationsdeskriptor durch Einstellen des bestimmten Felds vorübergehend entsperrt wird, wenn ein Wert des bestimmten Felds nicht nochmal geändert werden muss, sind Operation S117 und Operation S118 weggelassen.
  • Als nächstes, bezugnehmend auf 1, 2, 9 und 11, können der UFS-Host 1100 und die UFS-Vorrichtung 1200 die Rekonfiguration des Turboschreibpuffers TWB in Operation S100 durch Operation S121 bis Operation S124 durchführen. Operation S121 und Operation S122 sind Operation S111 und Operation S112 aus 10 ähnlich und somit wird eine zusätzlich Beschreibung weggelassen, um Redundanz zu vermeiden.
  • In Operation S123 kann der UFS-Host 1100 die Abfrageanforderungs-UPIU an die UFS-Vorrichtung 1200 senden. In Operation S124 kann die UFS-Vorrichtung die Antwort-UPIU an den UFS-Host 1100 senden. Die Abfrageanforderungs-UPIU in Operation S123 kann eine Anforderung zum Rekonfigurieren des Turboschreibpuffers TWB sein.
  • Im Gegensatz zu der Ausführungsform aus 10 kann der UFS-Host 1100 in der Ausführungsform aus 11 den Turboschreibpuffer TWB rekonfigurieren, ohne den Konfigurationsdeskriptor zu entsperren. Zum Beispiel können Felder, die einer Größe, einem Modus oder einem Typ des Turboschreibpuffers TWB zugeordnet sind, bei jedem beliebigen anderen Deskriptor(en) (z.B. dem FLAG oder den ATTRIBUTEN), mit Ausnahme des Konfigurationsdeskriptors, eingestellt werden. In diesem Fall können der (die) andere(n) Deskriptor(en) Felder enthalten, die vom UFS-Host 1100 gelesen und geschrieben werden können. Das heißt, in dem Fall, in dem ein Feld oder Informationen, die einer Größe des Turboschreibpuffers TWB zugeordnet sind, in einem Deskriptor enthalten sind, der unabhängig davon, ob der Konfigurationsdeskriptor gesperrt ist, vom UFS-Host 1100 gelesen und geschrieben werden kann, kann der UFS-Host 1100 den Turboschreibpuffer TWB rekonfigurieren, ohne den Konfigurationsdeskriptor zu entsperren.
  • Nach mindestens einem Ausführungsbeispiel können das Feld oder die Informationen, die der Größe, dem Modus oder dem Typ des Turboschreibpuffers TWB zugeordnet sind, an einem separaten bestimmten Feld eingestellt werden. In diesem Fall kann der UFS-Host 1100 den Turboschreibpuffer TWB rekonfigurieren, ohne den Konfigurationsdeskriptor zu entsperren.
  • Wie oben beschrieben, kann der UFS-Host 1100 nach mindestens einem Ausführungsbeispiel den Turboschreibpuffer TWB der UFS-Vorrichtung 1200 abhängig von einem Betriebszustand der UFS-Vorrichtung 1200 aktiv rekonfigurieren. In diesem Fall, verglichen mit dem Fall, in dem der Turboschreibpuffer TWB durch die UFS-Vorrichtung 1200 an den Nutzerspeicher UST zurückgegeben wird, kann ein separater Overhead verhindert werden und somit kann die Gesamtperformance des UFS-Systems 1000 verbessert werden.
  • 12 ist ein Flussidagramm, das einen Betrieb eines UFS-Systems aus 1 darstellt. Der Einfachheit der Beschreibung halber sind zusätzliche Beschreibungen, die den oben beschriebenen Komponenten zugeordnet sind, weggelassen, um Redundanz zu vermeiden. Bezugnehmend auf 1, 2 und 12 können der UFS-Host 1100 und die UFS-Vorrichtung 1200 Operation S201, Operation S210, Operation S202, Operation S220, Operation S203 und Operation S200 durchführen. Operation S201, Operation S220, Operation S203 und Operation S200 sind Operation S101, Operation 102, Operation S103 und Operation S100 aus 9 ähnlich und somit ist eine zusätzliche Beschreibung weggelassen, um Redundanz zu vermeiden.
  • In der Ausführungsform aus 9 bestimmt der UFS-Host 1100, ob der Turboschreibpuffer TWB rekonfiguriert werden soll, oder verwaltet für die Rekonfiguration erforderliche Hinweisinformationen automatisch. Im Gegensatz dazu, können in der Ausführungsform aus 12 die Hinweisinformationen von der UFS-Vorrichtung 1200 gesammelt und verwaltet werden. Zum Beispiel kann der UFS-Host 1100 in Operation S210, nachdem der Turboschreibpuffer TWB in Operation S201 konfiguriert worden ist, die Abfrageanforderungs-UPIU an die UFS-Vorrichtung 1200 senden und die UFS-Vorrichtung 1200 kann die Antwort-UPIU an den UFS-Host 1100 senden. Die Abfrageanforderungs-UPIU in Operation S210 kann eine Anforderung zum Einstellen eines Intervalls sein, dort, wo die Hinweisinformationen gesammelt werden, das heißt, eines Sammelintervalls oder eines Sammelzeitraums. Zum Beispiel kann der UFS-Host 1100 das Intervall zum Sammeln der Hinweisinformationen einstellen. Anschließend, während des vom UFS-Host 1100 eingestellten Intervalls, kann die UFS-Vorrichtung 1200 verschiedene Operationen (z.B. Operation S202, eine normale Schreiboperation, eine Turboschreiboperation, eine normale Leseoperation, eine Turboleseoperation oder eine Löschoperation) unter Steuerung des UFS-Hosts 1100 oder abhängig von einer internen Aufrechterhaltungsbedingung durchführen und kann die Hinweisinformationen basierend auf Ergebnissen der somit durchgeführten Operationen sammeln.
  • Nach mindestens einem Ausführungsbeispiel können die von der UFS-Vorrichtung 1200 gesammelten Hinweisinformationen Verwendungsinformationen zu einem Turboschreibpuffer enthalten, der während des Sammelintervalls verwendet werden, wie eine Gesamtverwendung, eine Durchschnittsverwendung oder eine Maximalverwendung. Nach mindestens einem Ausführungsbeispiel kann die UFS-Vorrichtung 1200 eine für die UFS-Vorrichtung 1200 erforderliche optimale Kapazität eines Turboschreibpuffers basierend auf den Hinweisinformationen berechnen, die während des Sammelintervalls gesammelt werden, das vom UFS-Host 1100 eingestellt wird, und die berechneten Informationen können in den Hinweisinformationen enthalten sein.
  • Nachdem das eingestellte Sammelintervall abgelaufen ist, kann der UFS-Host 1100 in Operation S220 die Abfrageanforderungs-UPIU an die UFS-Vorrichtung 1200 senden und die UFS-Vorrichtung 1200 kann die Antwort-UPIU an den UFS-Host 1100 senden. Nach mindestens einem Ausführungsbeispiel kann die Abfrageanforderungs-UPIU in Operation S220 eine Anforderung zum Lesen der von der UFS-Vorrichtung 1200 während des Sammelintervalls gesammelten Hinweisinformationen sein und die Antwort-UPIU in Operation S220 kann die von der UFS-Vorrichtung 1200 während des Sammelintervalls gesammelten Hinweisinformationen enthalten.
  • Anschließend kann der UFS-Host 1100 basierend auf den Hinweisinformationen bestimmen, ob der Turboschreibpuffer TWB rekonfiguriert werden soll, und kann einen Turboschreibpuffer abhängig von einem Bestimmungsergebnis rekonfigurieren. Dies ist oben beschrieben und somit ist eine zusätzliche Beschreibung weggelassen, um Redundanz zu vermeiden.
  • Wie oben beschrieben, kann der UFS-Host 1100 den Turboschreibpuffer TWB basierend auf den Hinweisinformationen konfigurieren. In den oben genannten Ausführungsformen wird die Beschreibung gegeben, wenn der UFS-Host 1100 basierend auf den Hinweisinformationen bestimmt, ob der Turboschreibpuffer TWB rekonfiguriert werden soll, mindestens einige Ausführungsbeispiele sind jedoch nicht darauf beschränkt. Um zum Beispiel einen Raum des Nutzerspeichers UST sicherzustellen oder die Performanceverringerung der normalen Schreiboperation zu verhindern, kann der UFS-Host 1100 bestimmen, ob der Turboschreibpuffer TWB rekonfiguriert werden soll; wenn die Rekonfiguration des Turboschreibpuffers TWB bestimmt wird, kann der UFS-Host 1100 eine Operation zum Sammeln der Hinweisinformationen durchführen.
  • 13 bis 17 sind Diagramme zum Beschreiben eines rekonfigurierten Turboschreibpuffers nach mindestens einem Ausführungsbeispiel. Jeweilige in 13 bis 17 dargestellten Bereiche sind ähnlich jenen, die mit Bezug auf 5 bis 7 beschrieben werden, und der Einfach der Beschreibung halber ist eine zusätzliche Beschreibung weggelassen, um Redundanz zu vermeiden. Außerdem wird der Einfachheit halber eine Beschreibung gegeben, wenn die Rekonfiguration des Turboschreibpuffers TWB derart durchgeführt wird, dass ein physischer Speicherraum für den Nutzerspeicher UST sichergestellt wird. Zum Beispiel kann die Rekonfiguration des Turboschreibpuffers TWB derart durchgeführt werden, dass ein Raum des Turboschreibpuffers TWB sichergestellt wird oder eine Performance verbessert wird.
  • Zunächst, bezugnehmend auf 1, 2 und 13, kann der Turboschreibpuffer TWB der UFS-Vorrichtung 1200 gemäß dem Modus zur Verringerung der Nutzerkapazität konfiguriert werden. Die Konfiguration des Turboschreibpuffers TWB basierend auf dem Modus zur Verringerung der Nutzerkapazität ist ähnlich jener, die mit Bezug auf 5 beschrieben wird, und somit ist eine zusätzliche Beschreibung weggelassen, um Redundanz zu vermeiden.
  • Die TWB-Rekonfiguration kann derart durchgeführt werden, dass eine Kapazität des Turboschreibpuffers TWB verringert wird. Zum Beispiel, wie in 13 dargestellt, kann sich eine Kapazität eines Turboschreibpuffers TWBa' nach der TWB-Rekonfiguration auf 2 GB verringern. In diesem Fall kann sich ein zweiter physischer Speicherraum PST2', der dem Turboschreibpuffer TWBa' entspricht, auf 2 GB auf der Basis der SLC verringern und somit wird ein erster erweiterter physischer Speicherraum PST_e1 von 6 GB auf der Basis der TLC zurückgegeben. Der erste erweiterte physische Speicherraum PST_e1 kann als ein Nutzerspeicher USTa' verwendet werden und somit kann der Nutzerspeicher USTa' vom UFS-Host 1100 als eine Kapazität von 26 GB aufweisend erkannt werden. Das heißt, verglichen mit vor der Rekonfiguration des Turboschreibpuffers TWB, kann eine Kapazität des Nutzerspeichers USTa' zunehmen, nachdem der Turboschreibpuffer TWB rekonfiguriert worden ist.
  • Als nächstes, bezugnehmend auf 1, 2 und 14, kann der Turboschreibpuffer TWBb der UFS-Vorrichtung 1200 gemäß dem Modus ohne Verringerung der Nutzerkapazität konfiguriert werden. Die Konfiguration des Turboschreibpuffers TWBb basierend auf dem Modus ohne Verringerung der Nutzerkapazität ist ähnlich jener, die mit Bezug auf 6 beschrieben wird, und somit ist eine zusätzliche Beschreibung weggelassen, um Redundanz zu vermeiden.
  • Wie in der Ausführungsform aus 13 kann sich in der Ausführungsform aus 14 eine Größe des Turboschreibpuffers TWBb durch die TWB-Rekonfiguration verringern. Zum Beispiel, wie in 14 dargestellt, kann sich eine Kapazität eines Turboschreibpuffers TWBb' von 4 GB auf 2 GB verringern. In diesem Fall kann sich ein vierter physischer Speicherraum PST4', der dem Turboschreibpuffer TWBb' entspricht, von 4 GB auf 2 GB auf der Basis der SLC verringern und somit kann ein zweiter erweiterter physischer Speicherraum PST_e2 zurückgegeben werden, der 6 GB auf der Basis der TLC ist.
  • In dem Fall des Modus ohne Verringerung der Nutzerkapazität gibt es keine Änderung einer Kapazität des Nutzerspeichers USTb, da es keine Änderung einer Nutzerkapazität aufgrund der TWB-Konfiguration gibt. Allerdings verringert sich eine Größe des Turboschreibpuffers TWBb', eine Größe des dem Turboschreibpuffer TWBb' zugeordneten vierten physischen Speicherraums PST4' kann sich verringern und somit kann sich ein physischer Speicherraum, den der Nutzerspeicher USTb ausschließlich verwenden kann, genauso wie der zweite erweiterte physische Speicherraum PST_e2 vergrößern.
  • Dann, bezugnehmend auf 1, 2 und 15, kann der Turboschreibpuffer TWBb der UFS-Vorrichtung 1200 gemäß dem Modus zur Teilverringerung konfiguriert werden. Die Konfiguration der Turboschreibpuffer TWBa und TWBb basierend auf dem Modus zur Teilverringerung ist ähnlich jener, die mit Bezug auf 7 beschrieben wird, und somit ist eine zusätzliche Beschreibung weggelassen, um Redundanz zu vermeiden.
  • In der Ausführungsform aus 15 ist das Rekonfigurieren der Turboschreibpuffer TWBa und TWBb ähnlich jenem gemäß einer Kombination der Ausführungsformen aus 13 und 14 und somit ist eine zusätzliche Beschreibung weggelassen, um Redundanz zu vermeiden. Nach mindestens einem Ausführungsbeispiel kann ein dritter erweiterter physischer Speicherraum PST_e3 durch die Rekonfiguration des Turboschreibpuffers TWBb' sichergestellt werden und der vierte erweiterte physische Speicherraum PST_e4 kann durch die Rekonfiguration des Turboschreibpuffers TWBa' sichergestellt werden. Der Nutzerspeicher USTc' kann sich dadurch, dass der vierte erweiterte physische Speicherraum PST_e4 6 GB auf der Basis der TLC ist, um bis zu 6 GB vergrößern.
  • Dadurch, dass der dritte erweiterte physische Speicherraum PST_e3 6 GB auf der Basis der TLC ist und der vierte erweiterte physische Speicherraum PST_e4 6 GB auf der Basis der TLC ist, kann sich ein physischer Speicherraum, den ein Nutzerspeicher USTc' ausschließlich verwenden kann, um bis zu 12 GB vergrößern.
  • In der obigen Ausführungsform stellt der UFS-Host 1100 einen physischen Speicherraum für den Nutzerspeicher UST durch direktes Ändern einer Größe des Turboschreibpuffers TWB sicher. Nach mindestens einem Ausführungsbeispiel kann der UFS-Host 1100 eine Kapazität des Nutzerspeichers UST erhöhen, ohne eine Größe des Turboschreibpuffers TWB direkt zu ändern.
  • Zum Beispiel, bezugnehmend auf 1, 2 und 16, kann der Turboschreibpuffer TWBa der UFS-Vorrichtung 1200 gemäß dem Modus zur Verringerung der Nutzerkapazität konfiguriert werden. Die Konfiguration des Turboschreibpuffers TWBa basierend auf dem Modus zur Verringerung der Nutzerkapazität ist ähnlicher jener, die mit Bezug auf 5 beschrieben wird, und somit ist eine zusätzliche Beschreibung weggelassen, um Redundanz zu vermeiden.
  • Wenn ein Modus des Turboschreibpuffers TWB geändert wird, kann die TWB-Rekonfiguration durchgeführt werden. Wie in 16 dargestellt, kann ein Modus für einen Turboschreibpuffer vom Modus zur Verringerung der Nutzerkapazität zum Modus ohne Verringerung der Nutzerkapazität geändert werden. In diesem Fall wird der zweite physische Speicherraum PST2, der dem Turboschreibpuffer TWBa zugeordnet ist und nicht als der Nutzerspeicher USTa erkannt wird, zum vierten physischen Speicherraum PST4 geändert, welcher als der Nutzerspeicher USTb erkannt wird. Dementsprechend kann sich der Nutzerspeicher USTb von 20 GB auf 32 GB vergrößern. Das heißt, eine Kapazität des Nutzerspeichers UST kann durch Ändern eines Modus des Turboschreibpuffers TWB variabel sein, während eine Größe des Turboschreibpuffers TWB gehalten wird.
  • Nach mindestens einem Ausführungsbeispiel kann die TWB-Rekonfiguration abhängig von einem Umsetzungsverfahren einen Moduswechsel zwischen dem Modus zur Verringerung der Nutzerkapazität, dem Modus ohne Verringerung der Nutzerkapazität und dem Modus zur Teilverringerung bereitstellen.
  • Bezugnehmend auf 1, 2 und 17 kann der Turboschreibpuffer TWBa der UFS-Vorrichtung 1200 gemäß dem Modus zur Verringerung der Nutzerkapazität konfiguriert werden. Die Konfiguration des Turboschreibpuffers TWBa basierend auf dem Modus zur Verringerung der Nutzerkapazität ist ähnlich jener, die mit Bezug auf 5 beschrieben wird, und somit ist eine zusätzliche Beschreibung weggelassen, um Redundanz zu vermeiden.
  • Der UFS-Host 1100 kann die TWB-Rekonfiguration durch Ändern eines Kapazitätseinstellungsfaktors des Turboschreibpuffers TWBa durchführen. Der Kapazitätseinstellungsfaktor kann Informationen (z.B. SLC-, MLC-, TLC- oder QLC-Informationen) zu der Anzahl an Bits angeben, die jede Zelle eines physischen Speicherraums, der dem Turboschreibpuffer TWB zugeordnet ist, speichert. Wenn sich der Kapazitätseinstellungsfaktor in einem Zustand erhöht, in dem eine Kapazität des Turboschreibpuffers TWBa fest ist, kann sich eine Größe eines physischen Speicherraums des Turboschreibpuffers TWBa verringern.
  • Das heißt, wie in 17 dargestellt, der UFS-Host 1100 kann den Kapazitätseinstellungsfaktor des Turboschreibpuffers TWBa von SLC zu MLC ändern. In diesem Fall kann eine Größe des Turboschreibpuffers TWBa bei 4 GB gehalten werden. Speicherzellen eines zweiten physischen Speicherraums PST2', der dem Turboschreibpuffer TWBa entspricht, können j edoch als MLC verwendet werden und somit kann sich eine physische Größe des zweiten physischen Speicherraums PST2' verringern. Ein fünfter erweiterter physischer Speicherraum PST_e5 kann genauso wie das Dekrement der physischen Größe des zweiten physischen Speicherraums PST2' sichergestellt werden. Nach mindestens einem Ausführungsbeispiel kann sich eine physische Größe des zweiten physischen Speicherraums PST2, die 4 GB auf der Basis der SLC ist, auf eine physische Größe des zweiten physischen Speicherraums PST2', die 4 GB auf der Basis der MLC ist, verringern und der fünfte erweiterte physische Speicherraum PST_e5, welcher der verringerten physischen Größe entspricht, kann 6 GB auf der Basis der TLC sein. Der fünfte erweiterte physische Speicherraum PST_e5, der 6 GB auf der Basis der TLC ist, kann als der Nutzerspeicher USTa' verwendet werden.
  • Wie oben beschrieben, kann der UFS-Host 1100 den Turboschreibpuffer TWB der UFS-Vorrichtung 1200 durch verschiedene Verfahren oder durch Ändern verschiedener Feldwerte rekonfigurieren. Nach mindestens einem Ausführungsbeispiel kann der UFS-Host 1100 den Turboschreibpuffer TWB während des Antriebs der UFS-Vorrichtung 1200 rekonfigurieren (d.h. ohne eine separate Zurücksetzungs- oder Initialisierungsoperation).
  • Unten werden Ausführungsformen beschrieben, in denen eine Größe, ein Modus und ein Kapazitätseinstellungsfaktor des Turboschreibpuffers TWB geändert werden, mindestens einige Ausführungsbeispiele sind jedoch nicht darauf beschränkt. Zum Beispiel kann der UFS-Host 1100 den Turboschreibpuffer TWB basierend auf jeder der obigen Ausführungsformen oder einer Kombination aus allen oder einigen der obigen Ausführungsformen rekonfigurieren. Die obigen Ausführungsformen sind Beispiele für die Rekonfiguration des Turboschreibpuffers TWB und sind nicht dafür beabsichtigt, Ausführungsbeispiele der erfinderischen Konzepte zu beschränken.
  • 18 bis 20 sind Diagramme eines Formfaktors einer UFS-Karte 2000. Wenn das mit Bezug auf 1 bis 16 beschriebene UFS-System 1000 als die UFS-Karte 2000 umgesetzt ist, kann ein äußere Erscheinungsbild der UFS-Karte 2000 wie in 18 bis 20 gezeigt sein.
  • 18 ist eine Draufsicht der UFS-Karte 2000 nach einem Ausführungsbeispiel. Bezugnehmend auf 18 kann erkannt werden, dass die UFS-Karte 2000 ganz einer haiförmigen Struktur folgt. In 18 kann die UFS-Karte 2000 Dimensionen aufweisen, die in Tabelle 1 unten als ein Beispiel gezeigt werden. [Tabelle 1]
    Item Dimension (mm)
    T1 9,70
    T2 15,00
    T3 11,00
    T4 9,70
    T5 5,15
    T6 0,25
    T7 0,60
    T8 0,75
    T9 R0,80
  • 19 ist eine Seitenansicht der UFS-Karte 2000 nach einem Ausführungsbeispiel. In 19 kann die UFS-Karte 2000 Dimensionen aufweisen, die in Tabelle 2 unten als ein Beispiel gezeigt werden. [Tabelle 2]
    Item Dimension (mm)
    S1 0,74±0,06
    S2 0,30
    S3 0,52
    S4 1,20
    S5 1,05
    S6 1,00
  • 20 ist eine Bodenansicht der UFS-Karte 2000 nach einem Ausführungsbeispiel. Bezugnehmend auf 20 kann eine Mehrzahl an Pins für einen elektrischen Kontakt mit einem Slot auf einer Bodenoberfläche der UFS-Karte 2000 ausgebildet werden. Funktionen eines jeden der Pins werden unten beschrieben. Basierend auf einer Symmetrie zwischen einer Deckfläche und der Bodenoberfläche der UFS-Karte 2000 können einige Informationsteile (z.B. T1 bis T5 und T9) zu den mit Bezug auf 18 und Tabelle 1 beschriebenen Dimensionen auf die Bodenansicht der UFS-Karte 2000, die in 20 gezeigt wird, angewandt werden.
  • Eine Mehrzahl an Pins für eine elektrische Verbindung mit einem UFS-Host kann auf der Bodenoberfläche der UFS-Karte 2000 ausgebildet sein. Bezugnehmend auf 20 kann eine Gesamtanzahl an Pins 12 sein. Jeder der Pins kann eine rechtwinklige Form aufweisen und Signalnamen, die den Pins entsprechen, können wie in 20 gezeigt sein. Spezifische Informationen zu jedem der Pins werden mit Bezug auf Tabelle 3 unten und der oben mit Bezug auf 1 dargestellten Beschreibung verständlich. [Tabelle 3]
    Nr. Signalname Beschreibung Dimension (mm)
    1 Vss Masse (GND) 3,00 × 0,72±0,05
    2 DIN C Differenzialeingabesignale, die von einem Host in die UFS-Karte 4000 eingegeben werden (DIN_C ist ein negativer Knoten und DIN_T ist ein positiver Knoten) 1,50 × 0,72±0,05
    3 DIN T
    4 Vss Masse (GND) 3,00 × 0,72±0,05
    5 DOUT_C Differenzialausgabesignale, die von der UFS-Karte 4000 an den Host ausgegeben werden (DOUT _ C ist ein negativer Knoten und DOUT_T ist ein positiver Knoten) 1,50 × 0,72±0,05
    6 DOUT_T
    7 Vss Masse (GND) 3,00 × 0,72±0,05
    8 REF CLK Bezugstaktsignal, das vom Host an die UFS-Karte 4000 übermittelt wird 1,50 × 0,72±0,05
    9 VCCQ2 Leistungsversorgungsspannung, die hauptsächlich an eine PHY-Schnittstelle oder einen Controller übermittelt wird und einen niedrigeren Wert aufweist als die Spannung Vcc 3,00 × 0,72±0,05
    10 C/D(GND) Kartenerfassungssignal 1,50 × 0,72±0,05
    11 Vss Masse (GND) 3,00 × 0,80±0,05
    12 Vcc Hauptleistungsversorgungsspannung
  • 21 ist ein Diagramm eines Systems 3000, auf das eine Speicherungsvorrichtung angewandt wird, nach mindestens einem Ausführungsbeispiel. Das System 3000 aus 21 kann im Grunde ein mobiles System sein, wie ein tragbares Kommunikationsendgerät (z.B. ein Mobiltelefon), ein Smartphone, ein Tablet-Personalcomputer (PC), eine Wearable-Vorrichtung, eine Gesundheitsvorrichtung oder eine Internet-der-Dinge(IOT)-Vorrichtung. Das System 3000 aus 21 ist jedoch nicht zwangsläufig auf das mobile System beschränkt und kann ein PC, ein Laptop, ein Server, ein Mediaplayer oder eine Automobilvorrichtung (z.B. eine Navigationsvorrichtung) sein.
  • Bezugnehmend auf 21 kann das System 3000 einen Hauptprozessor 3100, Speicher (z.B. 3200a und 3200b) und Speicherungsvorrichtungen (z.B. 3300a und 330b) enthalten. Zusätzlich kann das System 3000 mindestens eines der folgenden enthalten: eine Bildaufnahmevorrichtung 3410, eine Benutzereingabevorrichtung 3420, einen Sensor 3430, eine Kommunikationsvorrichtung 3440, eine Anzeige 3450, einen Lautsprecher 3460, eine Leistungsversorgungsvorrichtung 3470 und eine Verbindungsschnittstelle 3480.
  • Der Hauptprozessor 3100 kann alle Operationen des Systems 3000 und insbesondere Operationen anderer im System 3000 enthaltener Komponenten steuern. Der Hauptprozessor 3100 kann als ein Allzweckprozessor, ein dedizierter Prozessor oder ein Anwendungsprozessor umgesetzt sein.
  • Der Hauptprozessor 3100 kann mindestens einen CPU-Kern 3110 enthalten und ferner einen Controller 3120 enthalten, der zum Steuern der Speicher 3200a und 3200b und/oder der Speicherungsvorrichtungen 3300a und 3300b konfiguriert ist. In einigen Ausführungsformen kann der Hauptprozessor 3100 ferner einen Beschleuniger 3130 enthalten, der eine dedizierte Schaltung für eine Hochgeschwindigkeitsdatenoperation ist, wie eine Datenoperation für künstliche Intelligenz (KI). Der Beschleuniger 3130 kann eine Grafikverarbeitungseinheit (GPU), eine neuronale Verarbeitungseinheit (NPU) und/oder eine Datenverarbeitungseinheit (DPU) enthalten und kann als ein Chip umgesetzt sein, der von den anderen Komponenten des Hauptprozessors 3100 physisch getrennt ist.
  • Die Speicher 3200a und 3200b können als Hauptspeichervorrichtungen des Systems 3000 verwendet werden. Obwohl jeder der Speicher 3200a und 3200b einen flüchtigen Speicher enthalten kann, wie einen statischen Direktzugriffsspeicher (SRAM) und/oder einen dynamischen RAM (DRAM), kann jeder der Speicher 3200a und 3200b einen nichtflüchtigen Speicher enthalten, wie einen Flash-Speicher, einen Phasenübergangs-RAM (PRAM) und/oder einen resistiven RAM (RRAM). Die Speicher 3200a und 3200b können im selben Package umsetzt sein wie der Hauptprozessor 3100.
  • Die Speicherungsvorrichtungen 3300a und 3300b können als nichtflüchtige Speicherungsvorrichtungen dienen, die konfiguriert sind, Daten unabhängig davon zu speichem, ob Leistung dort zugeführt wird, und weisen eine größere Speicherkapazität auf als die Speicher 3200a und 3200b. Die Speicherungsvorrichtungen 3300a und 3300b können jeweils Speichercontroller (STRG CTRL) 3310a und 3310b und NVMs (nichtflüchtige Speicher) 3320a und 3320b, die konfiguriert sind, Daten mittels der Steuerung der Speichercontroller 3310a und 3310b zu speichern, enthalten. Obwohl die NVMs 3320a und 3320b Flash-Speicher mit einer zweidimensionalen (2D) Struktur oder einer dreidimensionalen (3D) V-NAND-Struktur enthalten können, können die NVMs 3320a und 3320b andere Arten von NVMs enthalten, wie PRAM und/oder RRAM.
  • Die Speicherungsvorrichtungen 3300a und 3300b können vom Hauptprozessor 3100 physisch getrennt sein und im System 3000 enthalten sein oder im selben Package wie der Hauptprozessor 3100 umgesetzt sein. Zusätzlich können die Speicherungsvorrichtungen 3300a und 3300b Arten von Festkörperlaufwerksvorrichtungen (SSDs) oder Speicherkarten aufweisen und können kombiniert mit anderen Komponenten des Systems 3000 durch eine Schnittstelle, wie die Verbindungsschnittstelle 3480, die unten beschrieben wird, entfernbar sein. Die Speicherungsvorrichtungen 3300a und 3300b können Vorrichtungen sein, auf die ein Standardprotokoll, wie ein Universal Flash Storage (UFS), eine eingebettete Multimediakarte (eMMC) oder ein nichtflüchtiger Speicherexpress (NVMe), angewandt wird, ohne jedoch darauf beschränkt zu sein.
  • Die Bildaufnahmevorrichtung 3410 kann Standbilder oder Bewegtbilder aufnehmen. Die Bildaufnahmevorrichtung 3410 kann eine Kamera, einen Videorekorder und/oder eine Webcam enthalten.
  • Die Benutzereingabevorrichtung 3420 kann verschiedene Arten von Daten empfangen, die von einem Benutzer des Systems 3000 eingegeben werden, und kann ein Touchpad, einen Ziffernblock, eine Tastatur, eine Maus und/oder ein Mikrofon enthalten.
  • Der Sensor 3430 kann verschiedene Arten von physikalischen Größen erfassen, die von außerhalb des Systems 3000 erhalten werden, und die erfassten physikalischen Größen in elektrische Signale umwandeln. Der Sensor 3430 kann einen Temperatursensor, einen Drucksensor, einen Beleuchtungsstärkensensor, einen Positionssensor, einen Beschleunigungssensor, einen Biosensor und/oder einen Gyroskopsensor enthalten.
  • Die Kommunikationsvorrichtung 3440 kann Signale zwischen anderen Vorrichtungen außerhalb des Systems 3000 nach verschiedenen Kommunikationsprotokollen senden und empfangen. Die Kommunikationsvorrichtung 3440 kann eine Antenne, einen Sendeempfänger und/oder ein Modem enthalten.
  • Die Anzeige 3450 und der Lautsprecher 3460 können als Ausgabevorrichtungen dienen, die konfiguriert sind, jeweils visuelle Informationen und auditive Informationen an den Nutzer des Systems 3000 auszugeben.
  • Die Leistungsversorgungsvorrichtung 3470 kann Leistung, die von einer im System 3000 eingebetteten Batterie (nicht gezeigt) und/oder einer externen Leistungsquelle zugeführt wird, entsprechend umwandeln und jede von Komponenten des Systems 3000 mit der umgewandelten Leistung versorgen.
  • Die Verbindungsschnittstelle 3480 kann eine Verbindung zwischen dem System 3000 und einer externen Vorrichtung, die mit dem System 3000 verbunden ist und zum Senden und Empfangen von Daten an das und von dem System 3000 imstande ist, bereitstellen. Die Verbindungsschnittstelle 3480 kann durch Verwenden verschiedener Schnittstellenverfahren umgesetzt werden, wie einer Advanced Technology Attachment (ATA), einer seriellen ATA (SATA), einer externen SATA (e-SATA), einer Small Computer Small Interface (SCSI), einer Serial Attached SCSI (SAS), einer Peripheral Component Interconnection (PCI), einem PCI-Express (PCIe), einem NVMe, IEEE 1394, einer Universal Serial Bus (USB) Interface, einer Secure Digital (SD) Card Interface, einer Multimediakarten(MMC)-Schnittstelle, einer eMMC-Schnittstelle, einer UFS-Schnittstelle, einer eingebetteten UFS(eUFS)-Schnittstelle und einer Compact Flash (CF) Card Interface.
  • Nach der vorliegenden Offenbarung kann ein UFS-Host konfiguriert sein, einen Turboschreibpuffer einer UFS-Vorrichtung zu rekonfigurieren. Ein Nutzerspeicher kann durch Rekonfigurieren des Turboschreibpuffers sichergestellt werden und somit kann die Performanceverringerung, die durch eine Verschiebungsoperation oder einen unzureichenden Raum des Nutzerspeichers verursacht wird, verhindert werden. Dementsprechend sind ein Betriebsverfahren eines UFS-Hosts mit verbesserter Performance und ein Betriebsverfahren eines UFS-Systems mit verbesserter Performance bereitgestellt.
  • Obwohl die vorliegende Offenbarung mit Bezug auf die Ausführungsformen derselben beschrieben worden ist, ist für einen Fachmann deutlich, dass verschiedene Änderungen und Modifikationen daran vorgenommen werden können, ohne dabei vom Geist und Umfang der vorliegenden Offenbarung, wie sie in den nachfolgenden Ansprüchen dargelegt ist, abzuweichen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • KR 1020210016934 [0001]
    • KR 1020210031915 [0001]

Claims (20)

  1. Betriebsverfahren eines Universal-Flash-Storage(UFS)-Hosts, der konfiguriert ist, eine UFS-Vorrichtung zu steuern, wobei das Verfahren aufweist: Konfigurieren eines Turboschreibpuffers der UFS-Vorrichtung; Senden einer ersten Abfrageanforderungs-UFS-Protokollinformationseinheit (UPIU), die Rekonfigurationsinformationen zum Turboschreibpuffer enthält, an die UFS-Vorrichtung während die UFS-Vorrichtung angetrieben wird; und Empfangen einer ersten Antwort-UPIU, die der ersten Abfrageanforderungs-UPIU zugeordnet ist, von der UFS-Vorrichtung, wobei die erste Abfrageanforderungs-UPIU eine Anforderung ist, die verursacht, dass eine Größe des Turboschreibpuffers der UFS-Vorrichtung von einer ersten Größe zu einer zweiten Größe, die sich von der ersten Größe unterscheidet, geändert wird.
  2. Verfahren nach Anspruch 1, wobei der Turboschreibpuffer nicht vom UFS-Host identifiziert wird.
  3. Verfahren nach Anspruch 1, wobei die Rekonfigurationsinformationen Informationen zu einer Größe des Turboschreibpuffers enthalten.
  4. Verfahren nach Anspruch 3, wobei die erste Abfrageanforderungs-UPIU Informationen zu einem gegenwärtigen Turboschreibpuffer-Größenfeld von Attributen der UFS-Vorrichtung enthält.
  5. Verfahren nach Anspruch 1, wobei die Rekonfigurationsinformationen Informationen zu einem Modus des Turboschreibpuffers enthalten, und wobei der Modus einer ist von einem Modus zur Verringerung der Nutzerkapazität, einem Modus ohne Verringerung der Nutzerkapazität und einem Modus zur Teilverringerung.
  6. Verfahren nach Anspruch 1, wobei die Rekonfigurationsinformationen Informationen zu einem Typ des Turboschreibpuffers enthalten, und wobei der Typ einer ist von einem einer Logikeinheit zugeordeneten Puffertyp und einem gemeinsam genutzten Puffertyp.
  7. Verfahren nach Anspruch 1, wobei die Rekonfigurationsinformationen Informationen zu einem Turboschreibpuffer-Kapazitätsanpassungsfaktor des Turboschreibpuffers enthalten, wobei jede von Speicherzellen, die dem Turboschreibpuffer entsprechen, konfiguriert ist, „N“ Bits zu speichern, wobei „N“ eine natürliche Zahl ist, und wobei der Turboschreibpuffer-Kapazitätsanpassungsfaktor Informationen zu „N“ angibt.
  8. Verfahren nach Anspruch 1, wobei das Konfigurieren des Turboschreibpuffers enthält: Lesen eines Vorrichtungsdeskriptors und eines Geometriedeskriptors der UFS-Vorrichtung; Bestimmen von Informationen zu einem Typ, einem Modus und einer Größe des Turboschreibpuffers basierend auf dem Vorrichtungsdeskriptor und dem Geometriedeskriptor; Senden einer zweiten Abfrageanforderungs-UPIU an die UFS-Vorrichtung basierend auf den bestimmten Informationen; und Empfangen einer zweiten Antwort-UPIU, die der zweiten Abfrageanforderungs-UPIU entspricht, von der UFS-Vorrichtung, wobei die zweite Abfrageanforderungs-UPIU eine Anforderung zum Einstellen von Feldern eines Konfigurationsdeskriptors der UFS-Vorrichtung ist.
  9. Verfahren nach Anspruch 8, wobei die zweite Abfrageanforderungs-UPIU eine Anforderung ist, die verursacht, dass ein Konfigurationsdeskriptor-Sperrfeld des Konfigurationsdeskriptors der UFS-Vorrichtung eingestellt wird.
  10. Verfahren nach Anspruch 9, ferner aufweisend: vor dem Senden der ersten Abfrageanforderungs-UPIU an die UFS-Vorrichtung, Senden einer dritten Abfrageanforderungs-UPIU, die einen Feldwert zum Entsperren des Konfigurationsdeskriptors der UFS-Vorrichtung enthält, an die UFS-Vorrichtung; und Empfangen einer dritten Antwort-UPIU, die der dritten Abfrageanforderungs-UPIU zugeordnet ist, wobei, nachdem die dritte Antwort-UPIU empfangen worden ist, die erste Abfrageanforderungs-UPIU an die UFS-Vorrichtung gesendet wird.
  11. Verfahren nach Anspruch 10, ferner aufweisend: nachdem die erste Antwort-UPIU empfangen worden ist, Senden einer vierten Abfrageanforderungs-UPIU, die einen Feldwert zum Einstellen einer Sperre des Konfigurationsdeskriptors der UFS-Vorrichtung enthält, an die UFS-Vorrichtung; und Empfangen einer vierten Antwort-UPIU, die der dritten Abfrageanforderungs-UPIU zugeordnet ist.
  12. Verfahren nach Anspruch 1, ferner aufweisend: Einstellen eines Turboschreibpuffer-Aktivierungsfeldes eines FLAG der UFS-Vorrichtung; und Senden eines Schreibbefehls und von Schreibdaten an die UFS-Vorrichtung, wobei, wenn das Turboschreibpuffer-Aktivierungsfeld eingestellt ist, die Schreibdaten zunächst in den Turboschreibpuffer geschrieben werden.
  13. Betriebsverfahren eines Universal-Flash-Storage(UFS)-Hosts, der konfiguriert ist, eine UFS-Vorrichtung zu steuern, wobei das Verfahren aufweist: Konfigurieren eines Turboschreibpuffers an der UFS-Vorrichtung; und Rekonfigurieren des Turboschreibpuffers während die UFS-Vorrichtung angetrieben wird, wobei jede von Speicherzellen eines ersten physischen Speicherraums, der einem Turboschreibpuffer entspricht, aus physischen Speicherräumen der UFS-Vorrichtung konfiguriert ist, N Bits zu speichern, ein zweiter physischer Speicherraum, der einem Nutzerspeicher entspricht, aus den physischen Speicherräumen der UFS-Vorrichtung konfiguriert ist, M Bits zu speichern, N eine natürliche Zahl ist, und M eine natürliche Zahl größer als N ist.
  14. Verfahren nach Anspruch 13, ferner aufweisend: vor dem Konfigurieren des Turboschreibpuffers, Senden einer ersten Abfrageanforderungs-UFS-Protokollinformationseinheit (UPIU) zum Einstellen eines Sammelintervalls für Hinweisinformationen an die UFS-Vorrichtung; Empfangen einer ersten Antwort-UPIU, die der ersten Abfrageanforderungs-UPIU entspricht, von der UFS-Vorrichtung; Senden einer zweiten Abfrageanforderungs-UPIU zum Lesen der Hinweisinformationen an die UFS-Vorrichtung, und Empfangen einer zweiten Antwort-UPIU, welche die Hinweisinformationen enthält, von der UFS-Vorrichtung.
  15. Verfahren nach Anspruch 14, wobei das Rekonfigurieren des Turboschreibpuffers, während die UFS-Vorrichtung angetrieben wird, enthält: Bestimmen von Rekonfigurationsinformationen, die mindestens einen Modus, einen Typ und eine Größe des Turboschreibpuffers enthalten, basierend auf den Hinweisinformationen; Senden einer dritten Abfrageanforderungs-UPIU, welche die Rekonfigurationsinformationen enthält, an die UFS-Vorrichtung; und Empfangen einer dritten Antwort-UPIU, die der dritten Abfrageanforderungs-UPIU entspricht.
  16. Betriebsverfahren eines Universal-Flash-Storage(UFS)-Systems, das eine UFS-Vorrichtung und einen UFS-Host enthält, wobei das Verfahren aufweist: Konfigurieren, durch den UFS-Host, eines Turboschreibpuffers der UFS-Vorrichtung; Senden, durch den UFS-Host, eines Schreibbefehls und von Schreibdaten an die UFS-Vorrichtung; Schreiben, durch die UFS-Vorrichtung, der Schreibdaten in den Turboschreibpuffer und Senden einer Antwort auf den Schreibbefehl an den UFS-Host; Verschieben, durch die UFS-Vorrichtung, der im Turboschreibpuffer gespeicherten Schreibdaten in den Nutzerspeicher; und Rekonfigurieren, durch den UFS-Host, des Turboschreibpuffers durch Ändern von mindestens einem eines Modus, eines Typs und einer Größe des Turboschreibpuffers der UFS-Vorrichtung.
  17. Verfahren nach Anspruch 16, wobei das Rekonfigurieren des Turboschreibpuffers enthält: Entsperren, durch den UFS-Host, eines Konfigurationsdeskriptors der UFS-Vorrichtung; Ändern, durch den UFS-Host, eines ersten Feldes des Konfigurationsdeskriptors der UFS-Vorrichtung; und Sperren, durch den UFS-Host, des Konfigurationsdeskriptors der UFS-Vorrichtung.
  18. Verfahren nach Anspruch 17, wobei das erste Feld Informationen zu mindestens einem des Modus, des Typs und der Größe des Turboschreibpuffers enthält.
  19. Verfahren nach Anspruch 16, wobei der Schreibbefehl in einer Befehls-UPIU enthalten ist und eine GRUPPENNUMMER der Befehls-UPIU einen voreingestellten Wert aufweist.
  20. Verfahren nach Anspruch 16, wobei der Modus des Turboschreibpuffers einer von einem Modus zur Verringerung der Nutzerkapazität, einem Modus ohne Verringerung der Nutzerkapazität und einem Modus zur Teilverringerung ist.
DE102022100592.5A 2021-02-05 2022-01-12 Betriebsverfahren eines Universal-Flash-Storage-Hosts und Betriebsverfahren eines Universal-Flash-Storage-Systems Pending DE102022100592A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2021-0016934 2021-02-05
KR20210016934 2021-02-05
KR10-2021-0031915 2021-03-11
KR1020210031915A KR20220113635A (ko) 2021-02-05 2021-03-11 Ufs 호스트의 동작 방법 및 ufs 시스템의 동작 방법

Publications (1)

Publication Number Publication Date
DE102022100592A1 true DE102022100592A1 (de) 2022-08-11

Family

ID=82493316

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022100592.5A Pending DE102022100592A1 (de) 2021-02-05 2022-01-12 Betriebsverfahren eines Universal-Flash-Storage-Hosts und Betriebsverfahren eines Universal-Flash-Storage-Systems

Country Status (3)

Country Link
US (1) US12014079B2 (de)
CN (1) CN114860156A (de)
DE (1) DE102022100592A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11853201B2 (en) * 2022-05-25 2023-12-26 Micron Technology, Inc. Selective single-level memory cell operation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210016934A (ko) 2019-08-06 2021-02-17 연세대학교 산학협력단 미세유체 디바이스 및 이를 포함하는 플레이트
KR20210031915A (ko) 2018-06-21 2021-03-23 지티이 코포레이션 데이터 스트림을 구성하는 방법, 장치, 시스템 및 디바이스와 컴퓨터 매체

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100818797B1 (ko) 2006-10-19 2008-04-01 삼성전자주식회사 메모리 용량 조절 방법과 메모리 용량 조절 장치
US7596643B2 (en) * 2007-02-07 2009-09-29 Siliconsystems, Inc. Storage subsystem with configurable buffer
US9043572B2 (en) * 2012-07-16 2015-05-26 International Business Machines Corporation Automatically preventing large block writes from starving small block writes in a storage device
US9141532B2 (en) 2012-12-26 2015-09-22 Western Digital Technologies, Inc. Dynamic overprovisioning for data storage systems
KR102025080B1 (ko) 2013-01-02 2019-09-25 삼성전자 주식회사 스토리지 시스템 및 스토리지 시스템의 여분 공간 조절 방법
US20150067281A1 (en) 2013-09-05 2015-03-05 International Business Machines Corporation Reservation of storage space for a thin provisioned volume
KR102365269B1 (ko) 2015-04-13 2022-02-22 삼성전자주식회사 데이터 스토리지 및 그것의 동작 방법
US10635344B2 (en) 2016-04-27 2020-04-28 International Business Machines Corporation Dynamic spare storage allocation by creating logical volumes from unused space allocated for user data of a raid storage
TW201818248A (zh) 2016-11-15 2018-05-16 慧榮科技股份有限公司 可應用於資料儲存裝置之記憶體管理方法
US10545685B2 (en) 2017-08-30 2020-01-28 Micron Technology, Inc. SLC cache management
US11409436B2 (en) * 2018-08-08 2022-08-09 Micron Technology, Inc. Buffer management in memory systems for read and write requests
KR20200110547A (ko) * 2019-03-14 2020-09-24 삼성전자주식회사 스토리지 장치 및 스토리지 장치를 포함하는 컴퓨팅 장치
KR20210016208A (ko) 2019-08-02 2021-02-15 삼성전자주식회사 스토리지 장치, 및 스토리지 장치 및 스토리지 장치를 제어하는 호스트 장치를 포함하는 스토리지 시스템의 동작 방법
KR20210026103A (ko) * 2019-08-29 2021-03-10 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210031915A (ko) 2018-06-21 2021-03-23 지티이 코포레이션 데이터 스트림을 구성하는 방법, 장치, 시스템 및 디바이스와 컴퓨터 매체
KR20210016934A (ko) 2019-08-06 2021-02-17 연세대학교 산학협력단 미세유체 디바이스 및 이를 포함하는 플레이트

Also Published As

Publication number Publication date
US12014079B2 (en) 2024-06-18
CN114860156A (zh) 2022-08-05
US20220253239A1 (en) 2022-08-11

Similar Documents

Publication Publication Date Title
US8935459B2 (en) Heuristics for programming data in a non-volatile memory
DE112016000777B4 (de) Verzögerungskompensation
DE102018214013A1 (de) Automatische kontinuierliche Prüfpunktsetzung
TW201621912A (zh) 用於組態和控制非揮發性快取記憶體的系統及方法
US11747989B2 (en) Memory system and method for controlling nonvolatile memory
US11010079B2 (en) Concept for storing file system metadata within solid-stage storage devices
DE102011086227A1 (de) Adress mapping method, data storage device and user device
US11487669B2 (en) Memory system for storing data of log-structured merge tree structure and data processing system including the same
DE112017005955T5 (de) Speichersystem und verfahren zur schlanken speicherzuweisung
DE112017005637T5 (de) Verfahren und System zur Schreibverstärkungsanalyse
DE102009026178A1 (de) Mehrstufiger Controller mit intelligentem Speicher-Transfer-Manager zum Verschachteln mehrfacher Ein-Chip-Flash-Speichereinheiten
DE102021118940A1 (de) Speichersteuerung und speichereinrichtung mit derselben
US11003373B2 (en) Systems and methods for managing physical-to- logical address information
DE102018115199A1 (de) Verfahren zur maximierung der frequenz während einer datenintegritätsprüfung auf einem physischen schnittstellenbus
KR20140128821A (ko) 아토믹 라이트 완료 식별자를 ip 코어별로 생성할 수 있는 데이터 저장 장치의 동작 방법과 이를 포함하는 시스템의 동작 방법
US20230244393A1 (en) Communications to Reclaim Storage Space Occupied by Proof of Space Plots in Solid State Drives
US20210026763A1 (en) Storage device for improving journal replay, operating method thereof, and electronic device including the storage device
US11875036B2 (en) Computing system including host and storage system and having increased write performance
DE102022101607A1 (de) Verwaltung der hostspeicherpufferzuweisung
DE102022100592A1 (de) Betriebsverfahren eines Universal-Flash-Storage-Hosts und Betriebsverfahren eines Universal-Flash-Storage-Systems
DE102021124072A1 (de) Verfahren zum Synchronisieren einer Zeit zwischen einer Hostvorrichtung und einer Speichervorrichtung und System zum Durchführen desselben
DE102021119290A1 (de) Speichereinrichtung zum Ausführen von Verarbeitungscode und Betriebsverfahren dieser Speichereinrichtung
DE112018002501T5 (de) Speichersystem und verfahren zum ausführen dateibasierter firmwarebefehle und erfassen von antwortdaten
DE102019129561A1 (de) Speichersystem und betriebsverfahren dafür
DE102019127142A1 (de) Speichersystem zum verwalten freier seiten auf basis einer echtzeituhr und betriebsverfahren dafür

Legal Events

Date Code Title Description
R012 Request for examination validly filed