DE102020122118A1 - Vorrichtungen, systeme und verfahren zum speichern von vor-lese-daten, die einer modifizier-schreib-operation zugeordnet sind - Google Patents

Vorrichtungen, systeme und verfahren zum speichern von vor-lese-daten, die einer modifizier-schreib-operation zugeordnet sind Download PDF

Info

Publication number
DE102020122118A1
DE102020122118A1 DE102020122118.5A DE102020122118A DE102020122118A1 DE 102020122118 A1 DE102020122118 A1 DE 102020122118A1 DE 102020122118 A DE102020122118 A DE 102020122118A DE 102020122118 A1 DE102020122118 A1 DE 102020122118A1
Authority
DE
Germany
Prior art keywords
read data
read
memory
data
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102020122118.5A
Other languages
English (en)
Inventor
Rajesh Sundaram
Zion Kwok
Muthukumar P. Swaminathan
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE102020122118A1 publication Critical patent/DE102020122118A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/106Data output latches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • 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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1087Data input latches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1056Simplification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6022Using a prefetch buffer or dedicated prefetch cache

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)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Ausführungsbeispiele sind auf Vorrichtungen, Verfahren und Systeme gerichtet, die einen Vor-Lese-Befehl umfassen, um einen zusätzlichen Zugriff auf Lesedaten aus einem Speicherort einer Speichervorrichtung zu eliminieren. Bei Ausführungsbeispielen gibt eine Speichersteuerung einen Vor-Lese-Befehl aus, um Lesedaten in einem Vor-Lese-Latch zu speichern. Bei Ausführungsbeispielen wird der Befehl während eines ersten Zugriffs auf die Lesedaten aus einem Speicherort in Verbindung mit einer Modifizier-Schreib-Operation der Lesedaten ausgegeben. Bei Ausführungsbeispielen befindet sich das Vor-Lese-Latch in einer ausgewählten Unterteilung einer Speichervorrichtung oder ist mit einer selben einer Speichervorrichtung gekoppelt, die den Speicherort umfasst, der die Lesedaten speichert. Bei Ausführungsbeispielen gibt die Speichersteuerung anschließend einen Modifizier-Schreib-Befehl zum Vergleichen der in dem Vor-Lese-Latch gespeicherten Lesedaten mit eingehenden Daten aus, um einen Bedarf für einen zweiten Zugriff auf den Speicherort während des Abschlusses der Modifizier-Schreib-Operation zu eliminieren. Zusätzliche Ausführungsbeispiele können beschrieben und/oder beansprucht sein.

