-
QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
-
Diese Anmeldung beansprucht die Priorität der
koreanischen Patentanmeldung Nr. 10-2013-0022168 , welche am 28. Februar 2013 eingereicht wurde, deren Offenbarung hierin in ihrer Gesamtheit durch Bezugnahme mit eingebunden ist.
-
HINTERGRUND
-
Verfahren und Vorrichtungen, welche konsistent mit beispielhaften Ausführungsformen des erfinderischen Konzepts sind, beziehen sich auf eine integrierte Schaltung und genauer auf eine integrierte Schaltung zum Berechnen einer Zieleintragsadresse eines einer Mehrzahl von Einträgen eines Puffer-Deskriptors basierend auf einem Datenblockabstand.
-
Eine Flash-Speichervorrichtung rührt eine Programmieroperation und eine Leseoperation in Einheiten einer vorbestimmten Größe, beispielsweise in Einheiten von Blöcken durch. Ein Puffer-Deskriptor wird verwendet, um Adressen zu mappen, welche für eine Dateneingabe/-ausgabe einer Mehrzahl von Speichervorrichtungen notwendig sind. Ein Controller beziehungsweise eine Steuerung, der/die die Dateneingabe/-ausgabe der Speichervorrichtungen steuert, mappt die notwendigen Adressen unter Verwendung von Puffer-Deskriptoren und greift auf einen Bereich einer Speichervorrichtung zu, welcher einer Adresse entspricht, welche als das Mapping-Ergebnis erhalten wird.
-
KURZFASSUNG
-
Gemäß einem Aspekt einer beispielhaften Ausführungsform ist ein Verfahren zum Betreiben einer integrierten Schaltung vorgesehen. Das Verfahren weist ein Empfangen eines Datenblockabstands von einer zweiten Speichervorrichtung, ein Erhalten einer Zieleintragsadresse unter Verwendung des Datenblockabstandes und ein Lesen eines Eintrags unter einer Mehrzahl von Einträgen, welche in einem Puffer-Deskriptor enthalten sind, welcher in einer ersten Speichervorrichtung gespeichert ist, basierend auf der Zieleingangsadresse auf.
-
Das Verfahren kann weiterhin ein Lesen von Daten aus einem Datenpuffer unter einer Mehrzahl von Datenpuffern, welche in der ersten Speichervorrichtung enthalten sind, unter Verwendung einer physikalischen Adresse, welche in dem Eintrag enthalten ist, und ein Übertragen der Daten zu der zweiten Speichervorrichtung aufweisen.
-
Das Verfahren kann weiterhin ein Einstellen von Werten aufweisen, von welchen jeder eine Größe eines Datenpuffers anzeigt und in einem der Einträge enthalten ist, sodass sie dieselben sind, welche ein Register verwenden. Alternativ kann das Verfahren weiterhin ein Empfangen von gelesenen Daten zusammen mit dem Datenblockabstand und ein Schreiben der gelesenen Daten zu einem Datenpuffer unter einer Mehrzahl von Datenpuffern aufweisen, welche in der ersten Speichervorrichtung enthalten sind, unter Verwendung einer physikalischen Adresse, welche in dem Eintrag enthalten ist.
-
Das Erhalten der Zieleintragsadresse kann ein Berechnen eines ganzzahligen Quotienten des Datenblockabstandes dividiert durch eine Datenpuffergröße und ein Berechnen der Zieleintragsadresse unter Verwendung von ESA = BD + Q × ES aufweisen, wobei ESA die Zieleintragsadresse ist, BD eine Startadresse des Puffer-Deskriptors ist, Q der ganzzahlige Quotient ist, und ES eine Größe jedes der Einträge ist.
-
Das Verfahren kann weiterhin ein Empfangen einer Datengröße zusammen mit dem Datenblockabstand, ein Berechnen einer benachbarten Eintragsadresse der Zieleintragsadresse basierend auf der Zieleintragsadresse und eines Verhältnises der Datengröße zu einer Größe eines Datenpuffers, und ein Lesen von Daten aus einem Datenpuffer aus einer Mehrzahl von Datenpuffern, welche in der ersten Speichervorrichtung enthalten sind, basierend auf einer physikalischen Adresse, welche in dem Eintrag enthalten ist, der basierend auf der Zieleintragsadresse gelesen wird, und ein Übertragen der Daten zu der zweiten Speichervorrichtung während des Lesens eines benachbarten Eintrags basierend auf der benachbarten Eintragsadresse aufweisen.
-
Das Verfahren kann weiterhin ein Empfangen einer Datengröße und von gelesenen Daten zusammen mit dem Datenblockabstand, ein Berechnen einer benachbarten Eintragsadresse der Zieleintragsadresse basierend auf der Zieleintragsadresse und einem Verhältnis der Datengröße zu einer Größe eines Datenpuffers, und ein Schreiben der gelesenen Daten zu einem Datenpuffer unter einer Mehrzahl von Datenpuffern, welche in der ersten Speichervorrichtung enthalten sind, basierend auf einer physikalischen Adresse, welche in dem Eintrag, welcher basierend auf der Zieleingangsadresse gelesen wird, enthalten ist, während eines Lesens eines benachbarten Eintrags basierend auf der benachbarten Eintragsadresse aufweisen.
-
Gemäß einem Aspekt einer anderen beispielhaften Ausführungsform ist eine integrierte Schaltung vorgesehen, welche eine Steuerlogikschaltung, welche konfiguriert ist, um eine Zieleintragsadresse unter Verwendung eines Datenblockabstandes zu erhalten, welcher von einer zweiten Speichervorrichtung empfangen wird, und einen ersten Direktspeicherzugriffs(DMA =)Direct Memory Access)-Controller aufweist, welcher konfiguriert ist, um einen Eintrag unter einer Mehrzahl von Einträgen zu lesen, welche in einem Puffer-Deskriptor, welcher in einer ersten Speichervorrichtung enthalten ist, basierend auf der Zieleintragsadresse zu lesen.
-
Der erste DMA-Controller kann auf einen Datenpuffer unter einer Mehrzahl von Datenpuffern, welche in der ersten Speichervorrichtung enthalten sind, unter Verwendung einer physikalischen Adresse, welche in dem Eintrag enthalten ist, zugreifen, um eine Schreiboperation oder eine Leseoperation durchzuführen.
-
Die integrierte Schaltung kann weiterhin einen zweiten DMA-Controller aufweisen, welcher konfiguriert ist, um Daten aus einem Datenpuffer unter einer Mehrzahl von Datenpuffern, welche in der ersten Speichervorrichtung enthalten sind, unter Verwendung einer physikalischen Adresse, welche in dem Eintrag enthalten ist, zu lesen, und um die Daten zu der zweiten Speichervorrichtung zu übertragen.
-
Alternativ kann die integrierte Schaltung weiterhin einen zweiten DMA-Controller aufweisen, welcher konfiguriert ist, um gelesene Daten zu einem Datenpuffer unter einer Mehrzahl von Datenpuffern, welche in der ersten Speichervorrichtung enthalten sind, unter Verwendung einer physikalischen Adresse, welche in dem Eintrag enthalten ist, zu schreiben, wenn die Daten zusammen mit dem Datenblockabstand erhalten werden.
-
Die integrierte Schaltung kann eine Universal-Flash-Speicher(UFS)-Hostcontroller-Schnittstelle sein, welche in JEDEC JESD223 definiert ist. Der Puffer-Deskriptor kann eine physikalische Bereichs-Beschreibungstabelle (PRDT = Physical Region Description Table) sein, welche JEDEC JESD223 definiert ist.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die obigen und anderen Aspekte werden deutlicher werden durch ein Beschreiben von beispielhaften Ausführungsformen im Detail unter Bezugnahme auf die beigefügten Zeichnungen, in welchen:
-
1 ein Blockschaltbild eines elektronischen Systems gemäß einer beispielhaften Ausführungsform ist;
-
2 ein Diagramm eines Speicherabbilds bzw. Speicherplans eines elektronischen Systems ist, das einen Datenpufferbereich, einen Puffer-Deskriptorbereich und einen Speicherkern aufweist, welche in 1 gemäß einer beispielhaften Ausführungsform veranschaulicht sind;
-
3 ein Diagramm eines Datenflusses in einer Datenschreiboperation gemäß einer beispielhaften Ausführungsform ist;
-
4 ein Diagramm einer Datentabelle zum Erklären des Betriebs eines elektronischen Systems, welches die Datenschreiboperation, welche in 3 veranschaulicht ist, durchführt, gemäß einer beispielhaften Ausführungsform ist;
-
5 ein Diagramm eines Datenflusses in einer Datenleseoperation gemäß einer beispielhaften Ausführungsform ist;
-
6 ein Diagramm eines Speicherabbilds eines elektronischen Systems ist, welches den Datenpufferbereich, den Puffer-Deskriptorbereich und den Speicherkern aufweist, welche in 1 gemäß einer beispielhaften Ausführungsform veranschaulicht sind;
-
7 ein Diagramm eines Datenflusses in einer Datenschreiboperation gemäß einer beispielhaften Ausführungsform ist;
-
8 ein Diagramm einer Datentabelle zum Erklären des Betriebs eines elektronischen Systems, welches die Datenschreiboperation, welche in 7 veranschaulicht ist, gemäß einer beispielhaften Ausführungsform durchführt, ist;
-
9 ein Diagramm eines Datenflusses in einer Datenleseoperation gemäß einer beispielhaften Ausführungsform ist;
-
10 ein Flussdiagramm eines Datenschreibverfahrens gemäß einer beispielhaften Ausführungsform ist;
-
11 ein Flussdiagramm eines Datenleseverfahrens gemäß einer beispielhaften Ausführungsform ist; und
-
12 ein Blockschaltbild eines elektronischen Systems gemäß einer beispielhaften Ausführungsform ist.
-
DETAILLIERTE BESCHREIBUNG DER BEISPIELHAFTEN AUSFÜHRUNGSFORMEN
-
Das erfinderische Konzept wird nun vollständiger hierin nachstehend unter Bezugnahme auf die beigefügten Zeichnungen beschrieben werden, in welchen beispielhafte Ausführungsformen gezeigt sind. Dieses erfinderische Konzept kann jedoch in vielen unterschiedlichen Formen ausgeführt werden und sollte nicht als auf die hierin erläuterten Ausführungsformen beschränkt betrachtet werden. Vielmehr sind diese Ausführungsformen vorgesehen, sodass diese Offenbarung gewissenhaft und vollständig sein wird und den Umfang des erfinderischen Konzepts Fachleuten vollständig übermitteln wird. In den Zeichnungen können die Größe und relative Größen von Schichten und Bereichen zur Klarheit überhöht sein. Gleiche Zahlen beziehen sich durchgehend auf gleiche Elemente.
-
Es wird verstanden werden, dass wenn auf ein Element Bezug genommen wird als ”verbunden” oder ”gekoppelt” mit einem anderen Element, es direkt mit dem anderen Element verbunden oder gekoppelt sein kann, oder zwischenliegende Elemente gegenwärtig sein können. Im Gegensatz dazu sind, wenn auf ein Element Bezug genommen wird als ”direkt verbunden” oder ”direkt gekoppelt” mit einem anderen Element, keine zwischenliegenden Elemente gegenwärtig. Wenn hierin verwendet schließt der Begriff ”und/oder” eine beliebige und alle Kombinationen von einem oder mehreren der zugeordneten aufgelisteten Gegenstände ein und kann abgekürzt werden als ”/”.
-
Es wird verstanden werden, dass, obwohl die Begriffe erster/erste/erstes, zweiter/zweite/zweites etc. hierin verwendet werden können, um verschiedene Elemente zu beschreiben, diese Elemente nicht durch diese Begriffe beschränkt werden sollten. Diese Begriffe werden nur verwendet, um ein Element von einem anderen zu unterscheiden. Beispielsweise könnte ein erstes Signal als ein zweites Signal benannt werden, und ähnlich, könnte ein zweites Signal als ein erstes Signal benannt werden, ohne von den Lehren der Offenbarung abzuweichen.
-
Die Terminologie, welche hierin verwendet wird, ist zum Zweck des Beschreibens bestimmter Ausführungsformen ausschließlich und ist nicht vorgesehen, um für das erfinderische Konzept beschränkend zu sein. Wenn hierin verwendet, sind die Singularformen ”einer/eine/eines”, ”der/die/das” vorgesehen, um die Pluralformen ebenso einzuschließen, solange der Zusammenhang nicht deutlich anderweitiges anzeigt. Es wird weiterhin verstanden werden, dass die Begriffe ”weist auf” und/oder ”aufweisend” oder ”schließt eine beziehungsweise enthält” und/oder ”einschließlich”, wenn sie in dieser Beschreibung verwendet werden, die Anwesenheit von genannten Merkmalen, Bereichen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten beziehungsweise Bestandteilen spezifizieren, jedoch die Anwesenheit oder Hinzufügung eines oder mehrerer anderer Merkmale, Bereiche, ganzer Zahlen, Schritte, Operationen, Elemente, Bestandteile und/oder Komponenten und/oder Gruppen davon nicht ausschließen.
-
Solange nicht anderweitig definiert, haben alle Begriffe (einschließlich technischer und wissenschaftlicher Begriffe), welche hierin verwendet werden, dieselbe Bedeutung, wie sie allgemein durch einen Fachmann, zu dessen Gebiet das erfinderische Konzept gehört, verstanden werden. Es wird weiterhin verstanden werden, dass Begriffe, wie diejenigen, welche in allgemein verwendeten Wörterbüchern definiert sind, als eine Bedeutung habend interpretiert werden sollten, welche konsistent mit ihrer Bedeutung in dem Zusammenhang des relevanten Fachgebiets und/oder der vorliegenden Anmeldung sind, und nicht in einem idealisierten oder übermäßig formalen Sinne interpretiert werden werden, solange nicht ausdrücklich hierin so definiert.
-
1 ist ein Blockschaltbild eines elektronischen Systems 100 gemäß einer beispielhaften Ausführungsform. Das elektronische System 100 weist eine erste Speichervorrichtung 200, einen Controller beziehungsweise eine Steuerung 300 und eine zweite Speichervorrichtung 400 auf. Das elektronische System 100 kann als ein Personalcomputer (PC), ein Datenserver, ein tragbares elektronisches System oder ein anderes elektronisches System implementiert sein.
-
Das tragbare elektronische System, das als mobile Ausstattung bezeichnet werden kann, kann als ein Laptop-Computer, ein mobiles Telefon, ein Smartphone, ein Tablet-PC, ein persönlicher digitaler Assistent (PDA = Personal Digital Assistant), ein Enterprise Digital Assistant (EDA), eine digitale Fotokamera, eine digitale Videokamera, ein tragbarer Multimediaplayer (PMP = Portable Multimedia Player), eine persönliche Navigationsvorrichtung oder eine tragbare Navigationsvorrichtung (PND = Portable Navigation Device), eine in der Hand zu haltende Spielekonsole, eine mobile Internetvorrichtung oder ein E-Buch implementiert sein. Das elektronische System kann als ein digitaler Fernseher (TV = Television), oder ein Internetprotokoll-TV (IPTV = Intenretprotocol TV) implementiert sein.
-
Die erste Speichervorrichtung 200 weist einen Datenpufferbereich 210 auf, welcher eine Mehrzahl von Datenpuffern aufweist, und einen Puffer-Deskriptorbereich 230, welcher eine Mehrzahl von Einträgen aufweist. Die erste Speichervorrichtung 200 kann auch eine Zugriffssteuerschaltung (nicht gezeigt) aufweisen, welche Daten aus den Bereichen 210 und 230 liest oder Daten zu den Bereichen 210 und 230 schreibt.
-
Die erste Speichervorrichtung 200 kann durch eine flüchtige Speichervorrichtung oder eine nicht flüchtige Speichervorrichtung implementiert sein. Die flüchtige Speichervorrichtung kann unter Verwendung eines dynamischen Direktzugriffsspeichers (DRAM = Dynamic Random Access Memory), eines statischen RAM (SRAM), eines Thyristor-RAM (T-RAM), eines Zero Capacitor RAM (Z-RAM) oder eines Twin-Transistor-RAM (TTRAM) implementiert sein.
-
Die nicht flüchtige Speichervorrichtung kann implementiert sein unter Verwendung eines elektrisch löschbaren programmierbaren Lesespeichers (EEPROM = Electrically Erasable Programmable Read-Only Memory), eines Flash-Speichers, eines magnetischen RAM (MRAM = Magnetic RAM), eines Spin-Übertragdrehmoments MRAM, eines leitfähigen brückenden RAM (CBRAM = Conductive Bridging RAM), eines ferroelektrischen RAM (FeRAM = Ferroelectric RAM), eines Phasenübergangs-RAM (PRAM = Phase Change RAM), eines resistiven RAM (RRAM = Resistive RAM), eines Nanotube-RRAM, eines Polymer-RAM (PoRAM = Polymer RAM), eines Nano-Floating-Gate Speichers (NFGM = Nano Floating Gate Memory), eines holografischen Speichers, einer molekularen elektronischen Speichervorrichtung oder eines Isolatorwiderstands-Änderungsspeichers implementiert sein.
-
Der Controller 300 kann Daten, welche zwischen der ersten Speichervorrichtung 200 und der zweiten Speichervorrichtung 400 übertragen werden steuern. Der Controller 300 kann durch eine integrierte Schaltung oder ein SEin-Chip-System (SoC) implementiert sein. Wie in 12 gezeigt ist, kann der Controller 300 als ein Teil eines Anwendungsprozesses implementiert sein.
-
Die erste Speichervorrichtung 200 und der Controller 300 können zusammen in einer einzelnen integrierten Schaltung oder einem einzelnen SoC integriert sein. Zu dieser Zeit kann die erste Speichervorrichtung 200 unter Verwendung eines SRAM implementiert sein.
-
Der Controller 300 kann eine Steuerlogikschaltung 310, einen ersten Direktspeicherzugriffs(DMA = Direct Memory Access)-Controller 330, einen zweiten DMA-Controller 350 und eine erste Schnittstelle 370 aufweisen. Die Steuerlogikschaltung 310 kann eine Zieleintragsadresse ESA eines Zieleintrags, welcher in einem Puffer-Deskriptor enthalten ist, unter Verwendung einer Datenblockverschiebung, welche in einem Paket enthalten ist, welches von der zweiten Speichervorrichtung 400 ausgegeben wird, berechnen. Die Steuerlogikschaltung 310 kann den Betrieb des ersten DMA-Controllers 330, des zweiten DMA-Controllers 350 und der ersten Schnittstelle 370 steuern.
-
Der erste DMA-Controller 330 kann einen Eintrag ENT unter einer Mehrzahl von Einträgen, welche in dem Puffer-Deskriptor enthalten sind, welcher in dem Puffer-Deskriptorbereich 230 der ersten Speichervorrichtung 200 gespeichert ist, basierend auf der Zieleintragsadresse ESA lesen und kann den Eintrag ENT oder eine physikalische Adresse PA, welche in dem Eintrag ENT enthalten ist, zu dem zweiten DMA-Controller 350 übertragen. Der erste DMA-Controller 330 liest nur den Eintrag ENT, welcher in dem Puffer-Deskriptor enthalten ist, welcher in dem Puffer-Deskriptorbereich 230 gespeichert ist, anstelle eines Lesens des gesamten Puffer-Deskriptors.
-
Während einer Datenschreiboperation kann in Antwort auf ein Steuersignal CTR der Steuerlogikschaltung 310 der zweite DMA-Controller 350 einen Teil oder alle Daten, welche in einem der Datenpuffer, welcher in dem Datenpufferbereich 210 der ersten Speichervorrichtung 200 enthalten ist, unter Verwendung der physikalischen Adresse PA, welche in dem Eintrag ENT enthalten ist, lesen und die Daten zu der zweiten Speichervorrichtung 400 über die erste Schnittstelle 370 übertragen.
-
Während einer Datenleseoperation kann in Antwort auf das Steuersignal CTR der Steuerlogikschaltung 310 der zweite DMA-Controller 350 Daten, welchen von der zweiten Speichervorrichtung 400 ausgegeben werden, zu dem Teil oder allem von einem der Datenpuffer, welcher in dem Datenpufferbereich 210 der ersten Speichervorrichtung 200 enthalten ist, unter Verwendung der physikalischen Adresse PA, welche in dem Eintrag ENT enthalten ist, schreiben. Zu dieser Zeit kann das Paket von der zweiten Speichervorrichtung 400 einen Datenblockabstand und die Daten aufweisen.
-
In anderen Ausführungsformen kann der erste DMA-Controller 330 die Funktionen des zweiten DMA-Controllers 350 haben. Zu dieser Zeit kann der erste DMA-Controller 330 auf einen der Datenpuffer, welcher in dem Datenpufferbereich 210 der ersten Speichervorrichtung 200 enthalten ist, zugreifen, um die Datenschreiboperation oder die Datenleseoperation unter Verwendung der physikalischen Adresse PA, welche in dem Eintrag ENT enthalten ist, durchzuführen.
-
Die zweite Speichervorrichtung 400 kann durch eine Flash-basierte Speichervorrichtung implementiert sein, welche Daten in Einheiten einer vorbestimmten Größe, beispielsweise in Einheiten von Blöcken zuführt oder ausgibt. Die Flash-basierte Speichervorrichtung kann ein Festkörperlaufwerk (SSD = Solid State Drive), ein Universell-Seriell-Bus(USB)-Flash-Laufwerk, ein Universal-Flash-Speicher (UFS), eine Secure Digital(SD)-Karte, eine Multimedia-Karte (MMC) oder eine eingebettete MMC (eMMC) sein.
-
Wenn die zweite Speichervorrichtung 400 ein UFS ist, kann der Controller 300 eine UFS-Hostcontroller-Schnittstelle sein, welche in dem Standard JEDEC JESD223 definiert ist, der Puffer-Deskriptor, welcher in dem Puffer-Deskriptorbereich 230 enthalten ist, kann eine physikalische Bereichsbeschreibungstabelle (PRDT = Physical Region Description Table) in JEDEC JESD223 sein, und das Paket kann eine UFS-Protokollinformationseinheit (UPIU = UFS Protocol Information Unit) sein. Der UFS-Hostcontroller-Schnittstellenstandard JEDEC JESD223 ist hierin durch Bezugnahme mit eingebunden.
-
2 ist ein Diagramm eines Speicherabbilds eines elektronischen Systems 100A, welches den Datenpufferbereich 210, den Puffer-Deskriptorbereich 230 und einen Speicherkern 430, welche in 1 veranschaulicht sind, gemäß einer beispielhaften Ausführungsform aufweist. Der Datenpufferbereich 210 weist eine Mehrzahl von Datenpuffern 211 auf. Die Datenpuffer können Speicherbereiche sein, welche Daten speichern.
-
Der Puffer-Deskriptorbereich 230 weist eine Mehrzahl von Einträgen 231 auf. Die Einträge 231 können dieselbe Größe haben. Der Puffer-Deskriptorbereich 230 kann Informationen über ein Mapping zwischen einem Datenblock in der zweiten Speichervorrichtung 400 und einem Datenpuffer 211 in der ersten Speichervorrichtung 200 aufweisen. Die Informationen können in den Einträgen 231 des Puffer-Deskriptorbereichs 230 gespeichert sein.
-
Jeder der Einträge 231 weist eine physikalische Adresse, beispielsweise eine Startadresse eines der Datenpuffer 211 auf. Gemäß einer beispielhaften Ausführungsform kann jeder Eintrag 231 eine physikalische Adresse eines Datenpuffers 211 und einen Wert, welcher eine Größe des Datenpuffers 211 anzeigt, aufweisen. Der Wert kann basierend auf Informationen bestimmt werden, welche in einem Register 311, welches in der Steuerlogikschaltung 310 enthalten ist, enthalten sind.
-
Der Speicherkern 430 kann eine Mehrzahl von Speicherbereichen, d. h. Blöcken aufweisen. Ein Datenblock kann in jedem der Blöcke gespeichert sein.
-
3 ist ein Diagramm eines Datenflusses in einer Datenschreiboperation gemäß einer beispielhaften Ausführungsform. 4 ist ein Diagramm einer Datentabelle zum Erklären des Betriebs eines elektronischen Systems, welches die Datenschreiboperation durchführt, welche in 3 gemäß einer beispielhaften Ausführungsform veranschaulicht ist.
-
Die Schreiboperation wird unter Bezugnahme auf die 1 bis 4 beschrieben werden. Es wird angenommen, dass eine Zielstartadresse TA der zweiten Speichervorrichtung 400 gleich 5000 ist, ein Datenblockabstand OFF, welcher einer Größe eines Datenblocks entspricht, gleich 128 ist, eine Puffer-Deskriptorstartadresse BD gleich 9000 ist, eine Eintragsgröße beziehungsweise Adressgröße OFFB gleich 4 ist, eine Datenpufferbereichsstartadresse SA gleich 1000 ist und eine Datenpuffergröße S gleich 128 ist. Hier wird die Einheit jeder Zahl nicht berücksichtigt.
-
Der Controller 300, genauer die Steuerlogikschaltung 310 überträgt einen Befehl CMD, welcher die Zielstartadresse TA von 5000 und eine Datengröße LENW enthält, zu einer zweiten Schnittstelle 410, welche in der zweiten Speichervorrichtung 400 enthalten ist, über die erste Schnittstelle 370 in Operation S110. Die Datengröße LENW zeigt eine Größe von Daten an, welche zu dem Speicherkern 430 zu schreiben sind.
-
Die zweite Speichervorrichtung 400, genauer die zweite Schnittstelle 410 kann die Anzahl von Paketen PACKETi, welche zu übertragen sind, und/oder eine Übertragungssequenz von Daten gemäß einem Zustand des Speicherkerns 430 bestimmen.
-
Es wird angenommen, dass die zweite Schnittstelle 410 Daten DATA, welche von dem Controller 300 ausgegeben werden, zu dem Speicherkern 430 gemäß der Datentabelle, welche in 4 veranschaulicht ist, schreibt. Die zweite Speichervorrichtung 400 überträgt ein Paket PACKET0, welches einen Datenblockabstand OFFSET0 (= 1OFF = 128) und eine Datengröße LENZ (= 128) aufweist, zu dem Controller 300 in Operation S112.
-
Die Steuerlogikschaltung 310 berechnet einen Index von 1 basierend auf der Datenpuffergröße S (= 128) und einem Datenblockabstand OFFSETi von 128 in Operation S114. In anderen Worten gesagt ist der Index der ganzzahlige Quotient (= 1) des Datenblockabstands OFFSETi (= 128) dividiert durch die Datenpuffergröße (= 128). Wenn beispielsweise der Datenblockabstand OFFSETi 128 ist und die Datenpuffergröße S128 ist, ist ein ganzzahliger Quotient gleich 1. Die Steuerlogikschaltung 310 berechnet die Zieleintragsadresse ESA in Operation S116 unter Verwendung der Gleichung 1: ESA = BD + INDEX × ES, (1) wobei ES die Größe jedes Eintrags 231 ist.
-
Die Zieleintragsadresse ESA (= BD + 1OFFB), welche unter Verwendung von Gleichung 1 berechnet wird ist 9004.
-
Die Steuerlogikschaltung 310 gibt die Zieleintragsadresse ESA (= BD + 1OFFB = 9004) an den ersten DMA-Controller 330 aus. Der erste DMA-Controller 330 überträgt die Zieleintragsadresse ESA (= BD + 1OFFB = 9004) zu der ersten Speichervorrichtung 200 in Operation S118. Die erste Speichervorrichtung 200 überträgt einen Eintrag ENT1, welcher der Zieleingangsadresse ESA (= BD + 1OFFB = 9004) entspricht, zu dem Controller 300 in Operation S120. In anderen Worten gesagt liest der erste DMA-Controller 330 den Eintrag ENT1, welcher in dem Puffer-Deskriptorbereich 230 enthalten ist, unter Verwendung der Zieleintragsadresse ESA (= BD + 1OFFB = 9004) in den Operationen S118 und S120.
-
Der erste DMA-Controller 330 überträgt die physikalische Adresse PA (= SA + 6S), welche in dem Eintrag ENT1 enthalten ist, zu dem zweiten DMA-Controller 350. Der zweite DMA-Controller 350 überträgt die physikalische Adresse PA (= SA + 6S) zu der ersten Speichervorrichtung 200 in Operation S122.
-
Die erste Speichervorrichtung 200 überträgt zweite Daten DATA2, welche in einem Datenpuffer 221 gespeichert sind, welcher der physikalischen Adresse PA (= SA + 6S) entspricht, zu dem Controller 300 in Operation S124. In anderen Worten gesagt liest der zweite DMA-Controller 350 die zweiten Daten DATA2 von dem Datenpuffer 211, welcher der physikalischen Adresse Pa (= SA + 6S) entspricht, in den Operationen S122 und S124. Der zweite DMA-Controller 350 überträgt die zweiten Daten DATA2 zu der zweiten Schnittstelle 410 durch die erste Schnittstelle 370 in Operation S126. Die zweite Schnittstelle 410 schreibt die zweiten Daten DATA2 zu einem Block, welcher einer Adresse TA + 1OFF entspricht.
-
Kontinuierlich überträgt die zweite Speichervorrichtung 400 ein Paket PACKET1, welches einen Datenblockabstand OFFSET1 (= 3OFF = 3 × 128) aufweist, und die Datengröße LEN1 (= 128) zu dem Controller 300 in den Operationen S128 und S112.
-
Die Steuerlogikschaltung 310 berechnet einen Index von 3 basierend auf der Datenpuffergröße S (= 128) und dem Datenblockabstand OFFSETi (= 3 × 128) in Operation S114. Die Steuerlogikschaltung 310 berechnet die Zieleintragsadresse ESA (= BD + 3OFFB = 9000 + 3 × 4 = 9012) unter Verwendung von Gleichung 1 in Operation S116. Die Steuerlogikschaltung 310 gibt die Zieleintragsadresse ES (= BD + 3OFFB = 9012) zu dem ersten DMA-Controller 330 aus.
-
Der erste DMA-Controller 330 liest einen Eintrag ENT3, welcher in dem Puffer-Deskriptorbereich 230 enthalten ist, unter Verwendung der Zieleintragsadresse ESA (= BD + 3OFFB = 9012) in den Operationen S118 und S120. Der erste DMA-Controller 330 überträgt die physikalische Adresse PA (= SA + 9S), welche in dem Eintrag ENT3 enthalten ist, zu dem zweiten DMA-Controller 350.
-
Der zweite DMA-Controller 350 liest vierte Daten DATA4 von einem Datenpuffer 211, welcher der physikalischen Adresse PA (= SA + 9S) entspricht, in den Operationen S122 und S124 und überträgt die vierten Daten DATA4 zu der zweiten Schnittstelle 410 über die erste Schnittstelle 370 in Operation S126. Die zweite Schnittstelle 410 schreibt die vierten Daten DATA4 zu einem Block, welcher einer Adresse TA + 3OFF entspricht.
-
Während der zweite DMA-Controller 350 die zweiten Daten DATA2 liest, kann der erste DMA-Controller 330 den Eintrag ENT3 lesen. Als ein Ergebnis wird die Leistungsfähigkeit des Controllers 300 erhöht.
-
Kontinuierlich überträgt die zweite Speichervorrichtung 400 ein Paket PACKET2, welches einen Datenblockabstand OFFSET2 (= 5OFF = 5 × 128) und die Datengröße LEN1 (= 128) aufweist, zu dem Controller 300 in den Operationen S128 und S112. Die Steuerlogikschaltung 310 berechnet einen Index von 5 basierend auf der Datenpuffergröße S (= 128) und dem Datenblockabstand OFFSETi (= 5 × 128) in Operation S114. Die Steuerlogikschaltung 310 berechnet die Zieleintragsadresse ESA (= BD + 5OFFB = 9000 + 5 × 4 = 9020) unter Verwendung von Gleichung 1 in Operation S116. Die Steuerlogikschaltung 310 gibt die Zieleintragsadresse ESA (= BD + 5OFFB = 9020) an den ersten DMA-Controller 330 aus.
-
Der erste DMA-Controller 330 liest einen Eintrag ENT5, welcher in dem Puffer-Deskriptorbereich 230 enthalten ist, unter Verwendung der Zieleintragsadresse ESA (= BD + 5OFFB = 9020) in den Operationen S118 und S120. Der erste DMA-Controller 330 überträgt die physikalische Adresse PA (= SA + 10S), welche in dem Eintrag ENT5 enthalten ist, zu dem zweiten DMA-Controller 350.
-
Der zweite DMA-Controller 350 liest sechste Daten DATA6 von einem Datenpuffer 211, welcher der physikalischen Adresse PA (= SA + 10S) entspricht, in den Operationen S122 und S124 und überträgt die sechsten Daten DATA6 zu der zweiten Schnittstelle 410 über die erste Schnittstelle 370 in Operation S126. Die zweite Schnittstelle 410 schreibt die sechsten Daten DATA6 zu einem Block, welcher einer Adresse TA + 5OFF entspricht.
-
Danach werden Daten DATA8, DATA1, DATA3, DATA5 und DATA7 sequenziell zu jeweiligen entsprechenden Blöcken in dem Speicherkern 430 der zweiten Speichervorrichtung 400 in den Operationen S112 bis S128 geschrieben.
-
5 ist ein Diagramm eines Datenflusses in einer Datenleseoperation gemäß einem Beispiel. Die Leseoperation wird unter Bezugnahme auf die 1, 2, 4 und 5 beschrieben werden.
-
Die Steuerlogikschaltung 310 des Controllers 300 überträgt einen Befehl CMD, welcher eine Zielstartadresse TA (= 5000) des Kernspeichers 430 und eine Datengröße LENR aufweist, zu der zweiten Schnittstelle 410 der zweiten Speichervorrichtung 400 in Operation S210. Die Datengröße LENR zeigt eine Größe von Daten, welche aus dem Speicherkern 430 zu lesen sind, an.
-
Die zweite Speichervorrichtung 400 überträgt ein Paket PACKET0, welches einen Datenblockabstand OFFSET0 (= 1OFF = 1 × 128), eine Datengröße LEN1 (= 128) und zweite Daten DATA2 aufweist, zu dem Controller 300 in Operation S212. Die Steuerlogikschaltung 310 berechnet einen Index von 1 basierend auf der Datenpuffergröße S (= 128) und dem Datenblockabstand OFFSET0 (= 1 × 128) in Operation 214.
-
Die Steuerlogikschaltung 310 berechnet eine Zieleintragsadresse ESA (= BD + 1OFFB = 9000 + 1 × 4 = 9004) unter Verwendung von Gleichung 1 in Operation S216. Die Steuerlogikschaltung 310 gibt die Zieleintragsadresse ESA (= BD + 1OFFB = 9004) an den ersten DMA-Controller 330 aus.
-
Der erste DMA-Controller 330 liest einen Eintrag ENT1 von dem Puffer-Deskriptorbereich 230 unter Verwendung der Zieleintragsadresse ESA (= BD + 1OFFB = 9004) in den Operationen S218 und S220. Der erste DMA-Controller 330 überträgt eine physikalische Adresse PA (= SA + 6S), welche in dem Eintrag ENT1 enthalten ist, zu dem zweiten DMA-Controller 350.
-
Der zweite DMA-Controller 350 schreibt die zweiten Daten DATA2 zu dem Datenpuffer 211, welcher der physikalischen Adresse PA (= SA + 6S) entspricht, in Operation S224. Kontinuierlich überträgt die zweite Speichervorrichtung 400 ein Paket PACKET1, welches einen Datenblockabstand OFFSET1 (= 3OFF = 3 × 128), eine Datengröße LEN1 (= 128) und vierte Daten DATA4 aufweist, zu dem Controller 300 in Operation S212. Die Steuerlogikschaltung 310 berechnet einen Index von 3 basierend auf der Datenpuffergröße S (= 128) und dem Datenblockabstand OFFSET1 (= 3 × 128) in Operation S214.
-
Die Steuerlogikschaltung 310 berechnet eine Zieleintragsadresse ESA (= BD + 3OFFB = 9000 + 3 × 4 = 9012) unter Verwendung von Gleichung 1 in Operation S216. Die Steuerlogikschaltung 310 gibt die Zieleintragsadresse ESA (= BD + 3OFFB = 9012) zu dem ersten DMA-Controller 330 aus.
-
Der erste DMA-Controller 330 liest einen Eintrag ENT3 von dem Puffer-Deskriptorbereich 230 unter Verwendung der Zieleintragsadresse ESA (= BD + 3OFFB = 9012) in den Operationen S218 und S220. Der erste DMA-Controller 330 überträgt eine physikalische Adresse PA (= SA + 9S), welche in dem Eintrag ENT3 enthalten ist, zu dem zweiten DMA-Controller 350.
-
Der zweite DMA-Controller 350 schreibt die vierten Daten DATA4 zu dem Datenpuffer 211, welcher der physikalischen Adresse PA (= SA + 9S) entspricht, in Operation S224. Danach werden die Daten DATA6, DATA8, DATA1, DATA3, DATA5 und DATA7 sequenziell zu jeweiligen entsprechenden Datenpuffern 211 in dem Datenpufferbereich 210 der ersten Speichervorrichtung 200 in den Operationen S212 bis S224 geschrieben.
-
6 ist ein Diagramm eines Speicherabbilds eines elektronischen Systems 100B, welches den Datenpufferbereich 210, den Puffer-Deskriptorbereich 230 und den Speicherkern 430-1 gemäß einer beispielhaften Ausführungsform aufweist. Das elektronische System 100B kann dieselbe Struktur des elektronischen Systems 100A, welches in 1 veranschaulicht ist, haben. Daten DATA2 und DATA3, welche jeweils in Datenpuffern 221 gespeichert sind, werden sequenziell gemäß einem einzelnen Paket verarbeitet, und Daten DATA4, DATA5, DATA6 und DATA7, welche jeweils in Datenpuffern 211 gespeichert sind, werden sequenziell gemäß einem anderen einzelnen Paket verarbeitet.
-
7 ist ein Diagramm eines Datenflusses in einer Datenschreiboperation gemäß einer beispielhaften Ausführungsform. 8 ist ein Diagramm einer Datentabelle zum Erklären eines Betriebs eines elektronischen Systems, welches die Datenschreiboperation durchführt, welche in 7 veranschaulicht ist. Die Schreiboperation, welche durchgeführt wird, wenn Daten, welche eine Datengröße LEN2, welche in Paket PACKETi enthalten sind, in einer Mehrzahl von Datenpuffern 211 existieren, wird im Detail unter Bezugnahme auf die 6 bis 8 beschrieben werden. Der Controller 300, genauer die Steuerlogikschaltung 310 überträgt einen Befehl CMD, welcher eine Zielstartadresse TA von 5000 und eine Datengröße LENW aufweist, zu der zweiten Schnittstelle 410 der zweiten Speichervorrichtung 400 in Operation S310.
-
Die zweite Speichervorrichtung 400, genauer die zweite Schnittstelle 410 kann die Anzahl von Paketen, welche zu übertragen ist, eine Datengröße LEN2 und/oder eine Sequenz von Daten gemäß einem Zustand des Speicherkerns 430 bestimmen. Es wird angenommen, dass die zweite Schnittstelle 410 Daten zu dem Speicherkern 430 gemäß der Datentabelle, welche in 8 veranschaulicht ist, schreibt.
-
Die zweite Speichervorrichtung 400 überträgt ein Paket PACKET0, welches einen Datenblockabstand OFFSET0 (= 1OFF = 128) und die Datengröße LEN2 (= 2 × 128) aufweist, zu dem Controller 300 in Operation S312. Die Steuerlogikschaltung 310 berechnet einen Index von 1 basierend auf der Datenpuffergröße S von 128 und dem Datenblockabstand OFFSET0 von 128) in Operation S314. Der Controller 300 berechnet die Anzahl von Iterationen, d. h. die Iterationsanzahl NoI basierend auf dem Datenblockabstand OFFSET0, d. h. 1OFF, der Datengröße LEN2 (= 2 × 128) und der Datenpuffergröße S (= 128) in Operation S316. Die Iterationsanzahl NoI kann ein Ergebnis des Dividierens der Datengröße LEN2 durch die Datenpuffergröße S (= 128) sein, d. h. 2.
-
Die Steuerlogikschaltung 310 berechnet eine Zieleintragsadresse ESA1 (= BD + 1OFFB = 9004) unter Verwendung der Gleichung 1 in Operation S318 und gibt sie an den ersten DMA-Controller 330 aus. Der erste DMA-Controller 330 liest einen Eintrag ENT1, welcher in dem Puffer-Deskriptorbereich 230 enthalten ist, unter Verwendung der Zieleintragsadresse ESA1 (= BD + 1OFFB = 9004) in den Operationen S320 und S322. Der erste DMA-Controller 330 überträgt eine physikalische Adresse PA (= SA + 6S), welche in dem Eintrag ENT1 enthalten ist, zu dem zweiten DMA-Controller 350.
-
Der zweite DMA-Controller 350 liest zweite Daten DATA2 von dem Datenpuffer 211, welcher der physikalischen Adresse PA1 (= SA + 6S) entspricht, in Operationen S324 und S326 und überträgt die zweiten Daten DATA2 zu der zweiten Schnittstelle 410 über die erste Schnittstelle 370 in Operation S328. Die zweite Schnittstelle 410 schreibt die zweiten Daten DATA2 zu einem entsprechenden Block in dem Speicherkern 430.
-
Die Steuerlogikschaltung 310 berechnet eine Eintragsadresse ESA2 benachbart zu der Zieleintragsadresse ESA1. Beispielsweise kann die Steuerlogikschaltung 310 die benachbarte Eintragsadresse ESA2 basierend auf der Zieleintragsadresse ESA1 und einer Eintragsgröße OFFB oder ES berechnen.
-
Die Steuerlogikschaltung 310 gibt die benachbarte Eintragsadresse ESA2 (= ESA1 + ES = 9008) an den ersten DMA-Controller 330 aus. Der erste DMA-Controller 330 liest einen Eintrag ENT2 von dem Puffer-Deskriptorbereich 230 unter Verwendung der benachbarten Eintragsadresse ESA2 (= BD + 2OFFB = 9008) in Operationen S332 und S334.
-
Der erste DMA-Controller 330 überträgt eine physikalische Adresse PA2 (= SA + 1S), welche in dem Eintrag ENT2 enthalten ist, zu dem zweiten DMA-Controller 350. Der zweite DMA-Controller 350 liest dritte Daten DATA3 von dem Datenpuffer 211, welcher der physikalischen Adresse, PA2 (= SA + 1S) entspricht, in Operationen S336 und S338 und überträgt die dritten Daten DATA3 zu der zweiten Schnittstelle 410 über die erste Schnittstelle 370 in Operation S340. Die zweite Schnittstelle 410 schreibt einen entsprechenden Block in den Speicherkern 430.
-
7 veranschaulicht ein Verfahren zum Schreiben der Daten DATA2 und DATA3 zu den jeweiligen Blöcken in dem Speicherkern 430 unter Verwendung eines Pakets PACKET0. Ein Verfahren zum Schreiben von Daten DATA4 bis DATA7 zu jeweiligen Blöcken in dem Speicherkern 430 unter Verwendung eines anderen Pakets PACKET1 wird untenstehend beschrieben werden.
-
Die zweite Speichervorrichtung 400 überträgt ein Paket PACKET1, welches einen Datenblockabstand OFFSET1 (= 3OFF = 3 × 128) und eine Datengröße LEN2 (= 4 × 128) aufweist, zu dem Controller 300 in Operation S312. Die Steuerlogikschaltung 310 berechnet einen Index von 3 basierend auf der Datenpuffergröße S von 128 und dem Datenblockabstand OFFSET1 von 3 × 128 in Operation S314.
-
Der Controller 300 berechnet eine Iterationsanzahl NoI basierend auf dem Datenblockabstand OFFSET1, der Datengröße LEN2 und der Datenpuffergröße S in Operation S316. Die Iterationsanzahl NoI kann ein Ergebnis des Dividierens der Datengröße LEN2 (= 4 × 128) durch die Datenpuffergröße S (= 128) sein, d. h. 4.
-
Wie obenstehend beschrieben ist, werden drei Eintragsadressen ESA, d. h. BD + 3OFFB sequenziell berechnet und dann werden Daten DATA4, DATA5, DATA6 und DATA7 sequenziell zu jeweiligen entsprechenden Blöcken in dem Speicherkern 430 der zweiten Speichervorrichtung 400 gemäß physikalischen Adressen SA + 9S, SA + 12S, SA + 10S und SA + 13S jeweils geschrieben, welche jeweils in Einträgen ENT3, ENT4, ENT5 und ENT6 enthalten sind, welche sequenziell gelesen wurden.
-
9 ist ein Diagramm eines Datenflusses in einer Datenleseoperation gemäß einer beispielhaften Ausführungsform. Die Leseoperation, welche durchgeführt wird, in einem Fall, in dem Daten, welche der Datengröße LEN2 entsprechen, welche in einem Paket PACKETi enthalten sind, zu einer Mehrzahl von Datenpuffern 211 geschrieben werden, wird im Detail unter Bezugnahme auf die 1, 6, 8 und 9 beschrieben werden.
-
Der Controller 300, genauer die Steuerlogikschaltung 310 überträgt einen Befehl CMD, welcher eine Zielstartadresse TA von 5000 und eine Datengröße LENR aufweist, zu der zweiten Schnittstelle 410 der zweiten Speichervorrichtung 400 in Operation S410. Die zweite Speichervorrichtung 400, genauer die zweite Schnittstelle 410 kann die Anzahl von Paketen, welche zu übertragen sind, eine Größe von Daten, welche zu lesen ist und/oder eine Sequenz von Daten gemäß einem Zustand des Speicherkerns 430 bestimmen. Es wird angenommen, dass die zweite Schnittstelle 410 die Daten zu dem Datenpufferbereich 210 der ersten Speichervorrichtung 200 gemäß der Datentabelle, welche in 8 veranschaulicht ist, schreibt.
-
Die zweite Speichervorrichtung 400 überträgt ein Paket PACKET0, welches einen Datenblockabstand OFFSET0 (= 1OFF = 128), eine Datengröße LEN2 (= 2 × 128) und gelesene Daten DATA2 und DATA3 aufweist, zu dem Controller 300 in Operation S412. Die Steuerlogikschaltung 310 berechnet einen Index von 1 basierend auf der Datenpuffergröße S von 128 und dem Datenblockabstand OFFSET0 von 128 in Operation S414.
-
Die Steuerlogikschaltung 310 berechnet eine Iterationsanzahl NoI basierend auf dem Datenblockabstand OFFSET0, d. h. 1OFF, der Datengröße LEN2 (= 2 × 128) und der Datenpuffergröße S (= 128) in Operation S416. Beispielsweise kann die Steuerlogikschaltung 310 die Iterationsanzahl NoI durch ein Dividieren der Datengröße LEN2 (= 2·128) durch die Datenpuffergröße S (= 128) berechnen, das heißt die Iterationsanzahl NoI kann 2 sein.
-
Die Steuerlogikschaltung 310 berechnet eine Zieleintragsadresse ESA1 (= BD + 1OFFB = 9004) unter Verwendung von Gleichung 1 in Operation S418 und gibt sie an den ersten DMA-Controller 330 aus. Der erste DMA-Controller 330 liest einen Eintrag ENT1, welcher in dem Puffer-Deskriptorbereich 230 enthalten ist, unter Verwendung der Zieleintragsadresse ESA1 (= BD + 1OFFB = 9004) in Operationen S420 und S422. Der erste DMA-Controller 330 überträgt eine physikalische Adresse PA1 (= SA + 6S), welche in dem Eintrag ENT1 enthalten ist, zu dem zweiten DMA-Controller 350.
-
Der zweite DMA-Controller 350 schreibt zweite Daten DATA2 zu dem Datenpuffer 211, welcher der physikalischen Adresse PA1 (= SA + 6S) entspricht, in Operation S424. Die Steuerlogikschaltung 310 berechnet eine Eintragsadresse ESA2 benachbart zu der Zieleintragsadresse ESA1. Beispielsweise kann die Steuerlogikschaltung 310 die benachbarte Eintragsadresse ESA2 basierend auf der Zieleintragsadresse ESA1 und einer Eintragsgröße OFFB oder ES berechnen. Die Steuerlogikschaltung 310 gibt die benachbarte Eintragsadresse ESA2 (= ESA1 + ES = 9008) an den ersten DMA-Controller 330 aus.
-
Der erste DMA-Controller 330 liest den Eintrag ENT2 von dem Puffer-Deskriptorbereich 230 unter Verwendung der benachbarten Eintragsadresse ESA2 (= BD + 2OFFB = 9008) in Operationen S428 und S430. Der erste DMA-Controller 330 überträgt die physikalische Adresse PA2 (= SA + 1S), welche in dem Eintrag ENT2 enthalten ist, zu dem zweiten DMA-Controller 350. Der zweite DMA-Controller 350 schreibt die dritten Daten DATA3 zu dem Datenpuffer 211, welcher der physikalischen Adresse PA2 (= SA + 1S) entspricht, in Operation S432.
-
9 veranschaulicht ein Verfahren zum Schreiben der gelesenen Daten DATA2 und DATA3 zu den jeweiligen Datenpuffern 211 unter Verwendung eines Pakets PACKET0. Ein Verfahren zum Schreiben von Daten DATA4 bis DATA7 zu jeweiligen Datenpuffern 211 unter Verwendung eines anderen Pakets PACKET1 wird untenstehend beschrieben werden.
-
Die zweite Speichervorrichtung 400 überträgt ein Paket PACKET1, welches einen Datenblockabstand OFFSET1 (= 3OFF = 3 × 128) und eine Datengröße LEN2 (= 4 × 128) aufweist, zu dem Controller 300 in Operation S412. Die Steuerlogikschaltung 310 berechnet einen Index von 3 basierend auf der Datenpuffergröße S von 128 und dem Datenblockabstand OFFSET1 von 3 × 128 in Operation S414.
-
Da Daten, welche der Datengröße LEN2 entsprechen, welche in dem Paket PACKET1 enthalten sind, zu einer Mehrzahl von Datenpuffern 211 geschrieben werden, berechnet die Steuerlogikschaltung 310 eine Iterationsanzahl NoI basierend auf dem Datenblockabstand 3OFF, der Datengröße LEN2 (= 4 × 128) und der Datenpuffergröße S (= 128) in Operation S416. Beispielsweise kann die Steuerlogikschaltung 310 die Iterationsanzahl NoI durch ein Dividieren der Datengröße LEN2 (= 4 × 128) durch die Datenpuffergröße S (= 128) berechnen, das heißt die NoI kann 4 sein.
-
Wie obenstehend beschrieben ist, werden drei Eintragsadressen BD + 4OFFB, BD + 5OFFB und BD + 6OFFB benachbart zu der Zieleintragsadresse ESA, d. h. BD + 3OFFB sequenziell berechnet, und dann werden Daten DATA4, DATA5, DATA6 und DATA7 sequenziell zu jeweiligen Datenpuffern 211 in dem Datenpufferbereich 210 der ersten Speichervorrichtung 200 jeweils unter Verwendung von physikalischen Adressen SA + 9S, SA + 12S, SA + 10S und SA + 13S geschrieben, die jeweils in Einträgen ENT3, ENT4, ENT5 und ENT6 enthalten sind, welche sequenziell gelesen wurden.
-
10 ist ein Flussdiagramm eines Datenschreibverfahrens gemäß einer beispielhaften Ausführungsform. Bezug nehmend auf die 1 bis 4, 6 bis 8 und 10 empfängt der Controller 300 ein Paket PACKETi, welches einen Datenblockabstand OFFSETi aufweist, von der zweiten Speichervorrichtung 400 in Operation S510.
-
Der Controller 300 berechnet eine Startadresse eines Zieleintrags, d. h. eine Zieleintragsadresse ESA unter Verwendung des Datenblockabstandes OFFSETi in Operation S512. Der Controller 300 liest einen Zieleintrag ENT, welcher der Zieleintragsadresse ESA entspricht, unter Verwendung des ersten DMA-Controllers 330 in Operation S514.
-
Der Controller 300 liest Daten von einem Datenpuffer 211 unter Verwendung einer physikalischen Adresse PA, welche in dem Zieleintrag ENT enthalten ist, in Operation S516. Der Controller 300 überträgt die Daten zu der zweiten Speichervorrichtung 400, und die zweite Speichervorrichtung 400 schreibt die Daten zu einem entsprechenden Block in dem Speicherkern 430 in Operation S518.
-
11 ist ein Flussdiagramm eines Datenleseverfahrens gemäß einer beispielhaften Ausführungsform. Bezug nehmend auf die 1, 2, 4, 5, 6, 8, 9 und 11 empfängt der Controller 300 ein Paket PACKETi, welches einen Datenblockabstand OFFSETi aufweist, und gelesene Daten von der zweiten Speichervorrichtung 400 in Operation S610.
-
Der Controller 300 berechnet eine Startadresse eines Zieleintrags, d. h. eine Zieleintragsadresse ESA unter Verwendung des Datenblockabstandes OFFSETi in Operation S612. Der Controller 300 liest einen Zieleintrag ENT, welcher der Zieleintragsadresse ESA entspricht unter Verwendung des ersten DMA-Controllers 330 in Operation S614. Der Controller 300 schreibt die gelesenen Daten zu einem Datenpuffer 211 unter Verwendung der physikalischen Adresse PA, welche in dem Zieleintrag ENT enthalten ist, in Operation S616.
-
12 ist ein Blockdiagramm eines elektronischen Systems 500 gemäß einer beispielhaften Ausführungsform. Bezug nehmend auf die 1 bis 12 weist das elektronische System 500 die erste Speichervorrichtung 200, einen Anwendungsprozessor 510, die zweite Speichervorrichtung 400 und eine Anzeige 600 auf.
-
Der Anwendungsprozessor 510 weist den Controller 300, eine zentrale Verarbeitungseinheit (CPU = Central Processing Unit) 513 und einen Anzeigecontroller beziehungsweise eine Anzeigesteuerung 515 auf. Die CPU 513 steuert Operationen des Controllers 300 und den Anzeigecontroller 515 durch einen Bus 511. Gemäß der Steuerung des Anzeigecontrollers 515 können Daten in den Speichervorrichtungen 200 und 400 auf der Anzeige 600 angezeigt werden.
-
Wie obenstehend beschrieben ist, berechnet gemäß einer beispielhaften Ausführungsform eine integrierte Schaltung leicht eine physikalische Adresse einer Speichervorrichtung, welche zum Mappen beziehungsweise für ein Mapping benötigt wird, wobei die Ressourcen verringert werden, welche notwendig sind, um die physikalische Adresse zu berechnen, und eine Dateneingabe-/Ausgabeleistungsfähigkeit erhöht wird.
-
Während das erfinderische Konzept besonders unter Bezugnahme auf beispielhafte Ausführungsformen davon gezeigt und beschrieben wurde, wird es durch Fachleute verstanden werden, dass verschiedene Änderungen in den Formen und Details darin getätigt werden können, ohne vom Gedanken und Umfang des erfinderischen Konzepts, wie es durch die folgenden Ansprüche definiert 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 10-2013-0022168 [0001]
-
Zitierte Nicht-Patentliteratur
-
- JEDEC JESD223 [0014]
- Standard JEDEC JESD223 [0046]