DE102006053750A1 - Halbleiterplattensteuerbauelement und Verfahren zum Bereitstellen eines Taktsignals für ein Halbleiterplattensteuerbauelement - Google Patents

Halbleiterplattensteuerbauelement und Verfahren zum Bereitstellen eines Taktsignals für ein Halbleiterplattensteuerbauelement Download PDF

Info

Publication number
DE102006053750A1
DE102006053750A1 DE102006053750A DE102006053750A DE102006053750A1 DE 102006053750 A1 DE102006053750 A1 DE 102006053750A1 DE 102006053750 A DE102006053750 A DE 102006053750A DE 102006053750 A DE102006053750 A DE 102006053750A DE 102006053750 A1 DE102006053750 A1 DE 102006053750A1
Authority
DE
Germany
Prior art keywords
clock signal
interface
data
frequency
control device
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.)
Withdrawn
Application number
DE102006053750A
Other languages
English (en)
Inventor
Jeong-Woo Lee
Dong-ryul Hwaseong Ryu
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
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102006053750A1 publication Critical patent/DE102006053750A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • 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
    • 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Transfer Systems (AREA)

Abstract

Die Erfindung bezieht sich auf ein Halbleiterplattensteuerbauelement und auf ein Verfahren zum Bereitstellen eines Taktsignals für ein Halbleiterplattensteuerbauelement. DOLLAR A Das Halbleiterplattensteuerbauelement, das eine Datenübertragung zwischen einem Host und einem Flashspeicher (20 APPROX 23) steuert, umfasst eine Flash-Schnittstelle (150), die für einen Anschluss an den Flashspeicher (20 APPROX 23) konfiguriert ist, eine Host-Schnittstelle (120), die für einen Anschluss an den Host konfiguriert ist, einen ersten Taktgenerator (160), der dazu konfiguriert ist, ein erstes Treibertaktsignal (f1) für die Host-Schnittstelle (120) zu erzeugen, und einen zweiten Taktgenerator (190), der dazu konfiguriert ist, ein zweites Treibertaktsignal (f2) für die Flash-Schnittstelle (150) unabhängig vom ersten Taktgenerator (160) zu erzeugen. DOLLAR A Verwendung z.B. in der Speichertechnologie.