Description

  • Gebiet
  • Ausführungsbeispiele der vorliegenden Offenbarung betreffen im Allgemeinen das Gebiet der integrierten Schaltungen (IC; integrated circuit), und insbesondere Schreib-Operation-Techniken bezogen auf Speichervorrichtungen.
  • Hintergrund
  • Modifizier-Schreib-Operationen in den Speicher umfassen häufig redundante Operationen. Beispielsweise werden generische Lese- und Schreib-Befehle typischerweise in Verbindung mit Schreibvorgängen verwendet, die auf dem Server-Speicher ausgeführt werden. Die Serververwendung „Schreibvorgang“ (write) umfasst normalerweise immer sowohl eine Lese- als auch eine Schreib-Operation. Diese Operationen sind redundant und erfordern zusätzliche Energie, wodurch die Performance der Rechen- und Speicher-Vorrichtungen eingeschränkt wird.
  • Figurenliste
  • Ausführungsbeispiele sind aus der nachfolgenden detaillierten Beschreibung in Verbindung mit den beiliegenden Zeichnungen ohne weiteres offensichtlich. Um diese Beschreibung zu vereinfachen, bezeichnen gleiche Bezugszeichen ähnliche strukturelle Elemente. Ausführungsbeispiele sind in den Figuren der beiliegenden Zeichnungen beispielhaft und nicht einschränkend dargestellt.
    • 1 stellt gemäß Ausführungsbeispielen der vorliegenden Offenbarung einen beispielhaften Die dar, der Speicherorte einer Speichervorrichtung umfassen kann.
    • 2 stellt gemäß Ausführungsbeispielen der vorliegenden Offenbarung eine Querschnittseitenansicht einer Integrierte-Schaltungs- (IC-) Anordnung dar, die in der Speichervorrichtung von 1 umfasst sein kann.
    • 3 ist gemäß Ausführungsbeispielen der vorliegenden Offenbarung ein beispielhaftes Blockdiagramm, das einen Überblick über eine Speichervorrichtung umfassend ein Speicherelement zur Vereinfachung von Modifizier-Schreib-Operationen in der Speichervorrichtung darstellt.
    • 4A und 4B sind gemäß Ausführungsbeispielen der vorliegenden Offenbarung beispielhafte Blockdiagramme, die Operationen zum Vereinfachen von Modifizier-Schreib-Operationen in Verbindung mit der Speichervorrichtung von 3 darstellen.
    • 5 ist gemäß Ausführungsbeispielen der vorliegenden Offenbarung ein Flussdiagramm, dem Ausführungsbeispiele von 4A und 4B zugeordnet sind.
    • 6 ist gemäß einem zusätzlichen Ausführungsbeispiel der vorliegenden Offenbarung ein Blockdiagramm, das eine Lese-Operation darstellt, die in einer Speichervorrichtung ausgeführt wird, ähnlich der Speichervorrichtung von 4A und 4B.
    • 7 ist gemäß Ausführungsbeispielen der vorliegenden Offenbarung ein Blockdiagramm, das ein anderes Ausführungsbeispiel einer Speichervorrichtung darstellt, in der Modifizier-Schreib-Operationen ausgeführt werden.
    • 8 ist gemäß Ausführungsbeispielen der vorliegenden Offenbarung ein Blockdiagramm, das ein anderes Ausführungsbeispiel einer Speichervorrichtung darstellt, in der Modifizier-Schreib-Operationen ausgeführt werden.
    • 9 ist gemäß Ausführungsbeispielen der vorliegenden Offenbarung ein Diagramm eines Rechensystems oder einer Vorrichtung, das/die Ausführungsbeispielen von 3-8 zugeordnet ist.
  • Detaillierte Beschreibung
  • Beschriebene Ausführungsbeispiele umfassen Verfahren, Vorrichtungen und Systeme, um eine Modifizier-Schreib-Operation, die einer Speichervorrichtung zugeordnet ist, zu vereinfachen. Bei Ausführungsbeispielen hilft ein Vor-Lese-Befehl dabei, einen Bedarf für einen zusätzlichen oder zweiten Zugriff auf Lesedaten aus einem Speicherort der Speichervorrichtung zu reduzieren oder zu eliminieren. Bei Ausführungsbeispielen gibt eine Speichersteuerung den Vor-Lese-Befehl an die Speichervorrichtung aus, um Lesedaten in einem Speicherelement wie beispielsweise einem Vor-Lese-Latch zu speichern, wobei der Befehl während eines ersten Zugriffs auf die Lesedaten aus einem Speicherort in der Speichervorrichtung in Verbindung mit einer Modifizier-Schreib-Operation der Lesedaten ausgegeben wird. Bei Ausführungsbeispielen befindet sich das Vor-Lese-Latch in einer ausgewählten Unterteilung einer Speichervorrichtung oder ist mit einer selben einer Speichervorrichtung gekoppelt, die den Speicherort umfasst, der die Lesedaten speichert. Bei Ausführungsbeispielen gibt die Speichersteuerung anschließend einen Modifizier-Schreib-Befehl zum Vergleichen der in dem Vor-Lese-Latch gespeicherten Lesedaten mit eingehenden Daten aus, um einen Bedarf für einen zweiten Zugriff auf die Lesedaten aus dem Speicherort während des Abschlusses der Modifizier-Schreib-Operation zu eliminieren.
  • In der folgenden Beschreibung werden verschiedene Aspekte der darstellenden Implementierungen unter Verwendung von Begriffen beschrieben, die gemeinhin von Fachleuten auf dem Gebiet verwendet werden, um den Inhalt ihrer Arbeit anderen Fachleuten auf dem Gebiet zu vermitteln. Für Fachleute ist es jedoch offensichtlich, dass Ausführungsbeispiele der vorliegenden Offenbarung mit nur einigen der beschriebenen Aspekte in der Praxis ausgeführt werden können. Zu Erklärungszwecken werden spezifische Anzahlen, Materialien und Konfigurationen ausgeführt, um ein tiefgreifendes Verständnis der darstellenden Implementierungen bereitzustellen. Für einen Fachmann ist es jedoch offensichtlich, dass Ausführungsbeispiele der vorliegenden Offenbarung ohne die bestimmten Details in der Praxis ausgeführt werden können. In anderen Fällen werden bekannte Merkmale weggelassen oder vereinfacht, um die darstellenden Implementierungen nicht zu verunklaren.
  • In der nachfolgenden detaillierten Beschreibung wird Bezug auf die beiliegenden Zeichnungen genommen, die einen Teil derselben bilden, wobei gleiche Bezugszeichen durchgehend gleiche Teile bezeichnen, und in denen auf darstellende Weise Ausführungsbeispiele gezeigt sind, bei denen der Gegenstand der vorliegenden Offenbarung in der Praxis ausgeführt werden kann. Es wird darauf hingewiesen, dass andere Ausführungsbeispiele verwendet werden können und strukturelle oder logische Änderungen ausgeführt werden können, ohne von dem Schutzbereich der vorliegenden Offenbarung abzuweichen. Daher soll die folgende, detaillierte Beschreibung nicht in einem einschränkenden Sinne genommen werden und der Schutzbereich der Ausführungsbeispiele ist durch die beigefügten Ansprüche und ihre Entsprechungen definiert.
  • Für die Zwecke der vorliegenden Offenbarung bezeichnet der Ausdruck „A und/oder B“ (A), (B), (A) oder (B), oder (A und B). Für die Zwecken der vorliegenden Offenbarung bezeichnet der Ausdruck „A, B, und/oder C“ (A), (B), (C), (A und B), (A und C), (B und C) oder (A, B und C).
  • Die Beschreibung kann auf Perspektive basierende Beschreibungen verwenden, wie beispielsweise oben/unten, ein/aus, über/unter und Ähnliches. Solche Beschreibungen werden nur verwendet, um die Erörterung zu erleichtern und sollen nicht die Anwendung von hierin beschriebenen Ausführungsbeispielen auf irgendeine bestimmte Ausrichtung einschränken.
  • Die Beschreibung kann die Ausdrücke „bei einem Ausführungsbeispiel“ oder „bei Ausführungsbeispielen“ verwenden, die sich jeweils auf ein oder mehrere desselben oder unterschiedlicher Ausführungsbeispiele beziehen können. Ferner sind die Ausdrücke „aufweisen“, „umfassen“, „haben“ und Ähnliches, wie sie hierin im Hinblick auf Ausführungsbeispiele der vorliegenden Offenbarung verwendet werden, synonym.
  • Der Ausdruck „gekoppelt mit“ und verwandte Ausdrücke können hierin verwendet werden. „Gekoppelt“ kann eine oder mehrere der folgenden Bedeutungen haben. „Gekoppelt“ kann bedeuten, dass zwei oder mehr Elemente in direktem physischem oder elektrischem Kontakt sind. „Gekoppelt“ kann jedoch auch bedeuten, dass zwei oder mehr Elemente einander indirekt kontaktieren, jedoch weiter zusammenarbeiten oder miteinander interagieren, und kann bedeuten, dass ein oder mehrere andere Elemente zwischen die Elemente gekoppelt oder verbunden sind, von denen gesagt wird, dass sie miteinander gekoppelt sind. Der Ausdruck „direkt gekoppelt“ kann bedeuten, dass zwei oder mehr Elemente in direktem Kontakt sind.
  • 1 stellt gemäß einigen Ausführungsbeispielen einen beispielhaften Die dar, der Speicherorte umfassen kann, die sich in einer Speichervorrichtung befinden, in Verbindung mit Techniken der vorliegenden Offenbarung. Insbesondere stellt 1 gemäß einigen Ausführungsbeispielen schematisch eine Integrierte-Schaltung-Anordnung (IC; Integrated Circuit) Anordnung 100 umfassend eine Draufsicht eines Dies 102 in Waferform 10 und in vereinzelter Form 140 dar. Bei einigen Ausführungsbeispielen kann der Die 102 einer von einer Mehrzahl von Dies (z. B. Die 102, 102a, 102b) eines Wafers 11 sein, der aus Halbleitermaterial wie z. B. Silizium oder einem anderen geeigneten Material besteht. Die Mehrzahl von Dies kann auf einer Oberfläche des Wafers 11 gebildet werden. Jeder der Dies kann eine sich wiederholende Einheit eines Halbleiterprodukts sein, das eine Speichervorrichtung bilden kann. So kann z. B. der Die 102 gemäß einigen Ausführungsbeispielen eine Schaltungsanordnung 103 und/oder eine andere Speichervorrichtung oder eine andere hier beschriebene Komponente umfassen. Gemäß verschiedenen Ausführungsbeispielen kann die Schaltungsanordnung 103 ein oder mehrere Speicherelemente (Speicherzellen, wie z. B. Multi-Level-Per-Cell- (MLC-) Speicherzellen) umfassen, die als Speicherorte dienen können, die in einem Array konfiguriert werden können, wie z. B. einem zweidimensionalen (2D) oder dreidimensionalen (3D) nichtflüchtigem MLC-Speicher-Array. Bei einigen Ausführungsbeispielen umfasst das Speicher-Array ein Kreuzpunkt-Speicher-Array. Bei Ausführungsbeispielen sind die Speicherelemente, z. B. Speicherzellen, in Unterteilungen oder eine Mehrzahl von Unterteilungen aufgeteilt und können Daten ansprechend auf eine Modifizier-Schreib-Operation speichern, wie in Zusammenhang mit 3-8 beschrieben.
  • Die Schaltungsanordnung 103 kann ferner eine oder mehrere Wortleitung(en) (auch als „WL“ oder „WLs“ bezeichnet) (z. B. 150, 152, 154) und eine oder mehrere Bitleitung(en) (auch als „BL“ oder „BLs“ bezeichnet) (z. B. 160, 162) umfassen, die mit den Speicherelementen gekoppelt sind. Für ein einfacheres Verständnis sind in 1 nur drei Wortleitungen und zwei Bitleitungen gezeigt. Bei einigen Ausführungsbeispielen können die Bitleitungen und Wortleitungen so konfiguriert sein, dass jedes der Speicherelemente an einem Schnittpunkt (z. B. 164) jeder einzelnen Bitleitung und Wortleitung (z. B. 160 und 154) in einer Kreuzpunktkonfiguration angeordnet werden kann. Eine Spannung oder Vorspannung (bias) kann auf ein Zielspeicherelement der Speicherelemente unter Verwendung der Wortleitungen und der Bitleitungen angewendet werden, um die Zielspeicherzelle für eine Lese- oder Schreib-Operation auszuwählen. Bitleitungstreiber können mit den Bitleitungen gekoppelt sein und Wortleitungstreiber können mit den Wortleitungen gekoppelt sein, um die Decodierung/Auswahl der Speicherelemente zu erleichtern. Um die Speicherzellenauswahl zu ermöglichen, können die Wortleitungen 150, 152, 154 mit Speicherzellen und anderen Teilen der Schaltungsanordnung 103 via Verbindungen verbunden werden, umfassend jeweilige Kontaktstrukturen (z. B. Vias), die eine elektrische Anschlussfähigkeit durch die Schichten des Dies 102 bereitstellen, wie im Folgenden näher beschrieben. Es wird darauf hingewiesen, dass die Schaltungsanordnung 103 in 1 nur schematisch dargestellt ist und eine Vielzahl geeigneter Logik oder Speicher in Form einer Schaltungsanordnung oder anderen geeigneten Vorrichtungen und Konfigurationen darstellen kann, umfassend z. B. eine oder mehrere Zustandsmaschinen mit Schaltungsanordnung und/oder Anweisungen im Speicher (z. B. Firmware oder Software), die konfiguriert sind, um Handlungen wie beispielsweise ein Speichern von Vor-Lese-Daten in Verbindung mit einer Modifizier-Schreib-Operation, wie hier beschrieben, auszuführen. Es wird darauf hingewiesen, dass ein Sequenzer 305, wie nachstehend in Verbindung mit 3 erörtert, eine oder mehrere solcher beispielhaften Zustandsmaschinen steuern kann.
  • Bei einigen Ausführungsbeispielen kann die Schaltungsanordnung 103 unter Verwendung geeigneter Halbleiterfertigungstechniken gebildet werden, von denen einige hier beschrieben werden. Nachdem ein Fertigungsprozess des Halbleiterprodukts abgeschlossen ist, kann der Wafer 11 einem Vereinzelungsprozess unterzogen werden, bei dem jeder der Dies (z. B. Die 102) von einem anderen getrennt wird, um einzelne „Chips“ des Halbleiterprodukts bereitzustellen. Der Wafer 11 kann irgendeiner aus einer Vielzahl von Größen sein. Gemäß verschiedenen Ausführungsbeispielen kann die Schaltungsanordnung 103 auf einem Halbleitersubstrat in Waferform 10 oder vereinzelter Form 140 angeordnet sein. Bei einigen Ausführungsbeispielen kann der Die 102 gemäß nachstehend beschriebenen Ausführungsbeispielen Speicherorte einer Cache-Vorrichtung oder einer primären Speichervorrichtung (storage device) umfassen.
  • 2 stellt schematisch eine Querschnittsansicht einer beispielhaften Integrierte-Schaltung- (IC-) Anordnung 200 dar, die in einer Speichervorrichtung umfasst sein kann, bereitgestellt gemäß einigen hierin beschriebenen Ausführungsbeispielen. Bei einigen Ausführungsbeispielen kann die IC-Anordnung 200 einen oder mehrere Dies umfassen, die elektrisch und/oder physisch mit einem Package-Substrat 121 gekoppelt sind. Der Die 102 kann eine Schaltungsanordnung (z. B. Schaltungsanordnung 103 von 1) und/oder andere geeignete Komponenten oder Module zur Ausführung von Operationen in Verbindung mit der Vereinfachung einer Modifizier-Schreib-Operation wie hier beschrieben umfassen. Bei einigen Ausführungsbeispielen ist das Package-Substrat 121 mit einer Schaltungsplatine 122 gekoppelt, wie gezeigt.
  • Die IC-Anordnung 200 kann eine Vielzahl von Konfigurationen umfassen, z. B. umfassend geeignete Kombinationen von Flip-Chip- und/oder Drahtbonden-Konfigurationen, Interposem, Multi-Chip-Package-Konfigurationen umfassend System-in-Package (SiP-) und/oder Packageauf-Package- (PoP-; Package on Package) Konfigurationen. Zum Beispiel kann der Die 102 an dem Package-Substrat 121 entsprechend einer Vielzahl geeigneter Konfigurationen angebracht werden, z. B. kann er direkt mit dem Package-Substrat 121 in einer Flip-Chip-Konfiguration gekoppelt werden, wie dargestellt. In der Flip-Chip-Konfiguration wird eine aktive Seite, S 1, des Dies 102 umfassend eine aktive Schaltungsanordnung an einer Oberfläche des Package-Substrats 121 unter Verwendung von Die-Ebene-Verbindungsstrukturen 106 wie beispielsweise Höckern, Säulen oder anderen geeigneten Strukturen, die auch den Die 102 mit dem Package-Substrat 121 elektrisch koppeln können, angebracht. Die aktive Seite S1 des Dies 102 kann eine Schaltungsanordnung umfassen, wie beispielsweise Speicherelemente, die Bezug nehmend auf 1 beschrieben sind. Eine inaktive Seite, S2, kann gegenüber der aktiven Seite S1 angeordnet sein, wie man sehen kann. Bei anderen Ausführungsbeispielen kann der Die 102 auf einem anderen Die angeordnet sein, der mit dem Package-Substrat 121 in irgendeiner einer Vielzahl von geeigneten gestapelten Die-Konfigurationen gekoppelt ist. Zum Beispiel kann ein Prozessor-Die mit dem Package-Substrat 121 in einer Flip-Chip-Konfiguration gekoppelt werden, und der Die 102 kann auf dem Prozessor-Die in einer Flip-Chip-Konfiguration befestigt werden und elektrisch mit dem Package-Substrat 121 unter Verwendung von durch den Prozessor-Die hindurch gebildeten Silizium-Durchkontaktierungen (TSVs; through-silicon vias) gekoppelt werden. Bei noch anderen Ausführungsbeispielen kann der Die 102 in das Package-Substrat 121 eingebettet werden oder mit einem Die gekoppelt werden, der in das Package-Substrat 121 eingebettet ist. Andere Dies können mit dem Package-Substrat 121 in einer Seite-an-Seite-Konfiguration mit dem Die 102 bei anderen Ausführungsbeispielen gekoppelt werden.
  • Bei einigen Ausführungsbeispielen können die Die-Ebene-Verbindungsstrukturen 106 ausgebildet sein, elektrische Signale zwischen dem Die 102 und dem Package-Substrat 121 zu routen. Die elektrischen Signale können zum Beispiel Eingangs-/Ausgangs- (I/O-; input/output) Signale und/oder Leistungs-/Masse-Signale umfassen, die in Verbindung mit dem Betrieb des Dies verwendet werden. Die Die-Ebene-Verbindungsstrukturen 106 können mit entsprechenden Die-Kontakten, die auf der aktiven Seite S1 des Dies 102 angeordnet sind, und entsprechenden Package-Kontakten, die auf dem Package-Substrat 121 angeordnet sind, gekoppelt werden. Die Die-Kontakte und/oder Package-Kontakte können zum Beispiel Anschlussflächen, Vias, Gräben, Leiterbahnen und/oder andere geeignete Kontaktstrukturen umfassen, von denen die Fertigung einiger nachfolgend beschrieben ist.
  • Bei einigen Ausführungsbeispielen kann das Package-Substrat 121 ein auf Epoxid basierendes Laminat-Substrat mit einem Kern und/oder Aufbauschichten umfassen, wie beispielsweise ein Ajinomoto-Aufbaufilm- (ABF-; Ajinomoto Build-up Film) Substrat. Das Package-Substrat 121 kann andere geeignete Arten von Substraten bei anderen Ausführungsbeispielen umfassen, z. B. umfassend Substrate aus Glas, Keramik oder Halbleitermaterialien.
  • Das Package-Substrat 121 kann elektrische Routing-Merkmale aufweisen, die ausgebildet sind, elektrische Signale zu oder von dem Die 102 zu routen. Die elektrischen Routing-Merkmalen können z. B. Package-Kontakte (z. B. Anschlussflächen 110) umfassen, die auf einer oder mehreren Oberflächen des Package-Substrats 121 angeordnet sind, und/oder interne Routing-Merkmale (nicht gezeigt), wie z. B. Gräben, Vias oder andere Verbindungsstrukturen, um elektrische Signale durch das Package-Substrat 121 zu routen.
  • Bei einigen Ausführungsbeispielen kann das Package-Substrat 121 mit einer Schaltungsplatine 122 gekoppelt sein, wie zu sehen ist. Die Schaltungsplatine 122 kann eine gedruckte Schaltungsplatine (PCB; printed circuit board) sein, die aus einem elektrisch isolierenden Material wie beispielsweise einem Epoxid-Laminat besteht. Zum Beispiel kann die Schaltungsplatine 122 elektrisch isolierende Schichten umfassen, die aus Materialien bestehen, die miteinander laminiert werden können. Verbindungsstrukturen (nicht gezeigt) wie beispielsweise Leiterbahnen, Gräben oder Vias können durch die elektrisch isolierenden Schichten gebildet werden, um die elektrischen Signale des Dies 102 durch die Schaltungsplatine 122 zu routen. Bei anderen Ausführungsbeispielen kann die Schaltungsplatine 122 aus anderen geeigneten Materialien bestehen. Bei einigen Ausführungsbeispielen kann die Schaltungsplatine 122 eine Hauptplatine sein und kann in einer Rechenvorrichtung, wie beispielsweise einer mobilen Vorrichtung, umfasst sein. Package-Ebene-Verbindungen wie z. B. Lötkugeln 112, können mit Anschlussflächen 110 auf dem Package-Substrat 121 und/oder auf der Schaltungsplatine 122 gekoppelt werden, um entsprechende Lötverbindungen zu bilden, die konfiguriert sein können, die elektrischen Signale zwischen dem Package-Substrat 121 und der Schaltungsplatine 122 weiter zu routen. Die Anschlussflächen 110 können aus irgendeinem geeigneten, elektrisch leitfähigen Material, wie beispielsweise Metall, bestehen. Die Package-Ebene-Verbindung kann andere Strukturen und/oder Konfigurationen umfassen, z.B. umfassend Anschlussbereich-Gitter-Array- (LGA-; land-grid array) Strukturen und Ähnliches. Bei Ausführungsbeispielen kann der Die 102 der IC-Anordnung 200 eine in einer Speichervorrichtung umfasste IC sein, eine solche umfassen oder Teil einer solchen sein, wie beispielsweise einer Speichervorrichtung, die ein Speicherelement umfasst, z. B. ein oder mehrere von einem Lese-Latch oder einem Vor-Lese-Latch, die einer Unterteilung einer Speichervorrichtung zugeordnet sind, um beim Vereinfachen einer Modifizier-Schreib-Operation zu helfen, wie in Verbindung mit den nachfolgend beschriebenen 3-8 beschrieben.
  • 3 ist gemäß Ausführungsbeispielen ein beispielhaftes Blockdiagramm 300, das einen Überblick über eine Speichervorrichtung (oder Abschnitt einer Speichervorrichtung 301) umfassend ein Speicherelement in Verbindung mit Modifizier-Schreib-Operationen in der Speichervorrichtung 301 darstellt. Bei Ausführungsbeispielen umfasst das Speicherelement ein Vor-Lese-Latch, um zu helfen, einen Bedarf für einen zusätzlichen oder zweiten Zugriff auf Lesedaten aus dem Speicherort zu eliminieren. Bei Ausführungsbeispielen umfasst die Speichervorrichtung 301 eine Unterteilung 303 einer Mehrzahl von Unterteilungen von Speicherzellen in der Speichervorrichtung, die mit einer internen Zustandsmaschinensteuerung, wie z. B. einem Sequenzer 305, gekoppelt ist. Bei Ausführungsbeispielen umfasst der Sequenzer 305 eine Schaltungsanordnung und/oder Firmware, um Spannungen und Ströme zu steuern, um beim Ausführen von Lesevorgängen und Schreibvorgängen in/von Speicherzellen in Unterteilung 303 zu helfen. Bei Ausführungsbeispielen ist der Sequenzer 305 mit einem Lesedatenspeicherelement und einem Vor-Lese-Datenspeicherelement gekoppelt, wie z. B. einem jeweiligen Lese-Latch 307 und Vor-Lese-Latch 309. Bei einigen Ausführungsbeispielen umfassen das Lese-Latch 307 und Vor-Lese-Latch 309 einen oder mehrere Schaltungen, um Zustandsinformationen zu speichern.
  • Wie gezeigt, sind bei Ausführungsbeispielen das Lese-Latch 307 und das Vor-Lese-Latch 309 wiederum mit einem I/O-Cache oder I/O-Puffer 311 und zugeordneter Logik gekoppelt, um eine Warteschlange (queue) zu implementieren, via z. B. einen First-in-First-out- (FIFO-) Algorithmus oder eine Logik, die wiederum mit einer I/O-Datenschnittstelle („Datenschnittstelle 313“) gekoppelt ist, z. B. Daten-Warteschlangen-Anschlussflächen, um das Empfangen und Senden von Lesedaten 395 zu unterstützen. Bei Ausführungsbeispielen koppeln/koppelt Befehlsschnittstellen-Anschlussflächen oder Befehlsschnittstelle 315 die Speichervorrichtung 301, um Befehle 318 von z.B. der Speichersteuerung 325 zu empfangen. Bei Ausführungsbeispielen umfassen Datenschnittstelle 313 und Befehlsschnittstelle 315 eine Schnittstelle, z. B. eine Kombination aus Software und/oder Hardware, z.B. Pins, Ports, Drähte und Ähnliches, um Signale zu/von der Speichersteuerung 325 zu senden und zu empfangen. Bei dem Ausführungsbeispiel umfasst, wie gezeigt, die Speichervorrichtung 301 auch eine Schreibmaskenlogik 317 und ein Schreibdaten-Speicherelement, z. B. Schreib-Latch 319, die zwischen Sequenzer 305 und I/O-Puffer 311 gekoppelt sind. Es versteht sich, dass das Blockdiagramm 300 vereinfacht wurde, um ein Verunklaren der Ausführungsbeispiele zu vermeiden, dementsprechend wurden verschiedene Elemente der Speichervorrichtung 301 weggelassen. Zum Beispiel, obwohl nur eine Unterteilung 303 gezeigt ist, versteht es sich, dass die Unterteilung 303 nur eine aus einer Mehrzahl von Unterteilungen der Speichervorrichtung 301 ist.
  • Als nächstes veranschaulichen 4A und 4B gemäß Ausführungsbeispielen Operationen zur Vereinfachung von Modifizier-Schreib-Operationen, die in einer Speichervorrichtung 401 (ähnlich oder gleich wie die Speichervorrichtung 301 von 3) ausgeführt werden. Es wird darauf hingewiesen, dass ähnliche Elemente in 4A, 4B und den folgenden 6-8 gezeigt sein können, aber, um ein Verunklaren der Ausführungsbeispiele zu vermeiden, in verschiedenen Fällen möglicherweise nicht wieder eingeführt werden können Dementsprechend gibt, bei Ausführungsbeispielen, in 4A eine Speichersteuerung 425 einen Vor-Lese-Befehl 418 aus, der von der Befehlsschnittstelle 415 der Speichervorrichtung 401 empfangen werden soll. Bei Ausführungsbeispielen weist der Vor-Lese-Befehl 418 die Speichervorrichtung 401 an, Vor-Lese-Daten 409A abzurufen und in einem Vor-Lese-Latch 409 zu speichern. Dementsprechend umfasst eine Unterteilung 403 einen Speicherort und stellt via einen Sequenzer 405 den Zugriff auf Vor-Lese-Daten 409A aus dem Speicherort bereit. Bei Ausführungsbeispielen speichert das Vor-Lese-Latch 409 die Vor-Lese-Daten 409A, die für eine spätere Vor-Lese-Operation verwendet werden sollen. Es wird darauf hingewiesen, dass die Vor-Lese-Daten 409A ähnliche oder dieselben Daten umfassen wie die Lesedaten (und dieselben wie z. B. die Vor-Lese-Daten 407A, wie weiter unten erörtert), die zu ändern sind. Bei Ausführungsbeispielen eliminiert die Speicherung der Vor-Lese-Daten 409A in dem Vor-Lese-Latch 409 einen zusätzlichen oder zweiten Zugriff auf die Lesedaten aus dem Speicherort, der typischerweise während eines Schreibabschnitts (wie im Zusammenhang mit 4B unten beschrieben) der Modifizier-Schreib-Operation ausgeführt werden kann. Bei Ausführungsbeispielen umfasst der Speicherort eine oder mehrere Speicherzellen der ausgewählten Unterteilung, um die Lesedaten zu speichern.
  • Es wird darauf hingewiesen, dass ein Vor-Lese-Befehl 418 während eines ersten Zugriffs auf die Lesedaten aus einem Speicherort in der Speichervorrichtung in Verbindung mit der Modifizier-Schreib-Operation der Lesedaten ausgegeben wird. Bei Ausführungsbeispielen gibt die Speichersteuerung 425 den Vor-Lese-Befehl 418 zu einer gleichen Zeit aus, zu der sie einen Lesebefehl (z. B. bei 429) ausgibt, um Lesedaten in Verbindung mit dem Vor-Lese-Befehl, z. B. Vor-Lese-Daten 407A, abzurufen und zur Modifikation an die Speichersteuerung 425 zu transportieren. Dementsprechend speichert die Speichervorrichtung 401 während eines ersten Zugriffs auf Lesedaten die Vor-Lese-Daten 407A in dem Lese-Latch 407. Bei Ausführungsbeispielen ist das Lese-Latch 407 gekoppelt, um Vor-Lese-Daten 407A an die FIFO-Logik oder den I/O-Puffer 311, an die I/O-Datenschnittstelle 313 und anschließend an die Speichersteuerung 425 bereitzustellen. Bei Ausführungsbeispielen empfängt die Speichersteuerung 425 Vor-Lese-Daten 407A und modifiziert dieselben in neue Schreibdaten. Bei Ausführungsbeispielen umfassen die neuen Schreibdaten die Vor-Lese-Daten 407A, die durch neue Benutzerdaten modifiziert werden, sowie Fehlerkorrekturcode- (ECC-) Informationen. Es wird darauf hingewiesen, dass es für die Vor-Lese-Daten 407A, die in dem Lese-Latch 407 gespeichert sind, im Gegensatz zu den Vor-Lese-Daten 409A, die in dem neuen Vor-Lese-Latch 409 gespeichert sind, erforderlich ist, durch Lesedaten oder Vor-Lese-Daten basierend auf Befehlen, die durch das Lese-Latch 407 gehen, neu geschrieben zu werden.
  • Dementsprechend gibt in 4B die Speichersteuerung 425 einen Modifizier-Schreib-Befehl 427 (via die Befehlsschnittstelle 415) an die Speichervorrichtung 401 aus, um die in dem Vor-Lese-Latch 409 gespeicherten Vor-Lese-Daten 409A mit eingehenden Daten oder Benutzerdaten zu vergleichen. Bei Ausführungsbeispielen hilft ein Modifizier-Schreib-Befehl 427 beim Eliminieren eines Bedarfs für einen zweiten Zugriff auf die Lesedaten aus dem Speicherort während des Abschlusses der Modifizier-Schreib-Operation der Lesedaten. Bei Ausführungsbeispielen umfasst ein Vergleich der in dem Vor-Lese-Latch 409 gespeicherten Lesedaten mit eingehenden Daten in dem Schreib-Latch 419 ein Ausführen einer Maskenoperation durch die Schreibmaskenlogik 417, die z. B. eine Exklusiv- (XOR-) Operation durch logische XOR-Logik-Gates umfasst. Bei Ausführungsbeispielen schreibt die Speichervorrichtung 401 dann (z. B. via den Sequenzer 405) in den Speicherort der Unterteilung 403 Bits, die sich geändert haben. Es wird darauf hingewiesen, dass, in FIG., 419A' Bits bezeichnet, die in die Speichervorrichtung 401 geschrieben werden sollen und/oder Informationen, die sich auf Bits beziehen, die in die Speichervorrichtung 401 geschrieben werden sollen. Dementsprechend umfasst der Modifizier-Schreib-Befehl 427 bei Ausführungsbeispielen keinen internen Vor-Lese-Befehl, wie er bei einem typischen Modifizier-Schreib-Befehl erforderlich wäre.
  • Bezugnehmend nun auf 5, die ein Flussdiagramm ist, das einen Prozess 500 beschreibt, der 4A und 4B oben zugeordnet ist. Bei Ausführungsbeispielen umfasst der Prozess 500 gemäß Ausführungsbeispielen ein Ausgeben eines Vor-Lese-Befehls und eines anschließenden Modifizier-Schreib-Befehls, um eine Modifizier-Schreib-Operation in Bezug auf eine Speichervorrichtung, z. B. die Speichervorrichtung 401 zu vereinfachen. Bei Ausführungsbeispielen erfordert aufgrund des neuen Vor-Lese-Befehls der nachfolgende Modifizier-Schreib-Befehl keinen Innen-Vor-Lese-Befehl. Bei einigen Ausführungsbeispielen wird der Prozess 500 von einer Speichersteuerung oder Bestandteilen einer Speichersteuerung ausgeführt. Beginnend bei einem Block 501, umfasst der Prozess 500 ein Ausgeben eines Vor-Lese-Befehls zum Speichern von Lesedaten (z. B. Vor-Lese-Latch 409 von 4A und 4B) in einem Vor-Lese-Latch, wobei der Befehl während eines ersten Zugriffs auf die Lesedaten aus einem Speicherort in einer Speichervorrichtung in Verbindung mit einer Modifizier-Schreib-Operation der Lesedaten ausgegeben wird. Bei Ausführungsbeispielen wird der Vor-Lese-Befehl zu einer ähnlichen Zeit wie ein Ausgeben eines Lesebefehls (an ein Lese-Latch, z. B. die Speichervorrichtung 401) während des ersten Zugriffs auf die Lesedaten ausgegeben. Ferner umfasst bei Ausführungsbeispielen das Ausgeben, durch die Speichersteuerung, des Vor-Lese-Befehls ferner ein Ausgeben eines Befehls zum Transportieren der Lesedaten an die Speichersteuerung zur Modifikation. Anschließend modifiziert die Speichersteuerung bei Ausführungsbeispielen die Lesedaten in die neuen Schreibdaten. Bei Ausführungsbeispielen umfassen die neuen Schreibdaten auch Fehlerkorrekturcode- (ECC-) Informationen.
  • Als nächstes umfasst, bei einem Block 503, der Prozess 500 ein Ausgeben eines Modifizier-Schreib-Befehls an die Speichervorrichtung, um die in dem Vor-Lese-Latch gespeicherten Lesedaten mit den neuen Schreibdaten oder eingehenden Daten zu vergleichen. Bei Ausführungsbeispielen eliminiert der Modifizier-Schreib-Befehl einen Bedarf für einen zweiten Zugriff auf die Lesedaten aus dem Speicherort während des Abschlusses der Modifizier-Schreib-Operation der Lesedaten. Bei Ausführungsbeispielen umfasst der zweite Zugriff auf die Lesedaten den Zugriff auf die Lesedaten aus dem Speicherort, um den Vergleich der Lesedaten mit den neuen Schreibdaten auszuführen. Bei Ausführungsbeispielen, wie oben in Verbindung mit 4B erörtert, schreibt die Speichervorrichtung anschließend in den Speicherort einer ausgewählten Unterteilung, z. B. Unterteilung 403, Bits, die sich geändert haben, um die Modifizier-Schreib-Operation abzuschließen.
  • Es wird darauf hingewiesen, dass bei verwandten Ausführungsbeispielen zu den in 4A und 4B oben Abgebildeten, Vor-Lese-Daten (z. B. Lesedaten, die in einer Vor-Lese-Operation verwendet werden sollen), die in dem Vor-Lese-Latch 409 ansprechend auf den Vor-Lese-Befehl 418 gespeichert sind, während einer oder mehrerer Lesedatenanforderungen (z. B. Lesedatenanforderungen für zusätzliche oder zweite Lesedaten, wie sie z. B. von einer Speichersteuerung 425 ausgegeben werden) intakt bleiben. 6 ist ein Blockdiagramm, das eine Lese-Operation darstellt, die in einer Speichervorrichtung ausgeführt wird, ähnlich der Speichervorrichtung von 4A und 4B. Bei dem Ausführungsbeispiel von 6 kann ein Vor-Lese-Befehl bereits ausgegeben und abgeschlossen worden sein, z. B. ähnlich wie der Vor-Lese-Befehl 418, wie in 4A dargestellt, jedoch vor dem Modifizier-Schreib-Befehl 427 von 4B). Dementsprechend sind in 6 die Vor-Lese-Daten 609A bereits in dem Vor-Lese-Latch 609 gespeichert. Bei Ausführungsbeispielen wird in der Zwischenzeit ein Lesebefehl 630 für andere Lesedaten oder zweite Lesedaten (z. B. Lesedaten, die sich von den aktuellen Vor-Lese-Daten 609A unterscheiden oder denselben zugeordnet sind, die in dem Vor-Lese-Latch 609 gespeichert sind) von einer Speichersteuerung 625 an der Befehlsschnittstelle 615 empfangen. Bei Ausführungsbeispielen werden vorherige oder erste Lesedaten 607A, die in dem Lese-Latch 607 gespeichert sind, durch neue oder zweite Lesedaten 607B überschrieben. Bei Ausführungsbeispielen werden neue Lesedaten 607B dann via den I/O-Puffer 611 und die I/O-Datenschnittstelle 613 an die Speichersteuerung 625 bereitgestellt. Dementsprechend bleiben bei Ausführungsbeispielen die in dem Vor-Lese-Latch 609 gespeicherten Vor-Lese-Daten 609A intakt. Bei Ausführungsbeispielen, wenn die Speichersteuerung 625 einen Modifizier-Schreib-Befehl ausgibt, z. B. ähnlich dem Modifizier-Schreib-Befehl 427 von 4B, erfolgt der Abschluss der Modifizier-Schreib-Operation, zugeordnet zu den ursprünglichen oder ersten Lesedaten der Vor-Lese-Daten 609A. Bei Ausführungsbeispielen erfolgt der Abschluss der Modifizier-Schreib-Operation wie in Bezug auf 4B gezeigt und erörtert.
  • Bezug nehmend nun auf 7, die ein zusätzliches Ausführungsbeispiel zur Vereinfachung von in einer Speichervorrichtung 701 ausgeführten Modifizier-Schreib-Operationen darstellt. Bei Ausführungsbeispielen ist die Speichervorrichtung 701 ähnlich oder gleich der Speichervorrichtung 401 von 4A, mit Ausnahme einer zusätzlichen Mehrzahl von Vor-Lese-Latches 737 bis Vor-Lese-Latch 709. Dementsprechend stellt eine Unterteilung 703 einer Mehrzahl von Unterteilungen einen ersten Zugriff auf Lesedaten in einem Speicherort der Unterteilung bereit, wobei der erste Zugriff bereitgestellt wird, um die Lesedaten zu speichern, die in Verbindung mit einer Modifizier-Schreib-Operation der Lesedaten zur Modifikation zu senden sind. Bei Ausführungsbeispielen werden ein erstes Speicherelement und ein zweites Speicherelement gekoppelt, um die Lesedaten aus dem Speicherort zu empfangen. Bei Ausführungsbeispielen ist das erste Speicherelement (z. B. Lese-Latch 707) ausgebildet, die Lesedaten für die Modifikation vorübergehend zu speichern, und das zweite Speicherelement (z. B. Vor-Lese-Latch 709) ist mit der ausgewählten Unterteilung gekoppelt oder befindet sich in derselben, um die Lesedaten weiterhin zu speichern, nachdem die Lesedaten zur Modifikation gesendet werden, um einen zweiten Zugriff auf die Lesedaten aus dem Speicherort während des Abschlusses der Modifizier-Schreib-Operation zu eliminieren. Bei dem Ausführungsbeispiel von 7, ist das zweite Speicherelement ein Vor-Lese-Latch, und die Speichervorrichtung 701 umfasst eine zusätzliche Mehrzahl von Vor-Lese-Latches 737 in oder gekoppelt mit der Unterteilung, um zusätzliche Vor-Lese-Daten zu speichern, die zusätzlichen Modifizier-Schreib-Anforderungen zugeordnet sind. Obwohl nur vier Vor-Lese-Latches in 7 gezeigt sind, umfasst eine Mehrzahl von Vor-Lese-Latches 737 mehr oder weniger Vor-Lese-Latches, die geeignet sind, die Modifizier-Schreib-Operationen zu vereinfachen. Es wird darauf hingewiesen, dass bei Ausführungsbeispielen die zusätzliche Mehrzahl von Vor-Lese-Latches der Speichersteuerung 705 mehr Flexibilität bei der Bereitstellung zusätzlicher Speicherelemente für Vor-Lese-Daten 709A oder Lesedaten 707A ermöglicht.
  • Bezug nehmend nun auf 8, die ein zusätzliches Ausführungsbeispiel zur Vereinfachung von in einer Speichervorrichtung 801 ausgeführten Modifizier-Schreib-Operationen darstellt. Bei Ausführungsbeispielen, die in Struktur und Funktion den gleichnummerierten Elementen in 3, 4, 6 und 7 ähnlich sind, umfasst eine Speichervorrichtung 801 eine Unterteilung 803, einen Sequenzer 805, ein Lese-Latch 807, eine Schreibmaskenlogik 817, einen I/O-Puffer 811, eine Datenschnittstelle 813 und eine Befehlsschnittstelle 815. Das in 8 gezeigte Ausführungsbeispiel umfasst jedoch kein Vor-Lese-Latch, sondern umfasst lediglich ein Lese-Latch 807 zum Speichern von Lesedaten, die später auch als Vor-Lese-Daten 807A verwendet werden können. Bei Ausführungsbeispielen wird eine Adresse, die einem ursprünglichen Speicherort der Lesedaten zugeordnet ist, auch in dem Lese-Latch 807 gespeichert. Bei einigen Ausführungsbeispielen umfasst die Speichervorrichtung 801 ferner eine Mehrzahl von zusätzlichen Lese-Latches, z. B. Lese-Latches 837, um zusätzliche entsprechende Vor-Lese-Daten und entsprechende Adressen zu halten. Dementsprechend stellt eine Unterteilung 803 einer Mehrzahl von Unterteilungen einen ersten Zugriff auf Lesedaten in einem Speicherort der Unterteilung bereit, wobei der erste Zugriff bereitgestellt wird, um die Lesedaten zu speichern, die in Verbindung mit einer Modifizier-Schreib-Operation der Lesedaten zur Modifikation zu senden sind. Bei Ausführungsbeispielen werden ein erstes Speicherelement und ein zweites Speicherelement gekoppelt, um die Lesedaten aus dem Speicherort zu empfangen. Dementsprechend sind bei Ausführungsbeispielen das erste und das zweite Speicherelement (z. B. Lese-Latch 807) das gleiche Speicherelement und eine Adresse des ursprünglichen Speicherorts in Unterteilung 803 ist in dem Speicherelement gespeichert. Bei Ausführungsbeispielen umfasst die Speichervorrichtung 801 ferner eine Vergleichslogik, um die Adresse des Speicherorts mit einer neuen Adresse zu vergleichen, die einer neuen Schreibanforderung (z. B. empfangen bei den Befehlen 818) zugeordnet ist. Bei Ausführungsbeispielen kann die Speichervorrichtung 801, wenn die Adresse des Speicherorts und die neue Adresse übereinstimmen, während einer tatsächlichen Modifizier-Schreib-Operation unter Verwendung, z. B. der Schreibmaskenlogik 817, einfach auf die Vor-Lese-Daten 807A aus dem Lese-Latch 807 zugreifen und kann die Ausführung einer typischen Vor-Lese-Operation überspringen. Bei Ausführungsbeispielen wird, wenn die Adressen nicht übereinstimmen, eine Vor-Lese-Operation ausgeführt, wobei Vor-Lese-Daten aus dem Speicherort für die Ausführung des eigentlichen Modifizier-Schreib-Vorgangs abgerufen werden. Dementsprechend besteht bei einigen Ausführungsbeispielen möglicherweise kein Bedarf für einen neuen Vor-Lese-Befehl oder ein Vor-Lese-Latch.
  • 9 veranschaulicht eine beispielhafte elektronische Vorrichtung 900 (z. B. einen Computer, einen Server oder eine andere elektronische Vorrichtung), die geeignet sein kann, ausgewählte Aspekte der vorliegenden Offenbarung in der Praxis auszuführen. Wie gezeigt, kann die elektronische Vorrichtung 900 einen oder mehrere Prozessoren oder Prozessorkerne 902 umfassen. Für den Zweck dieser Anmeldung, umfassend die Ansprüche, kann sich der Begriff „Prozessoren“ auf physische Prozessoren beziehen, und die Begriffe „Prozessor“ und „Prozessorkerne“ können als synonym betrachtet werden, sofern der Zusammenhang nicht eindeutig etwas anderes erfordert. Die elektronische Vorrichtung 900 kann einen oder mehrere Speicher 904 umfassen, die eine oder mehrere Speichervorrichtungen 901 umfassen können, z. B. Speichervorrichtungen 301, 401, 601, 701, 801 etc. wie hier beschrieben. Bei Ausführungsbeispielen sind eine oder mehrere Speichersteuerung(en) 925 wirksam, mit dem Prozessor oder den Prozessorkernen 902 und der Speichervorrichtung 901 gekoppelt. Bei Ausführungsbeispielen umfasst die Speichersteuerung z. B. eine Speichersteuerlogik, um einen Vor-Lese-Befehl an die Speichervorrichtung auszugeben, um Lesedaten in einem Vor-Lese-Latch zu speichern, wobei der Befehl während eines ersten Zugriffs auf die Lesedaten aus einem Speicherort in der Speichervorrichtung in Verbindung mit einer Modifizier-Schreib-Operation der Lesedaten ausgegeben wird; und einen Modifizier-Schreib-Befehl an die Speichervorrichtung auszugeben, um die in dem Vor-Lese-Latch gespeicherten Lesedaten mit eingehenden Daten zu vergleichen, um einen Bedarf für einen zweiten Zugriff auf die Lesedaten aus dem Speicherort während des Abschlusses der Modifizier-Schreib-Operation der Lesedaten zu eliminieren. Bei Ausführungsbeispielen können die Speichervorrichtungen 901 eine Speichereinheit oder ein Speichermedium mit einem Kreuzpunkt-Speicher-Array umfassen. Bei Ausführungsbeispielen können die Speichereinheiten eine oder mehrere Phasenwechselspeichervorrichtungen umfassen.
  • Bei Ausführungsbeispielen umfasst eine Speichervorrichtung 901 eine Nichtflüchtiger-Speicher-NVM-Vorrichtung, z. B. eine byteadressierbare dreidimensionale Write-in-Place Cross Point (Vor-Ort-Schreiben-Kreuzpunkt-) Speichervorrichtung oder andere byteadressierbare Write-in-Place-NVM-Vorrichtungen (auch als dauerhafter Speicher bezeichnet), wie beispielsweise einen ein- oder mehrstufigen Phasenwechselspeicher (PCM; Phase Change Memory) oder Phasenwechselspeicher mit einem Schalter (PCMS), NVM-Vorrichtungen, die Chalkogenidphasenwechselmaterial (z. B. Chalkogenidglas) verwenden, einen resistiven Speicher umfassend Metalloxid-Basis, Sauerstoff-Leerstellenbasis und Conductive Bridge Random Access Memory (CB-RAM), Nanodrahtspeicher, ferroelektrischer Direktzugriffsspeicher (FeRAM, FRAM), magnetoresistiver Direktzugriffsspeicher (MRAM) mit Memristor-Technologie, Spin Transfer Torque- (STT-) MRAM, eine auf Spintronik-Magnet-Übergang-Speicher basierende Vorrichtung, eine auf magnetischem Tunnelübergang (MTJ; magnetic tunneling junction) basierende Vorrichtung, eine auf DW (Domain Wall; Domänenwand) und SOT (Spin Orbit Transfer) basierende Vorrichtung, eine thyristorbasierte Speichervorrichtung oder eine Kombination aus einem der obigen oder einen anderen Speicher.
  • Zusätzlich kann das elektronische Bauelement 900 Massenspeichervorrichtungen 906 (wie beispielsweise Diskette, Festplatte, Compact-Disc-Nur-Lese-Speicher (CD-ROM) usw.), Ein-/Ausgabe- (I/O-; input/output) Vorrichtungen 908 (wie beispielsweise Bildschirm, Tastatur, Cursorsteuerung usw.) und Kommunikationsschnittstellen 910 (wie beispielsweise Netzwerkschnittstellenkarten, Modems usw.) umfassen. Bei einigen Ausführungsbeispielen können Massenspeichervorrichtungen auch Vorrichtungen umfassen, die den Speichervorrichtungen 901 und Speichersteuerungen 925 ähnlich sind. Die Elemente können via den Systembus 912, der einen oder mehrere Busse repräsentieren kann, miteinander gekoppelt werden. Im Falle mehrerer Busse können diese durch eine oder mehrere Busbrücken überbrückt sein (nicht gezeigt). Jedes dieser Elemente kann seine herkömmlichen Funktionen, die im Stand der Technik bekannt sind, ausführen. Insbesondere können bei einigen Ausführungsbeispielen der Speicher 904 und die Massenspeichervorrichtungen 906 verwendet werden, um eine Arbeitskopie und eine permanente Kopie der Programmieranweisungen zu speichern, die konfiguriert sind, einen oder mehrere Prozesse oder Speicher-/Speichertransaktionen für die elektronische Vorrichtung 900 auszuführen. Die Programmieranweisungen können kollektiv als Berechnungslogik 922 bezeichnet werden. Die verschiedenen Elemente können durch Assembler-Anweisungen implementiert werden, die durch (einen) Prozessor(en) 902 oder von Hochsprachen, wie z. B. C, unterstützt werden, die zu solchen Anweisungen kompiliert werden können.
  • Die Anzahl, Fähigkeit und/oder Kapazität der in der 9 gezeigten Elemente können variieren, je nachdem, ob die elektronische Vorrichtung 900 als Server, Kommunikationsvorrichtung oder eine andere Art von Rechenvorrichtung verwendet wird. Bei Verwendung als Servervorrichtung kann die Fähigkeit und/oder Kapazität der in 9 gezeigten Elemente auch variieren, je nachdem, ob es sich bei dem Server um einen einzelnen, eigenständigen Server oder ein konfiguriertes Rack von Servern oder ein konfiguriertes Rack von Serverelementen handelt.
  • Ansonsten können die Bestandteile der in 9 gezeigten Elemente bekannt sein und werden dementsprechend nicht weiter beschrieben.
  • Gemäß verschiedenen Ausführungsbeispielen beschreibt die vorliegende Offenbarung eine Reihe von Beispielen.
  • Beispiel 1 ist eine Vorrichtung, umfassend eine Unterteilung einer Mehrzahl von Unterteilungen, die in einer Speichervorrichtung umfasst sind, um einen ersten Zugriff auf Lesedaten in einem Speicherort der Unterteilung bereitzustellen, wobei der erste Zugriff bereitgestellt wird, um die Lesedaten zu speichern, die in Verbindung mit einer Modifizier-Schreib-Operation der Lesedaten zur Modifikation zu senden sind; und ein erstes Speicherelement und ein zweites Speicherelement, die gekoppelt sind, um die Lesedaten aus dem Speicherort zu empfangen, wobei das erste Speicherelement ausgebildet ist, die Lesedaten für die Modifikation vorübergehend zu speichern, und das zweite Speicherelement mit der ausgewählten Unterteilung gekoppelt ist oder sich in derselben befindet, um die Lesedaten weiterhin zu speichern, nachdem die Lesedaten zur Modifikation gesendet werden, um einen zweiten Zugriff auf die Lesedaten aus dem Speicherort während des Abschlusses der Modifizier-Schreib-Operation zu eliminieren.
  • Beispiel 2 ist die Vorrichtung von Beispiel 1, wobei die Vorrichtung eine Speichervorrichtung ist und das erste Speicherelement ein Lese-Latch umfasst und das zweite Speicherelement ein zur Speicherung von Vor-Lese-Daten dediziertes Vor-Lese-Latch umfasst.
  • Beispiel 3 ist die Vorrichtung von Beispiel 2, wobei das Vor-Lese-Latch ausgebildet ist, die Lesedaten als Vor-Lese-Daten ansprechend auf einen Vor-Lese-Befehl, der von einer mit der Speichervorrichtung gekoppelten Speichersteuerung empfangen wird, zu speichern.
  • Beispiel 4 ist die Vorrichtung von Beispiel 1, wobei das erste Speicherelement ein erstes Lese-Latch umfasst und die Lesedaten erste Lesedaten umfassen und das zweite Speicherelement ein zweites Lese-Latch umfasst, um zweite Lesedaten in Verbindung mit einer Lesedatenanforderung von zweiten Lesedaten zu speichern, und wobei die ersten Lesedaten in dem ersten Lese-Latch während des Abschlusses der Lesedatenanforderung intakt bleiben.
  • Beispiel 5 ist die Vorrichtung von Beispiel 1, wobei der Abschluss der Modifizier-Schreib-Operation ein Vergleichen der Lesedaten mit neuen Schreibdaten umfasst, um Bits, die sich geändert haben, an dem Speicherort der Speichervorrichtung zu speichern.
  • Beispiel 6 ist die Vorrichtung von Beispiel 5, wobei der zweite Zugriff auf die Lesedaten den Zugriff auf die Lesedaten aus dem Speicherort umfasst, um den Vergleich der Lesedaten mit den neuen Schreibdaten auszuführen.
  • Beispiel 7 ist die Vorrichtung von einem der Beispiele 1-6, ferner umfassend eine Speichersteuerung zum Empfangen der zur Modifikation gesendeten Lesedaten und zum Modifizieren der Lesedaten in die geänderten Lesedaten umfassend neue Schreibdaten, wobei die neuen Schreibdaten ausgebildet sind, Fehlerkorrekturcode- (ECC-) Informationen zu umfassen.
  • Beispiel 8 ist die Vorrichtung von Beispiel 1, wobei das erste und das zweite Speicherelement das gleiche Speicherelement sind und eine Adresse des Speicherorts in dem Speicherelement gespeichert ist und die Vorrichtung ferner eine Logik umfasst, um die Adresse des Speicherorts mit einer neuen, einer neuen Schreibanforderung zugeordneten Adresse zu vergleichen.
  • Beispiel 9 ist die Vorrichtung von Beispiel 8, wobei das Speicherelement ein Lese-Latch ist und ferner eine zusätzliche Mehrzahl von Lese-Latches umfasst, um zusätzliche Lesedaten zu speichern, die einer zusätzlichen entsprechenden Mehrzahl von Leseanforderungen zugeordnet sind.
  • Beispiel 10 ist die Vorrichtung von Beispiel 1, wobei das zweite Speicherelement ein Vor-Lese-Latch ist, und die Vorrichtung ferner eine zusätzliche Mehrzahl von Vor-Lese-Latches in der Unterteilung umfasst, um zusätzliche Vor-Lese-Daten zu speichern, die zusätzlichen Modifizier-Schreib-Anforderungen zugeordnet sind.
  • Beispiel 11 ist ein Verfahren, umfassend: Ausgeben, durch eine Speichersteuerung, eines Vor-Lese-Befehls an eine Speichervorrichtung, um Lesedaten in einem Vor-Lese-Latch zu speichern, wobei der Befehl während eines ersten Zugriffs auf die Lesedaten aus einem Speicherort in der Speichervorrichtung in Verbindung mit einer Modifizier-Schreib-Operation der Lesedaten ausgegeben wird; und Ausgeben, durch die Speichersteuerung, eines Modifizier-Schreib-Befehls an die Speichervorrichtung, um die in dem Vor-Lese-Latch gespeicherten Lesedaten mit eingehenden Daten zu vergleichen, um einen Bedarf für einen zweiten Zugriff auf die Lesedaten aus dem Speicherort während des Abschlusses der Modifizier-Schreib-Operation der Lesedaten zu eliminieren.
  • Beispiel 12 ist das Verfahren von Beispiel 11, wobei das Vor-Lese-Latch sich in einer ausgewählten Unterteilung einer Speichervorrichtung befindet oder mit einer selben einer Speichervorrichtung gekoppelt ist, die den Speicherort zum Speichern der Lesedaten umfasst.
  • Beispiel 13 ist das Verfahren von Beispiel 12, wobei das Ausgeben, durch die Speichersteuerung, des Vor-Lese-Befehls an die Speichervorrichtung ein Ausgeben des Vor-Lese-Befehls zu einer ähnlichen Zeit wie das Ausgeben eines Lese-Befehls an ein Lese-Latch der Speichervorrichtung während des ersten Zugriffs auf die Lesedaten umfasst.
  • Beispiel 14 ist das Verfahren von Beispiel 11, wobei das Ausgeben, durch die Speichersteuerung, des Vor-Lese-Befehls ferner ein Ausgeben eines Befehls zum Transportieren der Lesedaten an die Speichersteuerung zur Modifikation umfasst.
  • Beispiel 15 ist das Verfahren von Beispiel 14, ferner umfassend ein Empfangen durch die Speichersteuerung der Lesedaten und Modifizieren der Lesedaten in neue Schreibdaten, wobei die neuen Schreibdaten ausgebildet sind, Fehlerkorrekturcode- (ECC-) Informationen zu umfassen.
  • Beispiel 16 ist das Verfahren von Beispiel 11, wobei der zweite Zugriff auf die Lesedaten den Zugriff auf die Lesedaten aus dem Speicherort umfasst, um den Vergleich der Lesedaten mit neuen Schreibdaten auszuführen.
  • Beispiel 17 ist das Verfahren von einem der Beispiele 11-16, wobei das Vergleichen der Lesedaten, die in dem Vor-Lese-Latch gespeichert sind, mit eingehenden Daten ein Ausführen einer Maskenoperation umfassend eine Exklusiv- (XOR-) Operation umfasst.
  • Beispiel 18 ist ein System, umfassend: einen Prozessor; eine Speichervorrichtung; und eine Speichersteuerung, die mit dem Prozessor und der Speichervorrichtung wirksam gekoppelt ist, wobei die Speichersteuerung ausgebildet ist, einen Vor-Lese-Befehl an die Speichervorrichtung auszugeben, um Lesedaten in einem Vor-Lese-Latch zu speichern, wobei der Befehl während eines ersten Zugriffs auf die Lesedaten aus einem Speicherort in der Speichervorrichtung in Verbindung mit einer Modifizier-Schreib-Operation der Lesedaten ausgegeben wird; und einen Modifizier-Schreib-Befehl an die Speichervorrichtung auszugeben, um die in dem Vor-Lese-Latch gespeicherten Lesedaten mit eingehenden Daten zu vergleichen, um einen Bedarf für einen zweiten Zugriff auf die Lesedaten aus dem Speicherort während des Abschlusses der Modifizier-Schreib-Operation der Lesedaten zu eliminieren.
  • Beispiel 19 ist das System von Beispiel 18, wobei das Vor-Lese-Latch sich in einer ausgewählten Unterteilung einer Speichervorrichtung befindet oder mit einer selben einer Speichervorrichtung gekoppelt ist, die den Speicherort zum Speichern der Lesedaten umfasst.
  • Beispiel 20 ist das System von einem der Beispiele 18 oder 19, wobei die Speichersteuerung ausgebildet ist, den Vor-Lese-Befehl zu einer ähnlichen Zeit wie das Ausgeben eines Lese-Befehls während des ersten Zugriffs auf die Lesedaten auszugeben.
  • Beispiel 21 umfasst das Mittel zum Ausführen des Verfahrens von einem der Beispiele 11-17.
  • Verschiedene Ausführungsbeispiele können irgendeine geeignete Kombination der oben beschriebenen Ausführungsbeispiele umfassen, einschließlich alternativer (oder) Ausführungsbeispiele von Ausführungsbeispielen, die oben in verbindender Form (und) beschrieben sind (z.B. kann das „und“ ein „und/oder“ sein). Ferner können einige Ausführungsbeispiele einen oder mehrere Fertigungsartikel (z.B. nichtflüchtiges, computerlesbares Medium) mit darauf gespeicherten Anweisungen umfassen, die bei Ausführung zu Aktionen von irgendwelchen der vorangehend beschriebenen Ausführungsbeispiele führen. Ferner können einige Ausführungsbeispiele Vorrichtungen oder Systeme umfassen, die irgendwelche geeigneten Mittel zum Durchführen der verschiedenen Operationen der oben beschriebenen Ausführungsbeispiel aufweisen.
  • Die obige Beschreibung von dargestellten Implementierungen, umfassend was in der Zusammenfassung beschrieben ist, soll nicht erschöpfend sein oder die Ausführungsbeispiele der vorliegenden Offenbarung auf die offenbarten genauen Formen begrenzen. Während bestimmte Implementierungen und Beispiele hierin zu Darstellungszwecken beschrieben sind, sind verschiedene äquivalente Modifikationen innerhalb des Schutzbereichs der vorliegenden Offenbarung möglich, wie Fachleute auf dem relevanten Gebiet erkennen können.
  • Diese Modifikationen können an Ausführungsbeispielen der vorliegenden Offenbarung im Hinblick auf die obige, detaillierte Beschreibung vorgenommen werden. Die Ausdrücke, die in den folgenden Ansprüchen verwendet werden, sollten nicht derart betrachtet werden, dass sie verschiedenen Ausführungsbeispiele der vorliegenden Offenbarung auf die spezifischen Implementierungen einschränken, die in der Beschreibung und den Ansprüchen offenbart sind. Stattdessen soll der Schutzbereich vollständig durch die nachfolgenden Ansprüche bestimmt sein, die gemäß etablierten Vorgaben der Anspruchsinterpretation ausgelegt werden sollen.