Description

  • Die vorliegende Erfindung bezieht sich auf ein Halbleiterplattensteuerbauelement (semiconductor solid state disk control device) und auf ein Verfahren zum Bereitstellen eines Taktsignals für ein Halbleiterplattensteuerbauelement.
  • Magnetspeicherplatten oder Festplattenspeicher werden in vielen elektronischen Geräten traditionell als Datenspeicherbauelemente verwendet. Fortschritte in der Halbleitertechnologie haben jedoch in Bereichen wie Computersystemen und tragbaren Geräten zu einem Anstieg der Verwendung von Halbleiterplatten (semiconductor solid state disk – SSD) geführt, die Flashspeicher als Speicherbauelemente verwenden. Daher scheint es einen Trend zur Verwendung von SSDs als Speicherbauelemente anstelle von Magnetplatten zu geben. Trotz Eigenschaften wie beispielsweise geringer Speicherkapazität und hohem Preis weisen die SSDs einige andere Eigenschaften auf, die sie als Speicherbauelemente attraktiver als herkömmliche Festplatten (HDD) machen.
  • Die Eigenschaften, die SSDs zu bevorzugten Speicherbauelementen machen, sind beispielsweise eine hohe Zugriffsrate, eine hohe Integrationsdichte und Stabilität gegen externe Einflüsse. Des Weiteren führen Fortschritte bei den Herstellungstechnologien für SSDs wahrscheinlich zu Reduzierun gen der Produktionskosten der SSDs und zudem zur Erhöhung der Speicherkapazitäten der SSDs. Diese Entwicklungen führen wahrscheinlich dazu, dass SSDs HDDs als verwendete Speicherbauelemente ablösen.
  • Wenn die SSD in Computersystemen und tragbaren Geräten als Speicherbauelement oder Speichermedium verwendet wird, wird allgemein ein Steuerbauelement verwendet, um Datenübertragungen zwischen einem Host und einem Flashspeicher abzuwickeln. Herkömmlicherweise haben Computersysteme ein Advanced-Technology-Attachment-Protokoll (ATA-Protokoll) von IBM Inc. und eine zum ATA-Protokoll kompatible Schnittstelle verwendet, um Daten von und zu einem Speicherbauelement mit einer großen Kapazität zu übertragen, z.B. zu einer HDD. Daraus folgt, dass wenn die Computersysteme SSDs als ausgewählte Speicherbauelemente mit großer Kapazität übernehmen, SSDs eine Schnittstelle aufweisen sollten, die in der Lage ist, Daten von und zu dem Flashspeicher auf eine Weise zu übertragen, die mit dem ATA-Protokoll kompatibel ist. Nachfolgend wird ein Bauelement zum Steuern einer Gesamtfunktion im Hinblick auf die Datenübertragung von und zu einer SSD beschrieben, das als Halbleiterplattensteuerbauelement oder SSD-Steuerschaltkreis bezeichnet wird.
  • 1 ist ein schematisches Blockdiagramm, das einen herkömmlichen SSD-Steuerschaltkreis 10 darstellt. Der SSD-Steuerschaltkreis 10 umfasst eine zentrale Prozessoreinheit (CPU) 11, eine ATA-Schnittstelle 12, einen SRAM-Cachespeicher 13, eine Flash-Schnittstelle 14, einen Phasenregelschaltkreis (PLL) 15 und einen Demultiplizierer oder Teilerschaltkreis 16. Unter Bezugnahme auf 1 kann der herkömmliche SSD-Steuerschaltkreis 10 Daten aus den Flashspeichern 20 bis 23 lesen oder in die Flashspeicher 20 bis 23 schreiben. Diese Lese- und Schreibvorgänge des SSD-Steuerschaltkreises 10 können gesteuert von der CPU 11 ausgeführt werden. Die CPU 11 steuert den SSD-Steuerschaltkreis 10 insbesondere in Reaktion auf Befehle eines nicht dargestellten Hosts. Das bedeutet, dass die CPU 11 Befehle des Hosts empfängt und dann basierend auf den empfangenen Befehlen bestimmt, ob Daten des Hosts in einem Flashspeicher gespeichert werden sollen oder ob Daten des Flashspeichers ausgelesen werden sollen, d.h. zum Host übertragen werden sollen.
  • Die ATA-Schnittstelle 12 tauscht gesteuert von der CPU 11 Daten mit dem Host aus. Insbesondere holt die ATA-Schnittstelle 12 die Befehle und Adressen vom Host und überträgt sie an die CPU 11. Des Weiteren werden Daten, die über die ATA-Schnittstelle 12 zum oder vom Host übertragen werden, über den SRAM-Cachespeicher 13 anstatt über einen CPU-Bus unter der Steuerung der CPU 11 übertragen.
  • Der SRAM-Cachespeicher 13 speichert temporär die zum Host oder zu den Flashspeichern 20 bis 23 zu übertragenden Daten. Zusätzlich wird der SRAM-Cachespeicher 13 auch zum Speichern von Programmen benutzt, die durch die CPU 11 ausgeführt werden. Auf dieser Seite kann der SRAM-Cachespeicher 13 ein Pufferspeicher oder irgendeine andere Speicherart sein. Die Flash-Schnittstelle 14 tauscht Daten mit den Flashspeichern 20 bis 23 aus. Die Flash-Schnittstelle 14 kann derart konfiguriert werden, dass sie mit verschiedenen Flashspeichertypen zusammenwirkt. Die Flash-Schnittstelle 14 kann beispielsweise konfiguriert werden, um mit einem NAND-Flashspeicher, einem One-NAND-Flashspeicher, einem Mehrfachpegelflashspeicher usw. zusammenzuwirken.
  • Die Flash-Schnittstelle 14 ist im Wesentlichen dazu konfiguriert, basierend auf einem Taktsignalsystem zu arbeiten. Für einen solchen Fall umfasst der SSD-Steuerschaltkreis 10 ein Bauelement, das der Flash-Schnittstelle 14 ein Taktsignal zur Verfügung stellt. Wie aus 1 ersichtlich ist, umfasst der SSD-Steuerschaltkreis 10 einen Phasenregelschaltkreis 15, welcher der Flash-Schnittstelle 14 ein Treibertaktsignal mit einer Frequenz f1 zur Verfügung stellt. Basierend auf dieser Treibertaktfrequenz f1 erzeugt die Flash-Schnittstelle 14 während Lese- und Schreibvorgängen der Flashspeicher 20 bis 23 ein Schreibfreigabesignal WE und ein Lesefreigabesignal RE. Die Flash-Schnittstelle 14 demultipliziert oder teilt beispielsweise das Treibertaktsignal mit der Frequenz f1 und erzeugt das Schreibfreigabesignal nWE und das Lesefreigabesignal nRE.
  • Der Phasenregelschaltkreis 15 ist ein Taktgenerator, der den Komponenten des SSD-Steuerschaltkreises 10 ein Treibertaktsignal zur Verfügung stellt. Im Wesentlichen erzeugt der Phasenregelschaltkreis 15 ein Taktsignal mit einer Frequenz, die auf dem Datenübertragungsprotokoll des Hosts basiert, d.h. auf dem ATA-Protokoll. Dieses Treibertaktsignal mit der Frequenz f1, das vom Phasenregelschaltkreis 15 erzeugt wird, wird an die ATA-Schnittstelle 12, den SRAM-Cachespeicher 13, die Flash-Schnittstelle 14, den Teilerschaltkreis 16 und die CPU 11 angelegt. Während der Phasenregelschaltkreis 15 ein Taktsignal mit der Frequenz f1 erzeugt, ist für die CPU 11 ein Treibertaktsignal mit einer Frequenz erforderlich, die niedriger als eine Taktfrequenz eines Datenübertragungsprotokolls ist. Daher empfängt die CPU 11 ein geteiltes Treibertaktsignal vom Teilerschaltkreis 16.
  • Der Teilerschaltkreis 16 ist ein Frequenzkonvertierungsschaltkreis, welcher der CPU 11 ihr Treibertaktsignal zur Verfügung stellt. Die CPU 11 verwendet das Treibertaktsignal vom Teilerschaltkreis 16, um logische Berechnungen auszuführen. In anderen Worten, der Teilerschaltkreis 16 erzeugt eine Taktfrequenz fc durch Teilen des Taktsignals mit der Frequenz f1, das vom Phasenregelschaltkreis 15 ausgegeben wird, und überträgt das Taktsignal mit der Frequenz fc an die CPU 11. Die Frequenz fc ist niedriger als die Frequenz f1, die zur Datenübertragung zwischen der Flash-Schnittstelle 14 und den Flashspeichern 20 bis 23 verwendet wird.
  • Wie oben ausgeführt, verwendet der herkömmliche SSD-Steuerschaltkreis nur ein Taktsignal mit der Frequenz f1, das vom internen Phasenregelschaltkreis erzeugt wird. Diese Taktfrequenz kann jedoch durch einen Teilerschaltkreis geteilt werden. Daher können die ATA-Schnittstelle 12 und die Flash-Schnittstelle 14 Treibertaktsignale verwenden, die in den Teilerbereich der Frequenz f1 fallen, d.h. in einen geteilten Satz von Frequenzen. Dieses System weist verschiedene Unzulänglichkeiten auf. So bedeutet das Vorhandensein von nur einem Taktgenerator beispielsweise, dass die Periodenzeiten des Schreibfreigabesignals nWE und des Lesefreigabesignals nRE innerhalb des Teilerbereichs der Frequenz f1 begrenzt sind, die durch den Phasenregelschaltkreis 15 erzeugt wird. Es kann jedoch für das SSD-System schwierig sein, effizient zu arbeiten, wenn die Periodenzeiten des Schreibfreigabesignals nWE und des Lesefreigabesignals nRE des Flashspeichers innerhalb des Teilerbereichs der Frequenz f1 liegen, die nur von einem Phasenregelschaltkreis 15 erzeugt wird. Dies ist darin begründet, dass die Zugriffszeiten für den SSD-Steuerschaltkreis und die Datenübertragungsraten zum und vom SSD-Steuerschaltkreis durch die Anzahl von verfügbaren geteilten Frequenzen begrenzt sind.
  • Der Erfindung liegt das technische Problem zugrunde, ein Halbleiterplattensteuerbauelement und ein Verfahren zum Bereitstellen eines Taktsignals für ein Halbleiterplattensteuerbauelement bereitzustellen, die in der Lage sind, eine geeignete Frequenz im SSD-Steuerschaltkreis zu erzeugen, um eine Zugriffszeit auf den SSD-Steuerschaltkreis zu reduzieren und eine Datenübertragungsrate zu erhöhen.
  • Die Erfindung löst dieses Problem durch Bereitstellung eines Halbleiterplattensteuerbauelements mit den Merkmalen des Patentanspruchs 1, 11 oder 19 und eines Verfahrens zum Bereitstellen eines Taktsignals für ein Halbleiterplattensteuerbauelement mit den Merkmalen des Patentanspruchs 24.
  • Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben, deren Wortlaut hiermit durch Bezugnahme in die Beschreibung aufgenommen wird, um unnötige Textwiederholungen zu vermeiden.
  • Vorteilhafte, nachfolgend beschriebene Ausführungsformen der Erfindung sowie das zu deren besserem Verständnis oben erläuterte, herkömmliche Ausführungsbeispiel sind in den Zeichnungen dargestellt. Es zeigen:
  • 1 ein Blockdiagramm eines herkömmlichen Halbleiterplattensteuerbauelements,
  • 2 ein Blockdiagramm eines Halbleiterplattensteuerbauelements in Übereinstimmung mit einem erfindungsgemäßen Ausführungsbeispiel,
  • 3 ein Blockdiagramm eines Halbleiterplattensteuerbauelements in Übereinstimmung mit einem alternativen erfindungsgemäßen Ausführungsbeispiel und
  • 4(A) und 4(B) Zeitablaufdiagramme von Lese- und Schreibvorgänge eines SSD-Steuerschaltkreises.
  • 2 ist ein Blockdiagramm, das ein Halbleiterplattensteuerbauelement (einen SSD-Steuerschaltkreis) 100 in Übereinstimmung mit einem erfindungsgemäßen Ausführungsbeispiel darstellt. Der SSD-Steuerschaltkreis 100 umfasst eine zentrale Prozessoreinheit (CPU) 110, eine ATA-Schnittstelle 120, einen SRAM-Cachespeicher 130, einen First-In-First-Out-Puffer (FIFO) 140, eine Flash-Schnittstelle 150, einen ersten Phasenregelschaltkreis (PLL1) 160, einen Teilerschaltkreis 170, ein Register 180 und einen zweiten Phasenregelschaltkreis (PLL2) 190. Der PLL2 190 im SSD-Steuerschaltkreis 100 ist ein zusätzlicher Taktgenerator, der dazu konfiguriert ist, der Flash-Schnittstelle 150 ein Treibertaktsignal zur Verfügung zu stellen, um eine Datenübertragungsrate zu und von Flashspeichern 20 bis 23 zu optimieren.
  • In einem Ausführungsbeispiel empfängt die CPU 110 Betriebsbefehle und Adressen von einem externen Host, um die Datenübertragung zu und vom SSD-Steuerschaltkreis 100 zu steuern. Die externen Betriebsbefehle und die Adressen werden insbesondere über die ATA-Schnittstelle 120 und einen CPU-Bus zur CPU 110 übertragen. Des Weiteren überträgt die CPU 110 die Betriebsbefehle und die Adressen an die Flash-Schnittstelle 150, um auf die Flashspeicher 20 bis 23 zuzugreifen.
  • Die CPU 110 kann Steuersignale über den CPU-Bus übertragen. Dem Fachmann ist jedoch bekannt, dass ein Steuerpfad der CPU 110 nicht auf den CPU-Bus begrenzt sein muss. Zusätzlich bestimmt die CPU 110 durch Lesen einer Bauelement-ID während des Bootens des SSD-Steuerschaltkreises 100, d.h. durch Ausführen eines ID-Lesevorgangs, die Typen der im SSD-Steuerschaltkreis 100 installierten Flashspeicher 20 bis 23. Das bedeutet, dass die CPU 110 einen Bauelementtyp während des ID-Lesevorgangs detektieren kann. Basierend auf dem während des ID-Lesevorgangs detektierten Flashspeichertyps schreibt die CPU 110 Daten in das Register 180, um eine optimierte Treiberfrequenz für die Flashspeicher 20 bis 23 zu setzen bzw. einzustellen. Die Funktionsweise des Registers 180 wird später detaillierter beschrieben.
  • Die ATA-Schnittstelle 120 tauscht gesteuert von der CPU 110 Daten mit dem Host aus. Insbesondere holt die ATA-Schnittstelle 120 die Befehle und Adressen vom Host und überträgt sie über den CPU-Bus an die CPU 110. Des Weiteren kann die ATA-Schnittstelle 120 zusätzliche interne Register zum Zwischenspeichern der vom Host übertragenen Befehle und Adressen umfassen.
  • Der SRAM-Cachespeicher 130 ist als Pufferspeicher zum temporären Speichern von Daten konfiguriert, die zwischen dem Host und den Flashspeichern 20 bis 23 übertragen werden. Die Flashspeicher 20 bis 23 weisen insbesondere relativ langsame Geschwindigkeiten für Lese- und Schreibvorgänge auf. Insoweit wird der SRAM-Cachespeicher 130, der mit höheren Geschwindigkeiten arbeiten kann, als Puffer für eine schnelle Datenübertra gung zwischen den Flashspeichern 20 bis 23 und dem Host verwendet. Die Speicherkapazität des SRAM-Cachespeichers 130 kann entsprechend den Typen der Flashspeicher 20 bis 23 festgelegt werden.
  • Zusätzlich zum Speichern von Daten, die zwischen den Flashspeichern 20 bis 23 übertragen werden, kann der SRAM-Cachespeicher 130 auch zum Speichern von Programmen verwendet werden, die von der CPU 110 ausgeführt werden. In dem in 2 dargestellten Ausführungsbeispiel werden die über die ATA-Schnittstelle 120 eingegebenen oder ausgegebenen Daten des Host nicht über den CPU-Bus zu den Flashspeichern 20 bis 23 übertragen, sondern über den SRAM-Cachespeicher 130, der von der CPU 110 gesteuert wird.
  • Der FIFO 140 ist dazu konfiguriert, zwischen Datentransferraten von Bauelementen zu vermitteln, die von unterschiedlichen Taktfrequenzen getrieben werden. Bei einem Ausführungsbeispiel ist der FIFO 140 zwischen dem SRAM-Cachespeicher 130 und der Flash-Schnittstelle 150 eingeschleift. Dies ist dadurch begründet, dass die Flash-Schnittstelle 150 relativ langsamer als der SRAM-Cachespeicher 130 ist, soweit Dateneingabe-/Datenausgaberaten betroffen sind. Um eine Datenübertragungsrate zwischen zwei Bauelementen zu vermitteln, die verschiedene Übertragungsgeschwindigkeiten aufweisen, wird der FIFO 140 dazwischen eingeschleift, um als Warteschlange während des Datenübertragungsvorgangs zu wirken. Somit bildet der FIFO-Puffer 140 einen Datenübertragungspfad zwischen dem SRAM-Cachespeicher 130 und der Flash-Schnittstelle 150.
  • Die Flash-Schnittstelle 150 sendet Befehle und Adressen von der CPU 110 an die Flashspeicher 20 bis 23. Wie aus 2 ersichtlich ist, schreibt die Flash-Schnittstelle 150 unter Verwendung von Steuersignalen CE, CLE, ALE, WE, RE usw. Daten in die Flashspeicher 20 bis 23 oder liest Daten aus den Flashspeichern 20 bis 23 aus. Insbesondere empfängt die Flash-Schnittstelle 150 ein Taktsignal mit der Frequenz f2, um optimierte Perio denzeiten tWC und tRC der Schreib- und Lesefreigabesignale nWE und nRE zu setzen. Des Weiteren gibt die Flash-Schnittstelle 150 das Schreibfreigabesignal nWE und das Lesefreigabesignal nRE an die Flashspeicher 20 bis 23 aus, um Daten mit einer Rate zu übertragen, die mit einer Rate korrespondiert, mit der die Signale nWE und nRE arbeiten.
  • Bei einem Ausführungsbeispiel ist der PLL1 160 ein Taktgenerator, der ein Taktsignal mit einer Frequenz f1 entsprechend dem ATA-Protokoll ausgibt. Wie dem Fachmann bekannt ist, ist das ATA-Protokoll ein externer Datenübertragungsstandard. Insbesondere wird das vom ersten PLL1 160 erzeugte Taktsignal mit der Frequenz f1 an alle im SSD-Steuerschaltkreis 100 enthaltenen Bauelemente außer an die Flash-Schnittstelle 150 angelegt.
  • Der Teilerschaltkreis 170 stellt der CPU 110 ein Treibertaktsignal zur Verfügung. Das vom Teilerschaltkreis 170 der CPU 110 zur Verfügung gestellte Treibersignal weist eine andere Frequenz auf als das von den anderen Bauelementen, wie der ATA-Schnittstelle 120 und dem SRAM-Cachespeicher 130, im SSD-Steuerschaltkreis 100 verwendete Signal. Im Wesentlichen ist eine in der CPU 110 verwendete Frequenz fc des Treibertaktsignals niedriger als eine Frequenz f1 eines Taktsignals, das für Datenübertragungsvorgänge verwendet wird. Bei einem Ausführungsbeispiel wird die Frequenz fc durch Teilen der Frequenz f1 erzeugt. Wenn beispielsweise ein ATA66-Standard als Protokoll für eine externe Datenübertragung verwendet wird, erzeugt der erste PLL1 160 ein Taktsignal mit 66MHz. Des Weiteren empfängt der Teilerschaltkreis 170 das Taktsignal mit 66MHz und erzeugt ein Taktsignal mit 33MHz = f1/2, das der CPU als Treibertaktsignal zur Verfügung gestellt wird.
  • Das Register 180 kann Informationen speichern, die mit der Frequenz des Taktsignals assoziiert sind, das vom zweiten PLL2 190 ausgegeben wird. Diese gespeicherten zum Erzeugen einer speziellen Frequenz verwendeten Informationen werden allgemein als „Verriegelungsdaten" bezeichnet. Die Verriegelungsdaten des Registers 180 definieren eine Ausgabefrequenz des zweiten PLL2 190. Insbesondere kann ein Standard- oder Defaultwert der Verriegelungsdaten im Register 180 gesetzt werden, der bewirkt, dass der zweite PLL die Frequenz f1 erzeugt. Der Wert der Verriegelungsdaten kann jedoch in vorteilhafter Weise optimiert werden, um die Frequenz f2 zu erzeugen. Diese Optimierung kann unter Verwendung von Informationen aus verschiedenen Quellen auftreten. Die Informationen können beispielsweise von einem externen Befehl oder Steuersignal oder von einer Komponente innerhalb des SSD-Steuerschaltkreises 100 erhalten werden, wie beispielsweise von der CPU 110.
  • Es kann viele Umstände geben, in denen ein Standardwert für die Verriegelungsdaten ungeeignet ist. Unter diesen Umständen ist der zweite PLL2 190 dazu konfiguriert, unter Verwendung von Verriegelungsdaten zu arbeiten, die keinen Standardwert aufweisen. Wenn beispielsweise die in der Flash-Schnittstelle 150 verwendete Taktfrequenz als Ergebnis einer gelesenen ID nicht im Teilerbereich der Frequenz f1, d.h. dem Standardwert, enthalten ist, lädt die CPU 110 die Verriegelungsdaten zum Erzeugen der optimierten Frequenz f2 in das Register 180. Andererseits können während eines Datenübertragungsvorgangs der Flash-Schnittstelle 150 die Verriegelungsdaten zum Erzeugen der optimierten Frequenz in einem anderen nichtflüchtigen Speicher oder einem anderen Register gespeichert werden. Zusätzlich können die Verriegelungsdaten für die optimierte Frequenz in einer Firmware enthalten sein, welche die CPU 110 treibt. In diesem Fall variiert die optimierte Frequenz entsprechend den Typen von Flashspeichern 20 bis 23, die mit dem SSD-Steuerschaltkreis 100 zusammenwirken. Das bedeutet, dass die CPU 110 die IDs der Flashspeicher 20 bis 23 während eines Bootvorgangs lesen kann und dann die Verriegelungsdaten für die optimierte zur ID passende Frequenz in das Register 180 oder einen anderen nichtflüchtigen Speicher lädt.
  • Der zweite PLL2 190 empfängt die Verriegelungsdaten für die optimierte Frequenz und erzeugt ein Taktsignal mit einem Teilerbereich, der sich von dem Taktsignal unterscheidet, das vom ersten PLL1 160 erzeugt wird. Wenn beispielsweise die vom ersten PLL1 160 ausgegebene Frequenz f1 66MHz ist, entspricht der zugehörige Teilerbereich einer Kombination von Frequenzen, die durch Teilen der Frequenz f1 mit einer Intergerzahl bzw. ganzen Zahl erzeugt werden. Daher umfasst der Teilerbereich der Frequenz f1 in diesem Beispiel 33MHz, 16,5MHz, 8,25MHz usw. Wenn die für die Datenübertragung erforderliche optimierte Frequenz f2 jedoch nicht im Teilerbereich der Frequenz f1 liegt, kann die CPU 110 die Verriegelungsdaten für die optimierte Frequenz f2 im Register 180 speichern. Diese Verriegelungsdaten können in vorteilhafter Weise verwendet dazu werden, zu bewirken, dass der zweite PLL2 190 ein Taktsignal mit der optimierten Frequenz f2 erzeugt, die für eine Datenübertragung mit den Flashspeichern 20 bis 23 erforderlich ist.
  • Es versteht sich, dass beliebige andere Signalerzeugungsbauelemente anstelle des zweiten PLL2 190 verwendet werden können. Beispielsweise kann ein Oszillatorschaltkreis anstelle des zweiten PLL2 190 verwendet werden. Insbesondere kann, wenn im SSD-Steuerschaltkreis 100 ein Oszillatorschaltkreis anstelle des zweiten PLL2 190 verwendet wird, ein anderer Datentyp im Register 180 gespeichert werden, um eine Erzeugung eines Taktsignals zu unterstützen, das eine optimierte Frequenz f2 aufweist.
  • Unter der Annahme, dass der zweite PLL2 190 verwendet wird, um das zweite Taktsignal zu erzeugen, umfassen die im Register 180 gespeicherten Verriegelungsdaten im Wesentlichen Informationen, die mit einem Nenner eines nicht dargestellten internen Teilers im zweiten PLL2 190 assoziiert sind. Der Nenner des Teilers führt eine Frequenz zurück, die vom zweiten PLL2 190 ausgegeben wird, um die Frequenz f2 festzulegen, welche die Flash-Schnittstelle 150 treibt. Wie oben ausgeführt ist, bestätigt die CPU 110 die optimierten Verriegelungsdaten durch Lesen von IDs der vorhande nen Flashspeicher 20 bis 23, d.h. der gelesenen ID. Dann kann die CPU 110 die optimierten Verriegelungsdaten in das Register 180 laden. Die geladenen optimierten Verriegelungsdaten werden zum zweiten PLL2 190 übertragen, um das Treibertaktsignal für die Flash-Schnittstelle 150 zu erzeugen. Zusätzlich kann die CPU 110 in Reaktion auf externe Befehle und Steuersignale auch die im Register 180 gespeicherten Verriegelungsdaten aktualisieren.
  • Der zweite PLL2 190 erzeugt in Reaktion auf die vom Register 180 ausgegebenen Verriegelungsdaten das Treibertaktsignal mit der optimierten Frequenz f2. Wie oben ausgeführt ist, wird das Treibertaktsignal mit der optimierten Frequenz f2 zur Flash-Schnittstelle 150 übertragen. Daher kann die Datenübertragung zwischen der Flash-Schnittstelle 150 und den Flashspeichern 20 bis 23 passend ausgeführt werden.
  • Es sei angemerkt, dass der zweite PLL2 190 das Treibertaktsignal wie im herkömmlichen SSD mit der Frequenz f1 erzeugt, wenn die Verriegelungsdaten im Register 180 auf einen Standardwert gesetzt sind. Wenn die im Register 180 gesetzten Verriegelungsdaten jedoch auf den optimierten Wert verändert werden, gibt der zweite PLL2 190 in vorteilhafter Weise ein Taktsignal mit der Frequenz f2 aus, das der Flash-Schnittstelle 150 eine optimierte Datenübertragungsrate ermöglicht. Die Flash-Schnittstelle 150 empfängt das optimierte Taktsignal mit der Frequenz f2 und erzeugt das Schreibfreigabesignal nWE und das Lesefreigabesignal nRE, um Daten mit den Flashspeichern 20 bis 23 auszutauschen.
  • In einem Ausführungsbeispiel umfasst der SSD-Steuerschaltkreis 100 zwei Treibersignale mit zwei verschiedenen Frequenzen f1 und f2. Der erste PLL1 160 gibt das Treibertaktsignal mit der Frequenz f1 an die ATA-Schnittstelle 120 und den SRAM-Cachespeicher 130 aus. Das Treibertaktsignal mit der Frequenz f1 entspricht der Frequenz des Hosts. In vorteilhafter Weise kann die zweite PLL2 190 der Flash-Schnittstelle 150 ein Treiber taktsignal mit einer Frequenz f2 zur Verfügung stellen, so dass die Flash-Schnittstelle 150 Daten mit einer optimierten Datenübertragungsrate zu bzw. von den Flashspeichern 20 bis 23 übertragen kann. Zudem wird ein erster First-In-First-Out-Puffer (FIFO) 140 zwischen dem SRAM-Cachespeicher 130 und der Flash-Schnittstelle 150 eingeschleift. Der FIFO 140 vermittelt insbesondere die Datenübertragung zwischen dem SRAM-Cachespeicher 130 und der Flash-Schnittstelle 150, da diese verschiedene Betriebsfrequenzen aufweisen. Da der zweite PLL2 190 ein Signal bereitstellt, das eine gewünschte Frequenz aufweist, sind die Periodenzeiten der den Flashspeichern 20 bis 23 zur Verfügung gestellten Signale nWE und nRE wie gewünscht eingestellt. Dadurch können die Flashspeicher 20 bis 23 mit der günstigsten Rate arbeiten.
  • 3 ist ein Blockdiagramm, das ein anderes Ausführungsbeispiel der Erfindung zeigt. Die gleichen Bezugszeichen wie in 2 bezeichnen die gleichen Komponenten. Unter Bezugnahme auf 3 empfängt der SSD-Steuerschaltkreis 100 ein Treibertaktsignal für die Flash-Schnittstelle 150 von einem externen Oszillator 192. Zusätzlich zum Register 180 umfasst der SSD-Steuerschaltkreis 100 einen Multiplexer 191. In vorteilhafter Weise ändert der SSD-Steuerschaltkreis 100 gemäß 3 eine Default- bzw. Standardfrequenz des Treibertaktsignals, das der Flash-Schnittstelle zur Verfügung gestellt wird, in eine optimierte Frequenz. In einem Ausführungsbeispiel, wenn das Register 180 durch die CPU 110 auf einen Standardwert, d.h. auf Standardverriegelungsdaten, gesetzt wird, empfängt die Flash-Schnittstelle 150 ein Treibertaktsignal, das die gleiche Frequenz wie eine Ausgabe des ersten PLL1 160 aufweist. Wenn das Register 180 jedoch auf Verriegelungsdaten zum Erzeugen des optimierten Frequenzwertes gesetzt wird, empfängt die Flash-Schnittstelle 150 vom externen Oszillator 192 ein Treibertaktsignal mit der optimierten Frequenz. Das bedeutet, dass die von der CPU 110 in das Register 180 geladenen Verriegelungsdaten bestimmen, ob die Standardfrequenz f1 oder die optimierte Frequenz f2 der Flash-Schnittstelle 150 zur Verfügung gestellt wird.
  • Der Multiplexer 191 kann verwendet werden, um der Flash-Schnittstelle 150 die vom ersten PLL1 160 und vom Oszillator 192 erzeugten Signale zur Verfügung zu stellen. Insbesondere versorgt der Multiplexer 191 die Flash-Schnittstelle 150 entsprechend den in das Register 180 geladenen Verriegelungsdaten mit der vom ersten PLL1 160 erzeugten Frequenz f1 oder mit der extern bereitgestellten optimierten Frequenz f2.
  • Der Oszillator 192 ist ein externen Taktgenerator und erzeugt in vorteilhafter Weise ein Taktsignal, das eine optimierte Frequenz für eine Datenübertragung zu und von den Flashspeichern 20 bis 23 aufweist, die mit dem SSD-Steuerschaltkreis 100 zusammenwirken.
  • In einem anderen Ausführungsbeispiel kann der SSD-Steuerschaltkreis 100 keinen zusätzlichen Taktsignalgenerator aufweisen. Bei einer solchen Ausführungsform können die Verriegelungsdaten, die zum Erzeugen einer gewünschten Frequenz erforderlich sind, von der CPU 110 in das Register 180 vorgeladen werden. Basierend auf den im Register 180 gespeicherten Verriegelungsdaten kann die Flash-Schnittstelle 150 entweder die Standardfrequenz f1 oder die optimierte Taktfrequenz f2 empfangen.
  • 4(A) und 4(B) sind Zeitablaufdiagramme, die Lese- und Schreibvorgänge des SSD-Steuerschaltkreises 100 darstellen, die mit einer optimierten Datenübertragungsrate ablaufen. 4(A) zeigt insbesondere die Lese- und Schreibvorgänge unter Verwendung eines Taktsignals mit der Frequenz f1 als Treibertaktsignal für die Flash-Schnittstelle 150. Andererseits zeigt 4(B) die Lese- und Schreibvorgänge unter Verwendung eines Taktsignals mit der Frequenz f2 als Treibertaktsignal für die Flash-Schnittstelle 150. Nachfolgend werden die Lese- und Schreibvorgänge des SSD-Steuerschaltkreises 100 unter Bezugnahme auf 4 ausführlich beschrieben.
  • Wenn der Host über die ATA-Schnittstelle 120 Befehle und Adressen sendet, empfängt die CPU 110 die Befehle und Adressen und stellt die empfangenen Betriebsbefehle und Adressen der Flash-Schnittstelle 150 zur Verfügung. Die Flash-Schnittstelle 150 erzeugt einen Schreibbefehl 00h und Adressen CA1 bis RA3 für die Flashspeicher 20 bis 23. Zudem erzeugt die Flash-Schnittstelle 150 einen Lesebefehl 30h für die Flashspeicher 20 bis 23. Zusätzlich werden Daten D0 bis D6 in einem Zellenfeld der Flashspeicher 20 bis 23 erzeugt, die mit den Adressen CA1 bis RA2 korrespondieren.
  • Wenn das Treibertaktsignal, das die gleiche Frequenz f1 wie das im Host verwendete Taktsignal aufweist, der Flash-Schnittstelle 150 in 4(A) zur Verfügung gestellt wird, können die Raten der Lese- und Schreibvorgänge nicht optimiert werden. Da eine Schreibperiodenzeit tWCO und eine Leseperiodezeit tRCO von der Frequenz f1 abhängig sind, ist es für die Flash-Schnittstelle 150 schwierig, die Periodenzeit tWCO und die Leseperiodenzeit unabhängig einzustellen. Das bedeutet, dass die ausgewählte Frequenz von der optimierten Betriebsfrequenz der Flashspeicher 20 bis 23 abweichen kann, wenn die Flash-Schnittstelle 150 die günstigste Frequenz aus einem Bereich von Frequenzen auswählt, die durch Teilen der Frequenz f1 erzeugt werden.
  • Wie jedoch oben ausgeführt ist, kann in einem Ausführungsbeispiel der SSD-Steuerschaltkreis 100 den zweiten PLL2 190 zum Erzeugen des Taktsignals mit der Frequenz f2 und das Register 180 zur unabhängigen Steuerung des Taktsignals umfassen. 4(B) ist ein Zeitablaufdiagramm, das die Funktionsweise des SSD-Steuerschaltkreises 100 gemäß einem dargestellten Ausführungsbeispiel zeigt. Durch die Verwendung des zweiten PLL2 190 und des Registers 180 zum Erzeugen der einstellbaren Frequenz f2 können die Schreibperiodenzeit tWC1 und die Leseperiodenzeit tRC1 der Flashspeicher 20 bis 23 wie erforderlich gesteuert werden. Während eines Testlaufs können beispielsweise jeweils die optimierten Schreib- und Leseperiodenzeiten tWC und tRC bestimmt werden. Des Weiteren können die Verriegelungsdaten zur Erzeugung der optimierten Frequenz f2 in vorteilhafter Weise basierend auf den optimierten Periodenzeiten tWC und tRC in das Register 180 geschrieben werden. Dann erzeugen der interne zweite PLL2 190 oder der externe Oszillator 192 des SSD-Steuerschaltkreises 100 das Treibertaktsignal mit der optimierten Frequenz f2 gemäß den Verriegelungsdaten. Dadurch können die Lese- und Schreibzeiten reduziert werden, wie aus 4(B) ersichtlich ist.
  • Der oben beschriebene SSD-Steuerschaltkreis kann in verschiedenen Speichersystemen verwendet werden. Wie oben ausgeführt ist, umfasst der SSD-Steuerschaltkreis 100 unabhängig steuerbare interne oder externe Taktgeneratoren 190 und 192. Des Weiteren kann das der Flash-Schnittstelle 150 zur Verfügung gestellte einstellbare Taktsignal die Datenübertragungsrate der Flashspeicher 20 bis 23 verbessern. Daher können diese Taktgeneratoren von dem SSD-Steuerschaltkreis 100 benutzt werden, um die Zugriffszeit des SSD-Steuerschaltkreises zu reduzieren, die durch die Datenübertragungsrate bestimmt wird.

Claims (30)

  1. Halbleiterplattensteuerbauelement, das eine Datenübertragung zwischen einem Host und einem Flashspeicher (20~23) steuert, mit – einer Flash-Schnittstelle (150), die für einen Anschluss an den Flashspeicher (20~23) konfiguriert ist, – einer Host-Schnittstelle (120), die für einen Anschluss an den Host konfiguriert ist, – einem ersten Taktgenerator (160), der dazu konfiguriert ist, ein erstes Treibertaktsignal (f1) für die Host-Schnittstelle (120) zu erzeugen, und – einem zweiten Taktgenerator (190), der dazu konfiguriert ist, ein zweites Treibertaktsignal (f2) für die Flash-Schnittstelle (150) unabhängig vom ersten Taktgenerator (160) zu erzeugen.
  2. Halbleiterplattensteuerbauelement nach Anspruch 1, wobei das zweite Treibertaktsignal keine Taktsignale in einem Frequenzteilerbereich des ersten Treibertaktsignals aufweist.
  3. Halbleiterplattensteuerbauelement nach Anspruch 2, wobei die Taktsignale im Frequenzteilerbereich des ersten Treibertaktsignals Frequenzen aufweisen, die durch Teilen einer Frequenz des ersten Treibertaktsignals mit einer ganzen Zahl erzeugt werden.
  4. Halbleiterplattensteuerbauelement nach einem der Ansprüche 1 bis 3, wobei das zweite Treibertaktsignal eine Frequenz aufweist, die am geeignetsten für eine Datenübertragungsrate zwischen der Flash-Schnittstelle und dem Flashspeicher ist.
  5. Halbleiterplattensteuerbauelement nach einem der Ansprüche 1 bis 4, weiter einen First-In-First-Out-Puffer (140) umfassend, der mit einem Eingabeanschluss der Flash-Schnittstelle (150) verbunden ist, um ei ne Datenübertragung zwischen Bauelementen zu vermitteln, die mit verschiedenen Frequenzen arbeiten.
  6. Halbleiterplattensteuerbauelement nach einem der Ansprüche 1 bis 5, wobei der erste und der zweite Taktgenerator als Phasenregelschaltkreise (160, 190) ausgeführt sind.
  7. Halbleiterplattensteuerbauelement nach einem der Ansprüche 1 bis 6, wobei der zweite Taktgenerator (192) außerhalb des Halbleiterplattensteuerbauelements (100) angeordnet ist.
  8. Halbleiterplattensteuerbauelement nach einem der Ansprüche 1 bis 7, weiter ein Register (180) umfassend, das dazu konfiguriert ist, Frequenzdaten zu laden, die eine vom zweiten Taktgenerator (190) erzeugte Frequenz einstellen.
  9. Halbleiterplattensteuerbauelement nach Anspruch 8, wobei die Frequenzdaten Verriegelungsdaten sind, die eine vom zweiten Taktgenerator (190) erzeugte Frequenz einstellen.
  10. Halbleiterplattensteuerbauelement nach Anspruch 9, wobei der zweite Taktgenerator das erste Treibertaktsignal (f1) ausgibt, wenn die Verriegelungsdaten einen Standardwert aufweisen, und wobei der zweite Taktgenerator das zweite Treibertaktsignal (f2) ausgibt, wenn die Verriegelungsdaten einen optimalen Wert aufweisen.
  11. Halbleiterplattensteuerbauelement mit – einer ersten Schnittstelle (120), die für einen Datenaustausch mit einem externen Host konfiguriert ist, – einem Cachespeicher (130), der dazu konfiguriert ist, Eingabe- und Ausgabedaten der ersten Schnittstelle (120) temporär zu speichern, – einer zweiten Schnittstelle (150), die für einen Datenaustausch mit einem nichtflüchtigen Speicher (20~23) konfiguriert ist, – einem First-In-First-Out-Puffer (140), der zwischen dem Cachespeicher (130) und der zweiten Schnittstelle (150) eingeschleift ist und dazu konfiguriert ist, eine Datenübertragung zwischen Bauelementen zu vermitteln, die mit verschiedenen Frequenzen arbeiten, – einem ersten Taktgenerator (160), der dazu konfiguriert ist, ein erstes Treibertaktsignal (f1) für die erste Schnittstelle (120) und den Cachespeicher (130) zur Verfügung zu stellen, – einem Register (180), das dazu konfiguriert ist, Frequenzdaten eines zweiten Treibertaktsignals (f2) zu speichern, das für die zweite Schnittstelle (150) zur Verfügung gestellt ist, und – einem zweiten Taktgenerator (190), der dazu konfiguriert ist, das zweite Treibertaktsignal (f2) der zweiten Schnittstelle (150) entsprechend den Frequenzdaten zur Verfügung zu stellen.
  12. Halbleiterplattensteuerbauelement nach Anspruch 11, wobei das zweite Treibertaktsignal (f2) in einem Frequenzteilerbereich liegt, der sich von einem Frequenzteilerbereich des ersten Treibertaktsignals (f1) unterscheidet.
  13. Halbleiterplattensteuerbauelement nach Anspruch 12, wobei die Taktsignale im Frequenzteilerbereich des ersten Treibertaktsignals (f1) Frequenzen aufweisen, die durch Teilen einer Frequenz des ersten Treibertaktsignals (f1) mit einer ganzen Zahl erzeugt werden.
  14. Halbleiterplattensteuerbauelement nach einem der Ansprüche 11 bis 13, wobei das zweite Treibertaktsignal (f2) am geeignetsten für eine Datenübertragung zwischen der zweiten Schnittstelle (150) und dem nichtflüchtigen Speicher (20~23) ist.
  15. Halbleiterplattensteuerbauelement nach einem der Ansprüche 11 bis 14, wobei die zweite Schnittstelle (150) ein Schreibfreigabesignal und/oder ein Lesefreigabesignal gemäß dem zweiten Treibertaktsignal (f2) während einer Datenübertragung mit dem nichtflüchtigen Speicher (20~23) erzeugt.
  16. Halbleiterplattensteuerbauelement nach einem der Ansprüche 11 bis 15, wobei der erste und der zweite Taktgenerator als Phasenregelschaltkreise (160, 190) ausgeführt sind.
  17. Halbleiterplattensteuerbauelement nach Anspruch 16, wobei die Frequenzdaten Verriegelungsdaten sind, die eine vom zweiten Taktgenerator (190) ausgegebene Frequenz einstellen.
  18. Halbleiterplattensteuerbauelement nach Anspruch 17, wobei der zweite Taktgenerator (190) das erste Treibertaktsignal (f1) ausgibt, wenn die Verriegelungsdaten einen Standardwert aufweisen, und wobei der zweite Taktgenerator (190) das zweite Treibertaktsignal ausgibt, wenn die Verriegelungsdaten einen optimalen Wert aufweisen.
  19. Halbleiterplattensteuerbauelement mit – einer ersten Schnittstelle (120), die dazu konfiguriert ist, Daten mit einem externen Host auszutauschen, – einem Cachespeicher (130), der dazu konfiguriert ist, Eingabe- und Ausgabedaten der ersten Schnittstelle (120) zu speichern, – einer zweiten Schnittstelle (150), die dazu konfiguriert ist, Daten mit einem nichtflüchtigen Speicher (20~23) auszutauschen, – einem ersten Taktgenerator (160), der dazu konfiguriert ist, ein erstes Treibertaktsignal (f1) für die erste Schnittstelle (120) und den Cachespeicher (130) zur Verfügung zu stellen, und – einem First-In-First-Out-Puffer (140), der zwischen der ersten Schnittstelle (120) und der zweiten Schnittstelle (150) einge schleift ist und der dazu konfiguriert ist, eine Datenübertragung zwischen Bauelementen zu vermitteln, die mit verschiedenen Frequenzen arbeiten, – wobei die zweite Schnittstelle (150) ein externes, zweites Treibertaktsignal (f2) in einem Frequenzteilerbereich empfängt, der sich von einem Frequenzteilerbereich des ersten Treibertaktsignal (f1) unterscheidet.
  20. Halbleiterplattensteuerbauelement nach Anspruch 19, wobei Taktsignale im Frequenzteilerbereich des ersten Treibertaktsignals (f1) Frequenzen aufweisen, die durch Teilen einer Frequenz des ersten Treibertaktsignals (f1) mit einer ganzen Zahl erzeugt werden.
  21. Halbleiterplattensteuerbauelement nach Anspruch 19 oder 20, weiter einen Multiplexer (191) umfassend, der dazu konfiguriert ist, das erste und/oder das externe zweite Treibertaktsignal (f1, f2) der zweiten Schnittstelle (150) zur Verfügung zu stellen.
  22. Halbleiterplattensteuerbauelement nach Anspruch 21, wobei der Multiplexer (191) der zweiten Schnittstelle (150) während eines Standardmodus das erste Treibertaktsignal (f1) zur Verfügung stellt und während eines optimalen Modus das externe zweite Treibertaktsignal (f2) zur Verfügung stellt.
  23. Halbleiterplattensteuerbauelement nach einem der Ansprüche 19 bis 22, wobei die zweite Schnittstelle (150) ein Schreibfreigabesignal und/oder ein Lesefreigabesignal gemäß einem eingegebenen Treibertaktsignal während einer Datenübertragung mit dem nichtflüchtigen Speicher (20~23) erzeugt.
  24. Verfahren zum Bereitstellen eines Taktsignals für ein Halbleiterplattensteuerbauelement (100), das dazu konfiguriert ist, eine Datenüber tragung zwischen einem externen Host und einem Flashspeicher (2023) zu steuern, mit den Schritten: – Erzeugen eines ersten Treibertaktsignals (f1), um Daten mit dem externen Host auszutauschen, und – Erzeugen eines zweiten Treibertaktsignals (f2), dessen Frequenz von der Frequenz des ersten Treibertaktsignals (f1) verschieden ist, um Daten mit dem Flashspeicher (20~23) auszutauschen.
  25. Verfahren nach Anspruch 24, wobei die Frequenz des zweiten Treibertaktsignals (f2) eine Datenübertragungsrate des Flashspeichers (20~23) optimiert.
  26. Verfahren nach Anspruch 24 oder 25, wobei das zweite Treibertaktsignal (f2) im Halbleiterplattensteuerbauelement (100) erzeugt wird.
  27. Verfahren nach Anspruch 24 oder 25, wobei das zweite Treibertaktsignal (f2) in einem Bauelement (192) außerhalb des Halbleiterplattensteuerbauelements (100) erzeugt wird.
  28. Verfahren nach einem der Ansprüche 24 bis 27, wobei das erste und das zweite Treibertaktsignal (f1, f2) von unterschiedlichen Phasenregelschaltkreisen (160, 190) erzeugt werden.
  29. Verfahren nach Anspruch 28, wobei der Phasenregelschaltkreis (190), der das zweite Treibertaktsignal (f2) erzeugt, ein Register (180) umfasst, das Verriegelungsdaten speichert, welche die Frequenz des zweiten Treibertaktsignals (f2) einstellen.
  30. Verfahren nach Anspruch 29, wobei das Register (180) derart gesteuert wird, dass es Verriegelungsdaten speichert, die während eines Standardmodus das erste Treibertaktsignal (f1) erzeugen und wäh rend eines optimalen Modus das zweite Treibertaktsignal (f2) erzeugen.