Claims (15)

  1. Eine Vorrichtung, umfassend: eine Unterteilung einer Mehrzahl von Unterteilungen, die in einer Speichervorrichtung umfasst sind, um einen ersten Zugriff auf Lesedaten in einem Speicherort der Unterteilung bereitzustellen, wobei der erste Zugriff bereitgestellt wird, um die Lesedaten zu speichern, die in Verbindung mit einer Modifizier-Schreib-Operation der Lesedaten zur Modifikation zu senden sind, und ein erstes Speicherelement und ein zweites Speicherelement, die gekoppelt sind, um die Lesedaten aus dem Speicherort zu empfangen, wobei das erste Speicherelement ausgebildet ist, die Lesedaten für die Modifikation vorübergehend zu speichern, und das zweite Speicherelement mit der ausgewählten Unterteilung gekoppelt ist oder sich in derselben befindet, um die Lesedaten weiterhin zu speichern, nachdem die Lesedaten zur Modifikation gesendet werden, um einen zweiten Zugriff auf die Lesedaten aus dem Speicherort während des Abschlusses der Modifizier-Schreib-Operation zu eliminieren.
  2. Die Vorrichtung gemäß Anspruch 1, wobei die Vorrichtung eine Speichervorrichtung ist und das erste Speicherelement ein Lese-Latch umfasst und das zweite Speicherelement ein zur Speicherung von Vor-Lese-Daten dediziertes Vor-Lese-Latch umfasst.
  3. Die Vorrichtung gemäß Anspruch 2, wobei das Vor-Lese-Latch ausgebildet ist, die Lesedaten als Vor-Lese-Daten ansprechend auf einen Vor-Lese-Befehl, der von einer mit der Speichervorrichtung gekoppelten Speichersteuerung empfangen wird, zu speichern.
  4. Die Vorrichtung gemäß einem der Ansprüche 1-3, wobei das erste Speicherelement ein erstes Lese-Latch umfasst und die Lesedaten erste Lesedaten umfassen und das zweite Speicherelement ein zweites Lese-Latch umfasst, um zweite Lesedaten in Verbindung mit einer Lesedatenanforderung von zweiten Lesedaten zu speichern, und wobei die ersten Lesedaten in dem ersten Lese-Latch während des Abschlusses der Lesedatenanforderung intakt bleiben.
  5. Die Vorrichtung gemäß einem der Ansprüche 1-4, wobei der Abschluss der Modifizier-Schreib-Operation ein Vergleichen der Lesedaten mit neuen Schreibdaten umfasst, um Bits, die sich geändert haben, an dem Speicherort der Speichervorrichtung zu speichern.
  6. Die Vorrichtung gemäß Anspruch 5, wobei der zweite Zugriff auf die Lesedaten den Zugriff auf die Lesedaten aus dem Speicherort umfasst, um den Vergleich der Lesedaten mit den neuen Schreibdaten auszuführen.
  7. Die Vorrichtung gemäß einem der Ansprüche 1-6, ferner umfassend eine Speichersteuerung zum Empfangen der zur Modifikation gesendeten Lesedaten und zum Modifizieren der Lesedaten in die geänderten Lesedaten umfassend neue Schreibdaten, wobei die neuen Schreibdaten ausgebildet sind, Fehlerkorrekturcode- (ECC-) Informationen zu umfassen.
  8. Die Vorrichtung gemäß einem der Ansprüche 1-7, wobei das erste und das zweite Speicherelement das gleiche Speicherelement sind und eine Adresse des Speicherorts in dem Speicherelement gespeichert ist und die Vorrichtung ferner eine Logik umfasst, um die Adresse des Speicherorts mit einer neuen, einer neuen Schreibanforderung zugeordneten Adresse zu vergleichen.
  9. Ein Verfahren, umfassend: Ausgeben, durch eine Speichersteuerung, eines Vor-Lese-Befehls an eine Speichervorrichtung, um Lesedaten in einem Vor-Lese-Latch zu speichern, wobei der Befehl während eines ersten Zugriffs auf die Lesedaten aus einem Speicherort in der Speichervorrichtung in Verbindung mit einer Modifizier-Schreib-Operation der Lesedaten ausgegeben wird; und Ausgeben, durch die Speichersteuerung, eines Modifizier-Schreib-Befehls an die Speichervorrichtung, um die in dem Vor-Lese-Latch gespeicherten Lesedaten mit eingehenden Daten zu vergleichen, um einen Bedarf für einen zweiten Zugriff auf die Lesedaten aus dem Speicherort während des Abschlusses der Modifizier-Schreib-Operation der Lesedaten zu eliminieren.
  10. Das Verfahren gemäß Anspruch 9, wobei das Vor-Lese-Latch sich in einer ausgewählten Unterteilung einer Speichervorrichtung befindet oder mit einer selben einer Speichervorrichtung gekoppelt ist, die den Speicherort zum Speichern der Lesedaten umfasst.
  11. Das Verfahren gemäß Anspruch 10, wobei das Ausgeben, durch die Speichersteuerung, des Vor-Lese-Befehls an die Speichervorrichtung ein Ausgeben des Vor-Lese-Befehls zu einer ähnlichen Zeit wie das Ausgeben eines Lese-Befehls an ein Lese-Latch der Speichervorrichtung während des ersten Zugriffs auf die Lesedaten umfasst.
  12. Das Verfahren gemäß einem der Ansprüche 9-11, wobei das Ausgeben, durch die Speichersteuerung, des Vor-Lese-Befehls ferner ein Ausgeben eines Befehls zum Transportieren der Lesedaten an die Speichersteuerung zur Modifikation umfasst.
  13. Die Vorrichtung gemäß Anspruch 12, ferner umfassend ein Empfangen durch die Speichersteuerung der Lesedaten und Modifizieren der Lesedaten in neue Schreibdaten, wobei die neuen Schreibdaten ausgebildet sind, Fehlerkorrekturcode- (ECC-) Informationen zu umfassen.
  14. Das Verfahren gemäß einem der Ansprüche 9-13, wobei der zweite Zugriff auf die Lesedaten den Zugriff auf die Lesedaten aus dem Speicherort umfasst, um den Vergleich der Lesedaten mit neuen Schreibdaten auszuführen.
  15. Das Verfahren gemäß einem der Ansprüche 9-14, wobei das Ausgeben, durch die Speichersteuerung, eines Modifizier-Schreib-Befehls an die Speichervorrichtung zum Vergleichen der in dem Vor-Lese-Latch gespeicherten Lesedaten mit eingehenden Daten ein Ausführen einer Maskenoperation umfassend eine Exklusiv- (XOR-) Operation umfasst.