DE102006053750A 2005-11-10 2006-11-10 Halbleiterplattensteuerbauelement und Verfahren zum Bereitstellen eines Taktsignals für ein Halbleiterplattensteuerbauelement Withdrawn DE102006053750A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050107753A KR100660546B1 (ko) 2005-11-10 2005-11-10 반도체 디스크 제어 장치
KR10-2005-0107753 2005-11-10

Publications (1)

Publication Number Publication Date
DE102006053750A1 true DE102006053750A1 (de) 2007-07-05

Family

ID=37815287

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006053750A Withdrawn DE102006053750A1 (de) 2005-11-10 2006-11-10 Halbleiterplattensteuerbauelement und Verfahren zum Bereitstellen eines Taktsignals für ein Halbleiterplattensteuerbauelement

Country Status (4)

Country Link
US (1) US20070106836A1 (de)
JP (1) JP2007133868A (de)
KR (1) KR100660546B1 (de)
DE (1) DE102006053750A1 (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8856423B1 (en) * 2007-04-10 2014-10-07 Marvell International Ltd. Dual-purpose nonvolatile memory for code and data storage
US8825939B2 (en) * 2007-12-12 2014-09-02 Conversant Intellectual Property Management Inc. Semiconductor memory device suitable for interconnection in a ring topology
US7949821B2 (en) 2008-06-12 2011-05-24 Micron Technology, Inc. Method of storing data on a flash memory device
US8412878B2 (en) 2008-07-14 2013-04-02 Marvell World Trade Ltd. Combined mobile device and solid state disk with a shared memory architecture
KR101521493B1 (ko) 2008-07-16 2015-05-19 시게이트 테크놀로지 엘엘씨 통신 속도를 조절할 수 있는 컨트롤러, 상기 컨트롤러를포함하는 데이터 저장 장치, 및 상기 데이터 저장 장치를포함하는 데이터 통신 시스템
US7821830B2 (en) 2008-07-23 2010-10-26 Micron Technology, Inc. Flash memory device with redundant columns
US8904083B2 (en) * 2008-07-30 2014-12-02 Infineon Technologies Ag Method and apparatus for storing data in solid state memory
US9727473B2 (en) * 2008-09-30 2017-08-08 Intel Corporation Methods to communicate a timestamp to a storage system
US8281074B2 (en) 2008-10-07 2012-10-02 Micron Technology, Inc. Interface device for memory in a stack, storage devices and a processor
KR20100048609A (ko) * 2008-10-31 2010-05-11 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템, 및 메모리 테스트 시스템
US20100169698A1 (en) * 2008-12-25 2010-07-01 Kabushiki Kaisha Toshiba Recording medium control element, recording medium control circuit board, and recording medium control device
US20100191896A1 (en) * 2009-01-23 2010-07-29 Magic Technologies, Inc. Solid state drive controller with fast NVRAM buffer and non-volatile tables
US20100325352A1 (en) * 2009-06-19 2010-12-23 Ocz Technology Group, Inc. Hierarchically structured mass storage device and method
US9424188B2 (en) * 2011-11-23 2016-08-23 Smart Modular Technologies, Inc. Non-volatile memory packaging system with caching and method of operation thereof
KR101859646B1 (ko) 2011-12-16 2018-05-18 삼성전자주식회사 보안 데이터를 보호하는 메모리 장치 및 보안 데이터를 이용한 데이터 보호 방법
DE102013100596B4 (de) 2012-01-27 2023-09-07 Samsung Electronics Co. Ltd. Nichtflüchtiges Speichersystem mit Programmier- und Löschverfahren und Blockverwaltungsverfahren
KR101903440B1 (ko) 2012-02-21 2018-10-02 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 접지 선택 트랜지스터의 문턱전압 조절 방법
KR101929984B1 (ko) 2012-05-17 2018-12-18 삼성전자주식회사 모듈러 곱셈기 및 그것의 모듈러 곱셈 방법
KR101925868B1 (ko) 2012-05-17 2018-12-06 삼성전자주식회사 모듈러 계산 유닛 및 그것을 포함하는 보안 시스템
KR101996004B1 (ko) 2012-05-29 2019-07-03 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법 및 그것의 메모리 시스템
DE102013105356A1 (de) 2012-05-29 2013-12-05 Samsung Electronics Co., Ltd. Verfahren zum Betreiben von nichtflüchtigen Speichervorrichtungen, die effiziente Fehlererkennung unterstützen
KR102000634B1 (ko) 2012-06-07 2019-07-16 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 소거 방법
KR101975406B1 (ko) 2012-07-11 2019-05-07 삼성전자주식회사 비휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템 및 그것의 메모리 블록 관리, 소거, 및 프로그램 방법들
US9471484B2 (en) 2012-09-19 2016-10-18 Novachips Canada Inc. Flash memory controller having dual mode pin-out
JP6359980B2 (ja) * 2015-01-29 2018-07-18 株式会社メガチップス 情報処理システム
KR20180109902A (ko) * 2016-01-29 2018-10-08 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치, 전자 부품, 및 전자 기기
KR20170126239A (ko) 2016-05-09 2017-11-17 에스케이하이닉스 주식회사 제어 회로 및 이를 포함하는 메모리 장치
FR3094829B1 (fr) * 2019-04-05 2021-03-12 St Microelectronics Rousset Procédé d’écriture de mémoire non-volatile électriquement effaçable et programmable et circuit intégré correspondant
JP2022094033A (ja) 2020-12-14 2022-06-24 キオクシア株式会社 メモリシステム
US11809746B2 (en) 2021-12-03 2023-11-07 Macronix International Co., Ltd. Solid state disk, data transmitting method and intermediary controller to support reduced SSD controller pad count
TWI774621B (zh) * 2021-12-03 2022-08-11 旺宏電子股份有限公司 固態硬碟、資料傳輸方法及其中介控制器

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5239639A (en) * 1990-11-09 1993-08-24 Intel Corporation Efficient memory controller with an independent clock
US5448715A (en) * 1992-07-29 1995-09-05 Hewlett-Packard Company Dual clock domain interface between CPU and memory bus
JP3161189B2 (ja) * 1993-12-03 2001-04-25 株式会社日立製作所 記憶システム
US5550489A (en) * 1995-09-29 1996-08-27 Quantum Corporation Secondary clock source for low power, fast response clocking
US5889936A (en) * 1995-11-22 1999-03-30 Cypress Semiconductor Corporation High speed asynchronous digital testing module
US6134638A (en) * 1997-08-13 2000-10-17 Compaq Computer Corporation Memory controller supporting DRAM circuits with different operating speeds
US7242230B2 (en) * 2004-02-25 2007-07-10 Analog Devices, Inc. Microprocessor with power saving clock

Also Published As

Publication number Publication date
KR100660546B1 (ko) 2006-12-22
US20070106836A1 (en) 2007-05-10
JP2007133868A (ja) 2007-05-31

Similar Documents

Publication Publication Date Title
DE102006053750A1 (de) Halbleiterplattensteuerbauelement und Verfahren zum Bereitstellen eines Taktsignals für ein Halbleiterplattensteuerbauelement
US20210124701A1 (en) Flash-dram hybrid memory module
DE102004038649B4 (de) Dauerspeichervorrichtung für Sicherungsprozess-Prüfpunktzustände
DE102006002526B4 (de) Steuervorrichtung für eine Solid-State-Disk und Verfahren zum Betreiben derselben
DE102015014851B4 (de) Ressourcenzuteilung und -freigabe für die Energieverwaltung in Vorrichtungen
DE102011086098B4 (de) Parallele Speicherlese- und Speicherschreib-Operationen in einem Speicher mit serieller Schnittstelle
DE102008022831B4 (de) Arbeitsverfahren für ein Speichersubsystem und Vorrichtungen zur Durchführung des Arbeitsverfahrens
DE112011106032B4 (de) Energieeinsparung durch Speicherkanal-Abschaltung
DE19983737B3 (de) System zum Neuordnen von Befehlen, die von einer Speichersteuerung zu Speichervorrichtungen ausgegeben werden, unter Verhinderung von Kollision
DE102012216035B4 (de) Aktivierung der drosselung auf den durchschnittlichen schreibdurchsatz bei festkörperspeichereinheiten
DE102005006176A1 (de) Transaktionsverarbeitungs-Systeme und -Verfahren, die einen Nicht-Platten-Dauerspeicher verwenden
DE102015012566A1 (de) Mehrlagenkonzept für logische speicherungsverwaltung
DE102012219907B4 (de) Erhöhen der Speicherkapazität in Systemen mit eingeschränkter elektrischer Leistungsaufnahme
DE112017003334T5 (de) Lastreduzierte nichtflüchtige speicherschnittstelle
DE112018004251T5 (de) Adaptive vorrichtungsdienstqualität durch host-speicherpufferbereich
DE202010017669U1 (de) Befehls- und Interrupt-Gruppierung bei einer Datenspeichervorrichtung
DE102019133129A1 (de) Mehrphasenprogrammierung mit symmetrischer gray-codierung
DE10348326A1 (de) Permanentspeichervorrichtung, die an eine Kommunikationsverbindung angeschlossen ist
DE102008036822A1 (de) Verfahren zum Speichern von Daten in einem Solid-State-Speicher, Solid-State-Speichersystem und Computersystem
DE10147592A1 (de) System und Verfahren zum Vorsehen geichzeitiger Zeilen- und Spaltenbefehle
DE102007031269A1 (de) Verfahren zum Zugreifen auf Steuerregister über eine Speichervorrichtung
DE102005051478A1 (de) Flashdatenspeichervorrichtung
DE102004039178B4 (de) Speichersteuerschaltung, Smartcard und Lesesteuerverfahren
DE112020005787T5 (de) Verbesserte dateisystem-unterstützung für zonen-namespace-speicher
DE102021115626A1 (de) Datenaggregation in zns-laufwerk

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: G06F 13/12 AFI20070322BHDE

8139 Disposal/non-payment of the annual fee