DE102020122118.5A 2019-09-27 2020-08-25 Vorrichtungen, systeme und verfahren zum speichern von vor-lese-daten, die einer modifizier-schreib-operation zugeordnet sind Pending DE102020122118A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/586,428 US11204718B2 (en) 2019-09-27 2019-09-27 Apparatuses, systems, and methods to store pre-read data associated with a modify-write operation
US16/586,428 2019-09-27

Publications (1)

Publication Number Publication Date
DE102020122118A1 true DE102020122118A1 (de) 2021-04-01

Family

ID=69139066

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020122118.5A Pending DE102020122118A1 (de) 2019-09-27 2020-08-25 Vorrichtungen, systeme und verfahren zum speichern von vor-lese-daten, die einer modifizier-schreib-operation zugeordnet sind

Country Status (4)

Country Link
US (1) US11204718B2 (de)
KR (1) KR20210037513A (de)
CN (1) CN112581990A (de)
DE (1) DE102020122118A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114003491A (zh) * 2021-10-15 2022-02-01 赛轮集团股份有限公司 试验设备参数修改方法、装置、电子设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10025532B2 (en) * 2015-09-11 2018-07-17 Sandisk Technologies Llc Preserving read look ahead data in auxiliary latches
US9830108B2 (en) * 2015-10-12 2017-11-28 Sandisk Technologies Llc Write redirect
KR20170136829A (ko) * 2016-06-02 2017-12-12 삼성전자주식회사 반도체 장치, 메모리 장치 및 메모리 장치의 동작 방법

Also Published As

Publication number Publication date
CN112581990A (zh) 2021-03-30
US11204718B2 (en) 2021-12-21
KR20210037513A (ko) 2021-04-06
US20200019348A1 (en) 2020-01-16

Similar Documents

Publication Publication Date Title
DE102019112704A1 (de) Dreidimensionaler (3D-) Flash-Speicher mit geteilter Steuerschaltungsanordnung unter Verwendung von Wafer-an-Wafer-Bonden
DE102008015990B4 (de) Speichermodul mit Rängen von Speicherchips und gestapelten ECC-Speichervorrichtungen sowie Computersystem
CN108459974A (zh) 集成闪存的高带宽存储器设备
DE102008030205B4 (de) Speichermatrix auf mehr als einem Die
DE102018122491A1 (de) Halbleiterspeichervorrichtung und verfahren zum betreiben derselben
DE102018108702A1 (de) Gestapelte Speichervorrichtung, System mit derselben und verbundenes Verfahren
DE102013101218A1 (de) Halbleiterspeichervorrichtung
DE112018004322T5 (de) Nichtflüchtiges speichersystem mit hostseitiger befehlseinspeisung
US20100161888A1 (en) Data storage system with non-volatile memory using both page write and block program and block erase
DE102009037984A1 (de) Speichervorrichtung für eine Hierarchische Speicherarchitektur
DE112016004148T5 (de) Systeme und Verfahren zur Befehlsautorisierung
TW200845007A (en) Flash memory with improved programming precision
DE112017004966T5 (de) Erweiterte anwendung eines fehlerprüfungs- und korrekturcodes in einem speicher
DE102017119470A1 (de) Elektronische Vorrichtung, die einen Bypass-Pfad zu einer indirekt verbundenen Speichervorrichtung unter in Reihe geschalteten Speichervorrichtungen bereitstellt, darin enthaltene Speichervorrichtung, Computersystem mit demselben, und Verfahren des Kommunizierens damit
DE102016009807A1 (de) Korrelieren von physikalischen seitenadressen für soft-decision-dekodierung
DE112016000696B4 (de) Ablaufplanungsschema(ta) für eine Mehrchip-Speichervorrichtung
DE112021001663T5 (de) Separate inter-die-konnektoren für daten- und fehlerkorrekturinformationen sowie zugehörige systeme, verfahren und geräte
DE102021106147A1 (de) Leseverstärkerarchitektur für vorgänge mit niedriger versorgungsspannung
DE112015003147T5 (de) Selektive Leseverstärkeraktivierung
DE102016204283A1 (de) Datenspeichervorrichtungen, Datenverarbeitungssysteme, die diese aufweisen, Verfahren zum Betreiben und Verfahren zum Herstellen derselben.
DE102020132768A1 (de) Rückgängigmachen und erneutes ausführen von weicher post-package-reparatur
DE112015003638T5 (de) Speichermodul und -verfahren für optimierte Energienutzung
DE102020107263A1 (de) Speicherbauelement
DE102021123711A1 (de) Testverfahren von Speichervorrichtung implementiert in Multi-Chip-Packages (MCP) und Herstellungsverfahren eines MCP umfassend das Testverfahren
DE102020106870A1 (de) Parallele speicheroperationen in einer speichervorrichtung mit mehreren verbindungen