DE112020000177T5 - Speichersystem und verfahren zur videoeinzelbild-segregation zum optimieren der speicherung - Google Patents
Speichersystem und verfahren zur videoeinzelbild-segregation zum optimieren der speicherung Download PDFInfo
- Publication number
- DE112020000177T5 DE112020000177T5 DE112020000177.6T DE112020000177T DE112020000177T5 DE 112020000177 T5 DE112020000177 T5 DE 112020000177T5 DE 112020000177 T DE112020000177 T DE 112020000177T DE 112020000177 T5 DE112020000177 T5 DE 112020000177T5
- Authority
- DE
- Germany
- Prior art keywords
- storage system
- memory
- video
- storage
- host
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000005204 segregation Methods 0.000 title claims abstract description 9
- 230000008569 process Effects 0.000 title description 4
- 230000015654 memory Effects 0.000 claims abstract description 160
- 230000002457 bidirectional effect Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 7
- 239000000758 substrate Substances 0.000 description 17
- 238000010586 diagram Methods 0.000 description 13
- 230000000670 limiting effect Effects 0.000 description 9
- 239000004065 semiconductor Substances 0.000 description 9
- 238000003491 array Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 239000011370 conductive nanoparticle Substances 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 239000003989 dielectric material Substances 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012005 ligant binding assay Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000012782 phase change material Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4335—Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
- G11B27/30—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
- G11B27/3081—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is a video-frame or a video-field (P.I.P)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23113—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/10537—Audio or video recording
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
Description
- HINTERGRUND
- In einem Speichersystem kann ein von einem Host an dieses gesendeter Datenstrom gespeichert werden. In einer Überwachungs- oder digitalen Videorecorder-Umgebung (DVR-Umgebung) können die Daten im Moving Picture Experts Group Transport Stream-Format (MPEG-TS-Format) gespeichert werden. Der gesamte Strom wird als eine Einheit gespeichert, was in der Regel vorteilhaft ist, da die Daten auf diese Weise einfach gespeichert und abgerufen werden können. Bei Überwachungsdaten muss nach einiger Zeit in der Regel nur ein Teil der Daten gespeichert werden. Um die nicht benötigten Daten zu entfernen, wird der Datenstrom aus dem Speicher ausgelesen, die nicht benötigten Videoeinzelbilder entfernt und der resultierende neue Strom wieder in dem Speicher gespeichert.
- Figurenliste
-
-
1A ist ein Blockdiagramm eines nichtflüchtigen Speichersystems einer Ausführungsform. -
1B ist ein Blockdiagramm, das ein Speichermodul einer Ausführungsform veranschaulicht. -
1C ist ein Blockdiagramm, das ein hierarchisches Speichersystem einer Ausführungsform veranschaulicht. -
2A ist ein Blockdiagramm, das Komponenten der Steuerung des in1A veranschaulichten nichtflüchtigen Speichersystems gemäß einer Ausführungsform veranschaulicht. -
2B ist ein Blockdiagramm, das Komponenten des in1A veranschaulichten nichtflüchtigen Speichersystems gemäß einer Ausführungsform veranschaulicht. -
3 ist ein Blockdiagramm eines Hosts und Speichersystems einer Ausführungsform. -
4 ist ein Flussdiagramm eines Verfahrens einer Ausführungsform zur Segregation von Videoeinzelbildern, das von einem Host durchgeführt wird. -
5 ist ein Flussdiagramm eines Verfahrens einer Ausführungsform zur Segregation von Videoeinzelbildern, das von einem Speichersystem durchgeführt wird. - DETAILLIERTE BESCHREIBUNG
- Überblick
- Zur Einführung beziehen sich die folgenden Ausführungsformen auf ein Speichersystem und ein Verfahren zur Segregation von Videoeinzelbildern zum Optimieren der Speicherung. In einer Ausführungsform wird ein Speichersystem vorgestellt, das einen Speicher und eine Steuerung aufweist. Die Steuerung ist eingerichtet zum: Empfangen eines Videostroms von einem Host; Identifizieren einer Vielzahl von Videoeinzelbild-Typen aus dem Videostrom; und Speichern von Videoeinzelbildern verschiedener Videoeinzelbild-Typen in dem Speicher unter Verwendung verschiedener Speicheroptionen.
- In einigen Ausführungsformen sind die unterschiedlichen Speicheroptionen unterschiedliche Lebensdauergrade.
- In einigen Ausführungsformen ist ein erster Videoeinzelbild-Typ ein intra-codiertes Einzelbild (I-Bild) und ein zweiter Videoeinzelbild-Typ ist ein differenzcodiertes Einzelbild (P-Bild) oder ein bidirektionales differenzcodiertes Einzelbild (B-Bild).
- In einigen Ausführungsformen wird ein I-Bild mit einem höheren Lebensdauergrad gespeichert als ein P-Bild oder ein B-Bild.
- In einigen Ausführungsformen ist die Steuerung ferner eingerichtet, um nach einem verstrichenen Zeitraum Videoeinzelbilder eines Videoeinzelbild-Typs zu löschen, während die Videoeinzelbilder eines anderen Videoeinzelbild-Typs behalten werden.
- In einigen Ausführungsformen ist die Steuerung eingerichtet, um die Vielzahl von Videoeinzelbild-Typen basierend auf Informationen zu identifizieren, die von dem Host empfangen werden.
- In einigen Ausführungsformen weist der Speicher einen dreidimensionalen Speicher auf.
- In einigen Ausführungsformen ist das Speichersystem eingerichtet, um in dem Host integriert zu sein.
- In einigen Ausführungsformen ist das Speichersystem eingerichtet, um trennbar mit dem Host verbunden zu werden.
- In einer anderen Ausführungsform wird ein Verfahren zur Videoeinzelbild-Segregation vorgestellt, das in einem Speichersystem, das in Kommunikation mit einem Host steht, durchgeführt wird, wobei das Speichersystem einen Speicher umfasst. Das Verfahren weist Folgendes auf: Empfangen, von dem Host, einer Vielzahl von Videoeinzelbildern, die von dem Host aus einem Videostrom extrahiert werden; Empfangen, von dem Host, von Anweisungen zu einem Speicherparameter, der von dem Speichersystem verwendet werden soll, um jedes der Videoeinzelbilder zu speichern, wobei Videoeinzelbilder unterschiedlicher Videoeinzelbild-Typen unterschiedliche Speicherparameter aufweisen; und Speichern jedes der Vielzahl von Videoeinzelbildern in dem Speicher unter Verwendung der durch den Host spezifizierten Speicherparameter.
- In einigen Ausführungsformen sind die unterschiedlichen Speicherparameter unterschiedliche Lebensdauergrade.
- In einigen Ausführungsformen ist ein erster Videoeinzelbild-Typ ein intra-codiertes Einzelbild (I-Bild) und ein zweiter Videoeinzelbild-Typ ist ein differenzcodiertes Einzelbild (P-Bild) oder ein bidirektionales differenzcodiertes Einzelbild (B-Bild).
- In einigen Ausführungsformen wird ein I-Bild mit einem höheren Lebensdauergrad gespeichert als ein P-Bild oder ein B-Bild.
- In einigen Ausführungsformen weist das Verfahren ferner nach einem verstrichenen Zeitraum das Löschen von Videoeinzelbildern eines Videoeinzelbild-Typs auf, während die Videoeinzelbilder eines anderen Videoeinzelbild-Typs beibehalten werden.
- In einer anderen Ausführungsform wird ein Speichersystem vorgestellt, das einen Speicher und Mittel zum Speichern unterschiedlicher Videoeinzelbilder aus einem Videostrom in dem Speicher unter Verwendung unterschiedlicher Speicherparameter gemäß einer erwarteten Speicherlebensdauer eines Videoeinzelbilds in dem Speicher aufweist.
- In einigen Ausführungsformen sind die unterschiedlichen Speicherparameter unterschiedliche Lebensdauergrade.
- In einigen Ausführungsformen weisen die verschiedenen Videoeinzelbilder (i) ein intra-codiertes Einzelbild (I-Bild) und (ii) ein differenzcodiertes Einzelbild (P-Bild) und/oder ein bidirektionales differenzcodiertes Einzelbild (B-Bild) auf.
- In einigen Ausführungsformen weist der Speicher einen dreidimensionalen Speicher auf.
- In einigen Ausführungsformen ist das Speichersystem eingerichtet, um in einem Host integriert zu sein.
- In einigen Ausführungsformen ist das Speichersystem eingerichtet, um trennbar mit einem Host verbunden zu sein.
- Andere Ausführungsformen sind möglich, und jede der Ausführungsformen kann allein oder zusammen in Kombination verwendet werden. Dementsprechend werden nun verschiedene Ausführungsformen unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
- Ausführungsformen
- Speichersysteme, die zur Verwendung bei der Implementierung von Gesichtspunkten dieser Ausführungsformen geeignet sind, sind in
1A bis1C gezeigt.1A ist ein Blockdiagramm, das ein nichtflüchtiges Speichersystem100 gemäß einer Ausführungsform des hierin beschriebenen Gegenstands veranschaulicht. Bezug nehmend auf1A schließt das nichtflüchtige Speichersystem100 eine Steuerung102 und einen nichtflüchtigen Speicher, der aus einem oder mehreren nichtflüchtigen Speicher-Dies104 bestehen kann, ein. Wie hierin verwendet, bezieht sich der Begriff „Die“ auf die Zusammenstellung von nichtflüchtigen Speicherzellen und eine zugeordnete Schaltung zum Verwalten des physischen Betriebs dieser nichtflüchtigen Speicherzellen, die auf einem einzelnen Halbleitersubstrat gebildet sind. Die Steuerung102 bildet mit einem Hostsystem eine Schnittstelle und überträgt Befehlssequenzen für Lese-, Programmier- und Löschvorgänge zu dem nichtflüchtigen Speicher-Die104 . - Die Steuerung
102 (welche eine Steuerung eines nichtflüchtigen Speichers (z. B. eine Steuerung eines Flash-Speichers, eines resistiven Direktzugriffsspeichers (ReRAM), eines Phasenwechselspeichers (PCM) oder eines magnetoresistiven Direktzugriffsspeichers (MRAM)) sein kann) kann zum Beispiel die Form einer Verarbeitungsschaltlogik, eines Mikroprozessors oder Prozessors und eines computerlesbaren Mediums annehmen, welches computerlesbaren Programmcode (z. B. Firmware) speichert, der von dem (Mikro-)Prozessor, Logikgattern, Schaltern, einer anwendungsspezifischen integrierten Schaltung (ASIC), einer programmierbaren Logiksteuerung und einer eingebetteten Mikrosteuerung ausführbar ist. Die Steuerung102 kann mit Hardware und/oder Firmware eingerichtet sein, um die verschiedenen Funktionen durchzuführen, die unten beschrieben und in den Flussdiagrammen gezeigt sind. Außerdem können einige der Komponenten, die als innerhalb der Steuerung gezeigt sind, auch außerhalb der Steuerung gespeichert werden, und andere Komponenten können verwendet werden. Zusätzlich könnte der Ausdruck „operativ in Kommunikation mit“ direkt in Kommunikation mit oder indirekt (verdrahtet oder drahtlos) in Kommunikation mit durch eine oder mehrere Komponenten, die hierin gezeigt oder beschrieben sein können oder nicht gezeigt oder beschrieben sein können, bedeuten. - Wie hierin verwendet, ist eine nichtflüchtige Speichersteuerung eine Vorrichtung, die auf nichtflüchtigem Speicher gespeicherte Daten verwaltet und mit einem Host, wie einem Computer oder einer elektronischen Vorrichtung, kommuniziert. Eine Steuerung eines nichtflüchtigen Speichers kann verschiedene Funktionalitäten zusätzlich zu der hierin beschriebenen spezifischen Funktionalität aufweisen. Zum Beispiel kann die Steuerung des nichtflüchtiges Speichers den nichtflüchtigen Speicher formatieren, um sicherzustellen, dass der Speicher ordnungsgemäß arbeitet, defekte nichtflüchtige Speicherzellen kartieren und Ersatzzellen zuweisen, die künftige fehlerhafte Zellen ersetzen sollen. Ein Teil der Ersatzzellen kann verwendet werden, um Firmware aufzunehmen, um die Steuerung des nichtflüchtiges Speichers zu betreiben und andere Merkmale zu implementieren. Wenn ein Host im Betrieb Daten aus dem nichtflüchtigen Speicher lesen oder Daten in diesen schreiben muss, kann er mit der Steuerung des nichtflüchtigen Speichers kommunizieren. Wenn der Host eine logische Adresse bereitstellt, in die Daten gelesen/geschrieben werden sollen, kann die Steuerung des nichtflüchtigen Speichers die von dem Host empfangene logische Adresse in eine physische Adresse in dem nichtflüchtigen Speicher umwandeln. (Alternativ kann der Host die physische Adresse bereitstellen.) Die Steuerung des nichtflüchtigen Speichers kann auch verschiedene Speicherverwaltungsfunktionen durchführen, wie, ohne darauf beschränkt zu sein, einen Abnutzungsausgleich (Verteilen von Schreibvorgängen, um zu vermeiden, dass bestimmte Speicherblöcke, die ansonsten wiederholt beschrieben würden, abgenutzt werden) und eine Speicherbereinigung (nachdem ein Block voll ist, werden nur die gültigen Datenseiten in einen neuen Block bewegt, sodass der volle Block gelöscht und wiederverwendet werden kann).
- Das nichtflüchtige Speicher-Die
104 kann jedes geeignete nichtflüchtige Speichermedium, einschließlich resistiver Direktzugriffsspeicher (ReRAM), magnetoresistiver Direktzugriffsspeicher (MRAM), Phasenwechselspeicher (PCM), NAND-Flash-Speicherzellen und/oder NOR-Flash-Speicherzellen, einschließen. Die Speicherzellen können die Form von Festkörperspeicherzellen (z. B. Flash-Speicherzellen) annehmen und können einmalig programmierbar, mehrfach programmierbar oder vielfach programmierbar sein. Die Speicherzellen können auch Single-Level Cells (SLC), Multiple-Level Cells (MLC), Triple-Level Cells (TLC) oder andere Speicherzellen-Level-Technologien sein, die jetzt bekannt sind oder später entwickelt werden. Außerdem können die Speicherzellen auf zweidimensionale oder dreidimensionale Weise hergestellt werden. - Die Schnittstelle zwischen der Steuerung
102 und dem nichtflüchtigen Speicher-Die104 kann jede geeignete Flash-Schnittstelle wie ein Toggle-Modus200 ,400 oder800 sein. In einer Ausführungsform kann das Speichersystem100 ein kartenbasiertes System sein, wie eine Secure Digital-Karte (SD-Karte) oder eine micro Secure Digital-Karte (micro-SD-Karte). In einer alternativen Ausführungsform kann das Speichersystem100 Teil eines eingebetteten Speichersystems sein. - Obwohl in dem in
1A veranschaulichten Beispiel das nichtflüchtige Speichersystem100 (hierin manchmal als Speichermodul bezeichnet) einen einzigen Kanal zwischen der Steuerung102 und dem nichtflüchtigen Speicher-Die104 einschließt, ist der hierin beschriebene Gegenstand nicht auf einen einzigen Speicherkanal beschränkt. Zum Beispiel können in einigen Speichersystemarchitekturen (wie den in1B und1C gezeigten) abhängig von Steuerungsfähigkeiten 2, 4, 8 oder mehr Speicherkanäle zwischen der Steuerung und der Speichervorrichtung vorhanden sein. In jeder der hierin beschriebenen Ausführungsformen kann mehr als ein einziger Kanal zwischen der Steuerung und dem Speicher-Die vorhanden sein, selbst wenn in den Zeichnungen ein einziger Kanal gezeigt ist. -
1B veranschaulicht ein Speichermodul200 , das mehrere nichtflüchtige Speichersysteme100 einschließt. Als solches kann das Speichermodul200 eine Speichersteuerung202 einschließen, die mit einem Host und mit einem Speichersystem204 , das eine Vielzahl von nichtflüchtigen Speichersystemen100 einschließt, verbunden ist. Die Schnittstelle zwischen der Speichersteuerung202 und den nichtflüchtigen Speichersystemen100 kann eine Busschnittstelle sein, wie eine Serial Advanced Technology Attachment-Schnittstelle (SATA-Schnittstelle), eine Peripheral Component Interface express-Schnittstelle (PCIe-Schnittstelle) oder eine Double Data Rate-Schnittstelle (DDR-Schnittstelle). Das Speichermodul200 kann in einer Ausführungsform ein Solid State Drive (SSD) oder ein Non-Volatile Dual In-line Memory Module (NVDIMM) sein, wie es in einem Server-PC oder in tragbaren Rechenvorrichtungen, wie Laptop-Computern und Tablet-Computern, zu finden ist. -
1C ist ein Blockdiagramm, das ein hierarchisches Speichersystem veranschaulicht. Ein hierarchisches Speichersystem250 schließt eine Vielzahl von Speichersteuerungen202 ein, von denen jede ein entsprechendes Speichersystem204 steuert. Host-Systeme252 können über eine Busschnittstelle auf Speicher innerhalb des Speichersystems zugreifen. In einer Ausführungsform kann die Busschnittstelle eine Non Volatile Memory Express-Schnittstelle (NVMe-Schnittstelle) oder eine Fibre Channel over Ethernet-Schnittstelle (FCoE-Schnittstelle) sein. In einer Ausführungsform kann das in1C veranschaulichte System ein in Racks montierbares Massenspeichersystem sein, auf das von mehreren Host-Computern zugegriffen werden kann, wie es in einem Datenzentrum oder an einem anderen Ort, an dem eine Massenspeicherung benötigt wird, zu finden ist. -
2A ist ein Blockdiagramm, das Komponenten der Steuerung102 detaillierter veranschaulicht. Die Steuerung102 schließt ein Frontend-Modul108 , das mit einem Host verbunden ist, ein Backend-Modul110 , das mit dem einen oder den mehreren nichtflüchtigen Speicher-Dies104 verbunden ist, und verschiedene andere Module, die Funktionen durchführen, die nun ausführlich beschrieben werden, ein. Ein Modul kann zum Beispiel die Form einer gepackten funktionellen Hardwareeinheit, die zur Verwendung mit anderen Komponenten konzipiert ist, eines Abschnitts eines Programmcodes (z. B. Software oder Firmware), der durch einen (Mikro-)Prozessor oder eine Verarbeitungsschaltung, die üblicherweise eine bestimmte Funktion von verwandten Funktionen durchführt, ausführbar ist, oder einer eigenständigen Hardware- oder Softwarekomponente, die mit einem größeren System verbunden ist, annehmen. Module der Steuerung102 können einen Videoeinzelbild-Segregator111 einschließen, der nachstehend ausführlicher erörtert wird, und können in Hardware oder Software/Firmware implementiert sein, um verschiedene Videoeinzelbilder aus einem Videostrom zu extrahieren. Der Videoeinzelbild-Segregator111 kann eingerichtet sein, um die Algorithmen und Verfahren durchzuführen, die unten erörtert und in den beigefügten Zeichnungen gezeigt sind. - Unter erneuter Bezugnahme auf Module der Steuerung
102 verwaltet eine Pufferverwaltung/Bussteuerung114 Puffer in Direktzugriffsspeicher (RAM)116 und steuert die interne Busarbitrierung der Steuerung102 . Ein Nur-Lese-Speicher (ROM)118 speichert Systemhochfahrcode (Boot-Code). Obwohl sie in2A als von der Steuerung102 getrennt angeordnet veranschaulicht sind, können in anderen Ausführungsformen einer oder beide von dem RAM116 und dem ROM118 innerhalb der Steuerung angeordnet sein. In noch anderen Ausführungsformen können sich Abschnitte des RAM und des ROM sowohl innerhalb der Steuerung102 als auch außerhalb der Steuerung befinden. - Das Frontend-Modul
108 schließt eine Host-Schnittstelle120 und eine Bitübertragungsschicht-Schnittstelle (PHY)122 ein, welche die elektrische Schnittstelle mit dem Host oder der Speichersteuerung der nächsten Ebene bereitstellen. Die Wahl des Typs der Host-Schnittstelle120 kann von dem Typ des verwendeten Speichers abhängen. Beispiele für Host-Schnittstellen120 schließen, ohne jedoch darauf beschränkt zu sein, SATA, SATA Express, Serially Attached Small Computer System Interface (SAS), Fibre Channel, Universal Serial Bus (USB), PCle und NVMe ein. Die Host-Schnittstelle120 unterstützt üblicherweise den Transfer von Daten, Steuersignalen und Taktsignalen. - Das Backend-Modul
110 schließt eine Fehlerkorrekturcode-Engine (ECC-Engine)124 ein, welche die von dem Host empfangenen Datenbytes codiert, und die aus dem nichtflüchtigen Speicher gelesenen Datenbytes decodiert und Fehler korrigiert. Ein Befehlssequenzer126 erzeugt Befehlssequenzen wie Programmier- und Löschbefehlssequenzen zum Übermitteln an das nichtflüchtige Speicher-Die104 . Ein RAID-Modul (Redundant Array of Independent Drives-Modul) 128 verwaltet die Erzeugung von RAID-Parität und die Wiederherstellung fehlerhafter Daten. Die RAID-Parität kann als zusätzliche Ebene des Integritätsschutzes für die Daten verwendet werden, die in die Speichervorrichtung104 geschrieben werden. In manchen Fällen kann das RAID-Modul128 Teil der ECC-Engine124 sein. Eine Speicherschnittstelle130 stellt die Befehlssequenzen für das nichtflüchtige Speicher-Die104 bereit und empfängt Statusinformationen von dem nichtflüchtigen Speicher-Die104 . In einer Ausführungsform kann die Speicherschnittstelle130 eine Double Data Rate-Schnittstelle (DDR-Schnittstelle), wie eine Schnittstelle für den Toggle-Modus200 ,400 oder800 sein. Eine Flash-Steuerschicht132 steuert den Gesamtbetrieb des Backend-Moduls110 . - Das Speichersystem
100 schließt auch andere diskrete Komponenten140 ein, wie externe elektrische Schnittstellen, externen RAM, Widerstände, Kondensatoren oder andere Komponenten, die mit der Steuerung102 verbunden sein können. In alternativen Ausführungsformen sind eine oder mehrere der Bitübertragungsschicht-Schnittstelle122 , des RAID-Moduls128 , der Medienverwaltungsschicht138 und der Pufferverwaltungs-/Bussteuerung114 optionale Komponenten, die in der Steuerung102 nicht notwendig sind. -
2B ist ein Blockdiagramm, das Komponenten des nichtflüchtigen Speicher-Dies104 detaillierter veranschaulicht. Das nichtflüchtige Speicher-Die104 schließt eine Peripherieschaltlogik141 und ein Array nichtflüchtiger Speicher142 ein. Das Array nichtflüchtiger Speicher142 schließt die nichtflüchtigen Speicherzellen ein, die zum Speichern von Daten verwendet werden. Die nichtflüchtigen Speicherzellen können beliebige geeignete nichtflüchtige Speicherzellen sein, einschließlich ReRAM-, MRAM-, PCM-, NAND-Flash-Speicherzellen und/oder NOR-Flash-Speicherzellen in einer zweidimensionalen und/oder dreidimensionalen Konfiguration. Das nichtflüchtige Speicher-Die104 schließt weiterhin einen Datencache156 ein, der Daten zwischenspeichert. Die Peripherieschaltung141 schließt eine Zustandsmaschine152 , die Statusinformationen an die Steuerung102 bereitstellt, ein. - Erneut Bezug nehmend auf
2A , behandelt die Flash-Steuerschicht132 (die hierin als Flash-Übersetzungsschicht (FTL) oder allgemeiner als die „Medienverwaltungsschicht“ bezeichnet wird, da der Speicher möglicherweise kein Flash-Speicher ist) Flash-Fehler und bildet eine Schnittstellen mit dem Host. Insbesondere ist die FTL, die ein Algorithmus in Firmware sein kann, für die internen Vorgänge der Speicherverwaltung verantwortlich und übersetzt Schreibvorgänge vom Host in Schreibvorgänge in den Speicher104 . Die FTL kann benötigt werden, da der Speicher104 möglicherweise eine begrenzte Lebensdauer aufweist, möglicherweise nur in Vielfachen von Seiten beschrieben wird und/oder möglicherweise nicht beschrieben wird, sofern er nicht als Block gelöscht wird. Die FTL kennt diese potenziellen Einschränkungen des Speichers104 , die für den Host möglicherweise nicht sichtbar sind. Dementsprechend versucht die FTL, die Schreibvorgänge vom Host in Schreibvorgänge in den Speicher104 zu übersetzen. - Die FTL kann eine logisch-physische Adressabbildung (L2P) und einen zugewiesenen Cache-Speicher einschließen. Auf diese Weise übersetzt die FTL logische Blockadressen („LBAs“) von dem Host in physische Adressen in dem Speicher
104 . Die FTL kann andere Merkmale einschließen, wie, ohne darauf beschränkt zu sein, eine Power-off Recovery (so dass die Datenstrukturen der FTL im Fall eines plötzlichen Stromausfalls wiederhergestellt werden können) und einen Verschleißausgleich (so dass der Verschleiß über Speicherblöcke gleichmäßig ist, um zu verhindern, dass bestimmte Blöcke übermäßigem Verschleiß unterliegen, was zu einer größeren Wahrscheinlichkeit eines Ausfalls führen würde). - Erneut Bezug nehmend auf die Zeichnungen ist
3 ein Blockdiagramm eines Systems gemäß einer Ausführungsform, das einen Host300 und das Speichersystem100 aufweist. Der Host300 kann jede geeignete Form annehmen, einschließlich, aber nicht beschränkt auf, einen Computer, ein Mobiltelefon, ein Tablet, eine tragbare Vorrichtung, einen digitalen Videorecorder, ein Überwachungssystem usw. Der Host300 in dieser Ausführungsform weist einen Prozessor320 und einen Speicher330 auf. Der Prozessor320 ist eingerichtet, um einen Videoeinzelbild-Segregator340 zu implementieren. In einer Ausführungsform wird computerlesbarer Programmcode des Videoeinzelbild-Segregators340 im Speicher330 gespeichert und vom Prozessor320 ausgeführt (d. h. der Videoeinzelbild-Segregator340 kann Software/Firmware sein, die von Hardware ausgeführt wird). Gemäß einer anderen Ausführungsform ist der Videoeinzelbild-Segregator340 ausschließlich in Hardware implementiert. In jedem Fall kann in einer Ausführungsform der Videoeinzelbild-Segregator340 verwendet werden, um verschiedene Videoeinzelbilder aus einem Videostrom zu extrahieren, wie hierin gezeigt und beschrieben. - Wie oben erwähnt, kann ein Speichersystem verwendet werden, um einen Datenstrom zu speichern, der von einem Host an dieses gesendet wird. In einer Überwachungs- oder digitalen Videorecorder-Umgebung (DVR-Umgebung) können die Daten im Moving Picture Experts Group Transport Stream-Format (MPEG-TS-Format) gespeichert werden. Der gesamte Strom wird als eine Einheit gespeichert, was in der Regel vorteilhaft ist, da die Daten auf diese Weise einfach gespeichert und abgerufen werden können. Dies führt jedoch zu einheitlichen Dateneigenschaften (z. B. Lebensdauer) über das gesamte Datenspektrum hinweg, was in der Regel nicht erforderlich ist. Ferner erfordern praktische Anwendungen tendenziell dynamischen Schutz, dynamische Lebensdauer und dynamische Wiederherstellbarkeit für verschiedene Datentypen und manchmal gemäß einer Datenquelle, wie in Überwachungsumgebungen.
- Auch muss bei Überwachungsdaten nach einem Zeitraum (z. B. zwei Monate) in der Regel nur ein Teil der Daten gespeichert werden. Dies geschieht in der Regel, um mit Speicheranforderungen Schritt zu halten, wobei die Dienstgüte älterer Daten gegen Speicherkapazität eingetauscht wird (z. B. bis 50 % des Speichers). Um die nicht benötigten Daten zu entfernen, wird der Datenstrom aus dem Speicher ausgelesen, die nicht benötigten Videoeinzelbilder werden entfernt und der resultierende neue Strom wieder wird in dem Speicher gespeichert, was ein ineffizienter Prozess sein kann, der die Leistung reduziert und die Schreibverstärkung erhöht. Ferner sind die Einzelbilder, die entfernt werden, mit den gleichen Lebensdauer- und Schutzparametern gespeichert, wie die, die beibehalten werden. Die gleiche Problematik liegt bei unterschiedlichen Paketkennungen vor.
- Die folgenden Ausführungsformen können verwendet werden, um diese Probleme zu beheben. Genauer gesagt, werden in einer Ausführungsform eine Vielzahl von unterschiedlichen Videoeinzelbild-Typen aus einem Videostrom extrahiert (entweder durch den Host
300 oder das Speichersystem100 ), und Videoeinzelbilder unterschiedlicher Videoeinzelbild-Typen werden unter Verwendung unterschiedlicher Speicheroptionen in dem Speicher des Speichersystems gespeichert, wobei Videoeinzelbilder eines Videoeinzelbild-Typs mit einer anderen Speicheroption als Videoeinzelbilder eines anderen Videoeinzelbild-Typs gespeichert werden. Dies geht das oben erwähnte Problem an, bei dem das Speichern der MPEG-TS-Daten als ein einzelner Strom Durchsatzprobleme erzeugt, wenn die Daten nach einer verstrichenen Zeit schrittweise reduziert werden. Diese Ausführungsform erkennt, dass einige Einzelbilder wichtiger sind als andere Einzelbilder, so dass sie mit unterschiedlichen Speicheroptionen, wie Lebensdauer und Schutz, gespeichert werden können. Diese Ausführungsformen können auch an verschiedenen Paketkennungen (PIDs) durchgeführt werden, welche die Daten sind, durch die einzelne Tabellen oder Elementarströme in einem Transportstrom identifiziert werden. Durch die Verwendung des „segregierten Routings“ dieser Ausführungsform kann die Leistung erhöht und die Schreibverstärkung verringert werden. - Die folgenden Absätze stellen eine beispielhafte Verwendung einer Ausführungsform bereit, bei der der Datenstrom im MPEG-TS-Format vorliegt. Es versteht sich, dass dies nur ein Beispiel ist und andere Arten von Formaten, Einzelbild-Typen und Speicheroptionen verwendet werden können.
- Im Allgemeinen werden bei der Videokompression unterschiedliche Videoeinzelbilder unter Verwendung unterschiedlicher Kompressionsalgorithmen komprimiert. Verschiedene Videoeinzelbilder können in verschiedene Bild- oder Einzelbild-Typen eingeteilt werden. Drei der Hauptbildtypen sind intra-codierte Einzelbilder (I-Bilder), differenzcodierte Einzelbilder (P-Bilder) und bidirektionale differenzcodierte Einzelbilder (B-Bilder). I-Bilder sind am wenigsten komprimierbar, aber insofern unabhängig, als sie ohne Bezugnahme auf andere Videoeinzelbilder decodiert werden können. Ein I-Bild kann ein vollständiges Bild sein, wie beispielsweise eine Joint Photographic Experts Group-Bilddatei (JPEG-Bilddatei). Im Gegensatz dazu enthält ein differenzcodiertes Einzelbild (P-Bild) (oder Deltaeinzelbild) die Änderungen im Bild aus dem vorherigen Einzelbild und erfordert die Bezugnahme auf andere zu dekomprimierende Videoeinzelbilder. P-Bilder sind jedoch komprimierbarer als I-Bilder. Ein bidirektionales differenzcodiertes Einzelbild (B-Bild) enthält Unterschiede zwischen dem aktuellen Einzelbild und sowohl dem vorhergehenden als auch dem nachfolgenden Einzelbild. Dementsprechend stellen B-Bilder die höchste Menge an Datenkompression bereit.
- Wie oben erwähnt, können entweder der Host
300 und/oder das Speichersystem100 Einzelbilder aus dem Videostrom extrahieren. Die4 und5 werden nun erörtert, um diese beiden jeweiligen Optionen zu veranschaulichen. - Bezug nehmend zuerst auf
4 steht in diesem Beispiel der Host300 in Kommunikation mit einem Überwachungssystem. Die Erfindung betrifft ein Überwachungssystem mit zwei oder mehr Kameras mit Encodern, die jeweils ein Programm mit Audio- und Videokomponenten ausgeben. Diese Programme werden dem Host300 im MPEG-TS-Format bereitgestellt. Wenn der Host300 die Programme empfängt, extrahiert der Videoeinzelbild-Segregator340 des Prozessors340 des Hosts300 die Elementarströme (ESs) aus den gepackten Audio- und Videokennungen (PIDs) eines jeden Programms (d. h. die PIDs werden aus dem MPEG-TS extrahiert, dann werden die entsprechenden Audio-/Video-ESs aus diesen Programm-PIDs erhalten). Die Elementarströme sind die Ausgänge der Audio/Video-Codierer der Kameras, die nur eine Art von Daten (z. B. Audio oder Video) enthalten. Basierend auf den Informationen in den Paketkennungen kann der Videoeinzelbild-Segregator340 die verschiedenen Videoeinzelbild-Typen in dem Videostrom identifizieren. Mit diesen Informationen extrahiert der Videoeinzelbild-Segregator340 separat die I-, B- und/oder P-Bilder. - Der Prozessor
320 des Hosts300 gibt dann Befehle an das Speichersystem100 aus, um die verschiedenen Einzelbilder (und optional die verschiedenen PIDs) mit verschiedenen Speicheroptionen zu speichern. Zum Beispiel können die I-Bilder mit einem hohen Schutzgrad und einer Lese-Wiederherstellbarkeitsoption zu dem Speichersystem100 geleitet werden, und die B- und P-Bilder können mit einer Schnellausfall- oder einer Standardspeicheroption zu dem Speichersystem100 geleitet werden. Auf diese Weise streamt der Host300 Einzelbilder des Elementarstroms und nicht der Transportstrom. Da I-Bilder, die einzeln dekodierbar sind, zur höheren Lebensdauer getrennt gespeichert werden, wird ein Strom von einzeln dekodierbaren Videoeinzelbildern zu einem Speicherblock gestreamt. Diese einzelnen Einzelbilder können vom Transportstrom unterschieden werden, da der Transportstrom der MPEG-Spezifikation folgt, die eine Programmzuordnungstabelle (PAT), Programmabbildungstabelle (PMT) und andere Datenstrukturen, die in einzelnen Videoeinzelbildern nicht vorhanden sind, aufweist. - Das Speichersystem
100 speichert dann die verschiedenen Einzelbilder mit den verschiedenen Speicheroptionen im Speicher104 . Zum Beispiel kann das Speichersystem100 auf Anweisung des Hosts300 die I-Bilder mit einem hohen Lebensdauerzuschnitt in einem separaten Speicherblock104 speichern und die B- und P-Bilder mit einem standardmäßigen/geringeren Lebensdauerzuschnitt in einem anderen Speicherblock speichern. Wenn die I-Bilder die Einzelbilder sind, die beibehalten werden, und die B- und P-Bilder die Einzelbilder sind, die zur stufenweisen Reduzierung gelöscht werden, kann es bevorzugt sein, die I-Bilder mit höherer Speicherlebensdauer als die B- und P-Bilder zu speichern. Wenn B- und P-Bilder vor den I-Bilder gelöscht werden, benötigen die B- und P-Bilder keine so hohe Lebensdauer wie die I-Bilder, die länger gespeichert werden. (Es ist jedoch nicht immer der Fall, dass die Deltaeinzelbilder vor den I-Bilder gelöscht werden.) Auf diese Weise kann die Durchführung der Speicherung verschiedener Einzelbilder mit verschiedenen Speicheroptionen anstelle der Speicherung des Videostroms als eine einzige Einheit verwendet werden, um von Speicherparametern zu profitieren. - Dies bietet Vorteile gegenüber dem bisherigen Ansatz, den gesamten Videostrom als eine Einheit im Speicher
104 des Speichersystems zu speichern. Im Allgemeinen werden I-Bilder in Anwendungen, wie der Überwachung, als kritisch angesehen, da sie für die Videowiedergabe grundlegend sind. P-Bilder und B-Bilder sind Deltaeinzelbilder, ohne die ein Video zwar noch aufrechterhalten werden kann, jedoch mit einer gewissen Verschlechterung der Dienstgüte, da sie gewöhnlich dem Bewegtvideo Ruckelfreiheit verleihen. Das Routen von I-Bilder getrennt von den Deltaeinzelbildern (den P- und B-Bildern) in verschiedene Speicherblöcke ermöglicht es, den Deltaeinzelbild-Block insgesamt zu reinigen, was den Hintergrundverschiebungsprozess erleichtert, wenn das Video stufenweise reduziert werden soll. Die I-Bilder werden länger in einem separaten Block gehalten, ohne dass es zu Schwierigkeiten bei der Speicherbereinigung kommt. Dadurch wird das stufenweise Reduzieren älterer Videodaten mit in jeder Stufe verringerter Dienstgüte optimiert. Somit kann diese Ausführungsform verwendet werden, um unterschiedliche Datenmengen/Redundanz für die verschiedenen Einzelbild-Typen bereitzustellen. Ferner wird, abgesehen von der optimalen Speichersystemleistung, die Gesamtlebensdauer des Speichers104 erhöht, da die Daten gut segregiert und in das Ziel geschrieben werden, in das sie gehören sollten. Die Verbesserung der Lebensdauer hat einen Kostenvorteil, da weniger Blöcke für die gleiche Anzahl von Vorrichtungszyklen erforderlich sind. Ein solcher Vorteil sorgt im kostensensiblen Einzelhandelssektor für Mehrwert. Außerdem kann das Segregieren und Speichern verschiedener Videoeinzelbilder gemäß ihrer erwarteten Lebensdauer in dem Speichersystem100 zu weniger Speicherbereinigungsvorgängen führen. - Wie oben erwähnt, kann die Steuerung
102 (z. B. unter Verwendung seines Videoeinzelbild-Segregators111 ) anstelle des Host300 die Einzelbilder extrahieren (die MPEG-TS-Segregation/Routing-Entscheidung kann z. B. innerhalb des Speichersystems100 durchgeführt werden). Diese Ausführungsform ist in5 dargestellt.5 ist ähnlich wie4 , aber anstatt das Extrahieren von dem Host300 durchführen zu lassen, führt die Frontend-Speichersteuerung (oder jede andere geeignete Komponente in dem Speichersystem100 ) das Extrahieren durch, optional mit etwas Konfigurationsunterstützung von dem Host300 . In dieser Alternative ist das Speichersystem100 aktiver und führt die Videoeinzelbild-Segregation selbst durch, um unabhängige codierte Medien zu erzeugen, und segregiert anschließend die Videoeinzelbilder daraus (z. B. host-gesteuert). Der Host300 kann ein gewisses Feedback über eine Schnittstelle bereitstellen, beispielsweise darüber, welche Paketkennungen wichtig sind, und darüber, mit welchem Bevorzugungsgrad das Speichersystem100 den Elementarstrom im Hinblick auf Datenaufbewahrung, Schutz und Wiederherstellbarkeit bevorzugen sollte. Im Betrieb kann der Host100 einen Hinweismechanismus aufweisen, der Videoeinzelbilder zur Segregation in verschiedene Blöcke in Abhängigkeit von ihrer Verwendung kennzeichnet, und das Speichersystem100 kann automatisch Einzelbild-Typen basierend auf den Hinweisen erkennen. Das Speichersystem100 kann abgeleitete oder host-initiierte Eingaben verwenden, um die Videoeinzelbilder in eine Vielzahl von Speicherpools zu segregieren, die unabhängig voneinander verwaltet werden können. Der Host300 kann auch das Speichersystem100 anweisen, einigen Videopaketkennungen gegenüber anderen, zusammen mit den Videoeinzelbildern, Priorität bezüglich Schutz und Wiederherstellbarkeit während der Speicherung zu geben. - Unabhängig davon, welche Entität die Videoeinzelbild-Segregation durchführt, kann der Host
300 eingerichtet sein, um die unerwünschten Einzelbilder in dem Videostrom durch Senden einer Löschanweisung an das Speichersystem100 nach einer verstrichenen Zeit zu entsorgen. (Alternativ kann das Speichersystem100 mit dieser Fähigkeit eingerichtet werden.) Beispielsweise sind für eine typische Videodecodierung B- und P-Bilder von anderen Einzelbildern abhängig, während I-Bilder von keinem anderen Einzelbild abhängig sind. Dies kann im Speichersystem100 für eine stufenweise Entfernung genutzt werden, um Kapazität in Stufen wiederzuerlangen, wobei die B- und P-Bilder in der ersten Stufe der Datenreduktion entsorgt werden und I-Bilder entsorgt werden, wenn das gesamte Videoprogramm aus dem Speichersystem100 entfernt werden muss. Die Speicherbereinigung kann stark reduziert werden, wenn die Videoeinzelbilder im Speicher104 mit Informationen darüber gespeichert werden, in welcher Stufe die Daten entfernt werden. - Als ein weiteres Beispiel wird in einem Mehrkamera-Überwachungssystem (wie in den
4 und5 ) der Videostrom in der Regel aus mehreren Paketkennungen von mehreren Kameras gebildet. Der Host300 kann entscheiden, eine einzelne oder eine Gruppe von Paketkennungen (z. B. basierend auf Priorität/Wichtigkeit des Standorts der Kamera) in einem Speicher und eine andere Gruppe von Paketkennungen in einem anderen Speicher aufzubewahren. Das Ermöglichen eines ähnlichen Videostrom-Parsing, um Elementarströme abzurufen und unterschiedliche Speicheranweisungen bereitzustellen, um ein bedarfsbasiertes Routing durchzuführen, kann den Gesamtsystemdurchsatz mit der geeigneten Lebensdauer und Leistung für unterschiedliche Datenquellen optimieren. - In einigen Fällen kann der Host
300 zusammen mit der Elementarstromsegregation auch wichtige und außer Acht gelassene Videopaketkennungen im Transportstrom identifizieren. Zum Beispiel können die Paketkennungen, die einer Kamera zugeordnet sind, die ein Programm in einem Bankfach/Bankschalter-Abschnitt aufnimmt, mit einer Kamera verglichen werden, die ein Programm in der Pantry-Halle erzeugt. Der Elementarstrom der entsprechenden Paketkennungen kann neben bevorzugter Einzelbild-Speicherung bevorzugt gespeichert werden. - Nachdem die unerwünschten Einzelbilder aus dem Speicher entfernt wurden, können die verbleibenden Einzelbilder in der Lage sein, den Videostrom in gewisser Weise neu zu erzeugen. Zum Beispiel kann der Host
300 mit der geeigneten Logik eingerichtet werden, um den MPEG-TS-Videostrom mit verkürzten Elementarströmen für eine nachfolgende Wiedergabe neu zu erzeugen. - Es sei darauf hingewiesen, dass es viele Alternativen gibt, die bei diesen Ausführungsformen verwendet werden können. Obwohl zum Beispiel die vorstehenden Ausführungsformen in Bezug auf Videos erörtert wurden, können diese Ausführungsformen auch auf andere Arten von Medien, wie Abbildungen, angewendet werden. Wie Videos können Abbildungen „wichtige“ Daten sowie „unwichtige“ Daten, wie Metadaten, aufweisen, die die Dienstgüte verbessern können, aber nicht decodiert werden müssen.
- Schließlich kann, wie oben erwähnt, jeder geeignete Speichertyp verwendet werden. Halbleiterspeichervorrichtungen schließen flüchtige Speichervorrichtungen ein, wie etwa Dynamic Random Access Memory-Vorrichtungen („DRAM-Vorrichtungen“) oder Static Random Access Memory-Vorrichtungen („SRAM-Vorrichtungen“), nichtflüchtige Speichervorrichtungen, wie etwa resistiver Direktzugriffsspeicher („ReRAM“), Electrically Erasable Programmable Read Only Memory („EEPROM“), Flash-Speicher (der auch als Untergruppe eines EEPROM betrachtet werden kann), Ferroelectric Random Access Memory („FRAM“) und magnetoresistiver Direktzugriffsspeicher („MRAM“), und andere Halbleiterelemente, die Informationen speichern können. Jeder Typ von Speichervorrichtung kann unterschiedliche Konfigurationen aufweisen. Zum Beispiel können Flash-Speichervorrichtungen in einer NAND- oder NOR-Konfiguration eingerichtet sein.
- Die Speichervorrichtungen können aus passiven und/oder aktiven Elementen in beliebigen Kombinationen gebildet sein. Als ein nicht einschränkendes Beispiel schließen passive Halbleiterspeicherelemente ReRAM-Vorrichtungselemente ein, die in einigen Ausführungsformen ein Speicherelement mit Widerstandsumschaltung, wie eine Anti-Sicherung, Phasenwechselmaterial usw., und optional ein Lenkelement, wie eine Diode usw., einschließen. Weiterhin schließen als nicht einschränkendes Beispiel aktive Halbleiterspeicherelemente EEPROM- und Flash-Speicher-Vorrichtungselemente ein, die in einigen Ausführungsformen Elemente einschließen, die einen Ladungsspeicherbereich, wie ein Floating-Gate, leitende Nanopartikel oder ein dielektrisches Material zur Ladungsspeicherung, einschließen.
- Mehrere Speicherelemente können derart eingerichtet sein, dass sie in Reihe geschaltet sind, oder derart, dass jedes Element einzeln zugänglich ist. Als nicht einschränkendes Beispiel enthalten Flash-Speichervorrichtungen in einer NAND-Konfiguration (NAND-Speicher) üblicherweise Speicherelemente, die in Reihe geschaltet sind. Ein NAND-Speicherarray kann derart eingerichtet sein, dass das Array aus mehreren Speicherketten zusammengesetzt ist, in denen eine Kette aus mehreren Speicherelementen zusammengesetzt ist, die sich eine einzelne Bitleitung teilen und auf die als eine Gruppe zugegriffen wird. Alternativ können Speicherelemente derart eingerichtet sein, dass jedes Element einzeln zugänglich ist, z. B. ein NOR-Speicherarray. NAND- und NOR-Speicherkonfigurationen sind Beispiele, und Speicherelemente können anderweitig eingerichtet sein.
- Die Halbleiterspeicherelemente, die in und/oder über einem Substrat angeordnet sind, können in zwei oder drei Dimensionen angeordnet sein, wie einer zweidimensionalen Speicherstruktur oder einer dreidimensionalen Speicherstruktur.
- In einer zweidimensionalen Speicherstruktur sind die Halbleiterspeicherelemente in einer einzelnen Ebene oder einer einzelnen Speichervorrichtungsebene angeordnet. Üblicherweise sind Speicherelemente in einer zweidimensionalen Speicherstruktur in einer Ebene (z. B. in einer x-z-Richtung-Ebene) angeordnet, die sich im Wesentlichen parallel zu einer Hauptoberfläche eines Substrats erstreckt, das die Speicherelemente trägt. Das Substrat kann ein Wafer sein, über oder in dem die Schicht der Speicherelemente gebildet ist, oder es kann ein Trägersubstrat sein, das an den Speicherelementen befestigt wird, nachdem diese ausgebildet wurden. Als ein nicht einschränkendes Beispiel kann das Substrat einen Halbleiter, wie Silizium, einschließen.
- Die Speicherelemente können auf der einzelnen Speichervorrichtungsebene in einem geordneten Array angeordnet sein, wie in einer Vielzahl von Zeilen und/oder Spalten. Jedoch können die Speicherelemente auch in nicht regelmäßigen oder nicht orthogonalen Konfigurationen angeordnet sein. Die Speicherelemente können jeweils zwei oder mehr Elektroden oder Kontaktleitungen, wie Bitleitungen und Wortleitungen, aufweisen.
- Ein dreidimensionales Speicherarray ist derart angeordnet, dass Speicherelemente mehrere Ebenen oder mehrere Speichervorrichtungsebenen belegen, wodurch eine Struktur in drei Dimensionen gebildet wird (d. h. in der x-, y- und z-Richtung, wobei die y-Richtung im Wesentlichen senkrecht und die x- und z-Richtungen im Wesentlichen parallel zu der Hauptoberfläche des Substrats verlaufen).
- Als ein nicht einschränkendes Beispiel kann eine dreidimensionale Speicherstruktur vertikal als ein Stapel von mehreren zweidimensionalen Speichervorrichtungsebenen angeordnet sein. Als weiteres nicht einschränkendes Beispiel kann ein dreidimensionales Speicherarray als mehrere vertikale Spalten (z. B. Spalten, die sich im Wesentlichen senkrecht zu der Hauptoberfläche des Substrats erstrecken, d. h. in y-Richtung) angeordnet sein, wobei jede Spalte mehrere Speicherelemente in jeder Spalte aufweist. Die Spalten können in einer zweidimensionalen Konfiguration angeordnet sein, z. B. in einer x-z-Ebene, was zu einer dreidimensionalen Anordnung von Speicherelementen mit Elementen auf mehreren vertikal gestapelten Speicherebenen führt. Andere Konfigurationen von Speicherelementen in drei Dimensionen können ebenfalls ein dreidimensionales Speicherarray bilden.
- Als nicht einschränkendes Beispiel können in einem dreidimensionalen NAND-Speicherarray die Speicherelemente miteinander gekoppelt sein, um eine NAND-Kette innerhalb einer einzelnen horizontalen (z. B. x-y-) Speichervorrichtungsebenen zu bilden. Alternativ können die Speicherelemente miteinander gekoppelt sein, um eine vertikale NAND-Kette zu bilden, die über mehrere horizontale Speichervorrichtungsebenen verläuft. Andere dreidimensionale Konfigurationen können in Betracht gezogen werden, wobei einige NAND-Ketten Speicherelemente in einer einzelnen Speicherebene enthalten, während andere Ketten Speicherelemente enthalten, die sich über mehrere Speicherebenen erstrecken. Dreidimensionale Speicherarrays können auch als eine NOR-Konfiguration und als eine ReRAM-Konfiguration ausgelegt sein.
- Üblicherweise werden in einem monolithischen dreidimensionalen Speicherarray eine oder mehrere Speichervorrichtungsebenen über einem einzelnen Substrat gebildet. Optional kann das monolithische dreidimensionale Speicherarray auch eine oder mehrere Speicherschichten mindestens teilweise innerhalb des einzelnen Substrats aufweisen. Als ein nicht einschränkendes Beispiel kann das Substrat einen Halbleiter, wie Silizium, einschließen. In einem monolithischen dreidimensionalen Array werden die Schichten, die jede Speichervorrichtungsebene des Arrays bilden, üblicherweise auf den Schichten der darunter liegenden Speichervorrichtungsebenen des Arrays gebildet. Jedoch können Schichten von benachbarten Speichervorrichtungsebenen eines monolithischen dreidimensionalen Speicherarrays gemeinsam genutzt werden oder Zwischenschichten zwischen Speichervorrichtungsebenen aufweisen.
- Es können jedoch auch zweidimensionale Arrays getrennt gebildet und dann zusammengepackt werden, um eine nicht monolithische Speichervorrichtung mit mehreren Speicherschichten zu bilden. Zum Beispiel können nicht monolithische gestapelte Speicher konstruiert werden, indem Speicherebenen auf separaten Substraten gebildet und dann die Speicherebenen übereinander gestapelt werden. Die Substrate können vor dem Stapeln gedünnt oder von den Speichervorrichtungsebenen entfernt werden, aber da die Speichervorrichtungsebenen anfänglich über separaten Substraten gebildet werden, sind die resultierenden Speicherarrays keine monolithischen dreidimensionalen Speicherarrays. Weiterhin können mehrere zweidimensionale Speicherarrays oder dreidimensionale Speicherarrays (monolithisch oder nicht monolithisch) auf separaten Chips gebildet und dann zusammengepackt werden, um eine gestapelte Chip-Speichervorrichtung zu bilden.
- Eine zugehörige Schaltung ist üblicherweise für den Betrieb der Speicherelemente und für die Kommunikation mit den Speicherelementen erforderlich. Als nicht einschränkende Beispiele können Speichervorrichtungen Schaltungen aufweisen, die zum Steuern und Ansteuern von Speicherelementen verwendet werden, um Funktionen, wie Programmieren und Lesen, auszuführen. Diese zugehörige Schaltung kann sich auf demselben Substrat wie die Speicherelemente und/oder auf einem separaten Substrat befinden. Zum Beispiel kann eine Steuerung für Schreib-/Lesevorgänge des Speichers auf einem separaten Steuerungschip und/oder auf demselben Substrat wie die Speicherelemente angeordnet sein.
- Ein Fachmann wird erkennen, dass diese Erfindung nicht auf die beschriebenen zweidimensionalen und dreidimensionalen Strukturen beschränkt ist, sondern alle relevanten Speicherstrukturen innerhalb des Wesens und Umfangs der Erfindung abdeckt, wie es hierin beschrieben ist und wie es von einem Fachmann verstanden wird.
- Es ist beabsichtigt, dass die vorstehende detaillierte Beschreibung als eine Veranschaulichung ausgewählter Formen, die die Erfindung annehmen kann, und nicht als eine Definition der Erfindung verstanden wird. Es sind nur die folgenden Ansprüche, einschließlich aller Äquivalente, die den Umfang der beanspruchten Erfindung definieren sollen. Schließlich sei darauf hingewiesen, dass jeder Gesichtspunkt von jeder der hierin beschriebenen Ausführungsformen allein oder in Kombination miteinander verwendet werden kann.
Claims (20)
- Speichersystem, aufweisend: einen Speicher; und eine Steuerung, die eingerichtet ist zum: Empfangen eines Videostroms von einem Host; Identifizieren einer Vielzahl von Videoeinzelbild-Typen aus dem Videostrom; und Speichern von Videoeinzelbildern verschiedener Videoeinzelbild-Typen in dem Speicher unter Verwendung verschiedener Speicheroptionen.
- Speichersystem nach
Anspruch 1 , wobei die unterschiedlichen Speicheroptionen unterschiedliche Lebensdauergrade sind. - Speichersystem nach
Anspruch 1 , wobei ein erster Videoeinzelbild-Typ ein intra-codiertes Einzelbild (I-Bild) ist und ein zweiter Videoeinzelbild-Typ ein differenzcodiertes Einzelbild (P-Bild) oder ein bidirektionales differenzcodiertes Einzelbild (B-Bild) ist. - Speichersystem nach
Anspruch 3 , wobei ein I-Bild mit einem höheren Lebensdauergrad als ein P-Bild oder ein B-Bild gespeichert wird. - Speichersystem nach
Anspruch 1 , wobei die Steuerung ferner eingerichtet ist, nach einem verstrichenen Zeitraum Videoeinzelbilder eines Videoeinzelbild-Typs zu löschen, während die Videoeinzelbilder eines anderen Videoeinzelbild-Typs behalten werden. - Speichersystem nach
Anspruch 1 , wobei die Steuerung eingerichtet ist, um die Vielzahl von Videoeinzelbild-Typen basierend auf Informationen zu identifizieren, die von dem Host empfangen werden. - Speichersystem nach
Anspruch 1 , wobei der Speicher einen dreidimensionalen Speicher aufweist. - Speichersystem nach
Anspruch 1 , wobei das Speichersystem dafür eingerichtet ist, in einen Host integriert zu sein. - Speichersystem nach
Anspruch 1 , wobei das Speichersystem dafür eingerichtet ist, trennbar mit einem Host verbunden zu sein. - Verfahren zur Videoeinzelbild-Segregation, wobei das Verfahren aufweist: Durchführen des Folgenden in einem Speichersystem, das in Kommunikation mit einem Host steht, wobei das Speichersystem einen Speicher umfasst: Empfangen, von dem Host, einer Vielzahl von Videoeinzelbildern, die von dem Host aus einem Videostrom extrahiert werden; Empfangen, von dem Host, von Anweisungen zu einem Speicherparameter, der von dem Speichersystem verwendet werden soll, um jedes der Videoeinzelbilder zu speichern, wobei Videoeinzelbilder unterschiedlicher Videoeinzelbild-Typen unterschiedliche Speicherparameter aufweisen; und Speichern jedes Einzelbilds der Vielzahl von Videoeinzelbildern in dem Speicher unter Verwendung der durch den Host spezifizierten Speicherparameter.
- Verfahren nach
Anspruch 10 , wobei die unterschiedlichen Speicherparameter unterschiedliche Lebensdauergrade sind. - Verfahren nach
Anspruch 10 , wobei ein erster Videoeinzelbild-Typ ein intra-codiertes Einzelbild (I-Bild) ist und ein zweiter Videoeinzelbild-Typ ein differenzcodiertes Einzelbild (P-Bild) oder ein bidirektionales differenzcodiertes Einzelbild (B-Bild) ist. - Verfahren nach
Anspruch 12 , wobei ein I-Bild mit einem höheren Lebensdauergrad als ein P-Bild oder ein B-Bild gespeichert wird. - Verfahren nach
Anspruch 10 , ferner umfassend: Löschen von Videoeinzelbildern eines Videoeinzelbild-Typs nach einem verstrichenen Zeitraum, während die Videoeinzelbilder eines anderen Videoeinzelbild-Typs behalten werden. - Speichersystem, aufweisend: einen Speicher; und Mittel zum Speichern verschiedener Videoeinzelbilder aus einem Videostrom in dem Speicher unter Verwendung verschiedener Speicherparameter gemäß der erwarteten Speicherlebensdauer eines Videoeinzelbilds in dem Speicher.
- Speichersystem nach
Anspruch 15 , wobei die unterschiedlichen Speicherparameter unterschiedliche Lebensdauergrade sind. - Speichersystem nach
Anspruch 15 , wobei die verschiedenen Videoeinzelbilder (i) ein intra-codiertes Einzelbild (I-Bild) und (ii) ein differenzcodiertes Einzelbild (P-Bild) und/oder ein bidirektionales differenzcodiertes Einzelbild (B-Bild) aufweisen. - Speichersystem nach
Anspruch 15 , wobei der Speicher einen dreidimensionalen Speicher umfasst. - Speichersystem nach
Anspruch 15 , wobei das Speichersystem dafür eingerichtet ist, in einen Host integriert zu sein. - Speichersystem nach
Anspruch 15 , wobei das Speichersystem dafür eingerichtet ist, trennbar mit einem Host verbunden zu sein.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/708,091 US10841645B1 (en) | 2019-12-09 | 2019-12-09 | Storage system and method for video frame segregation to optimize storage |
US16/708,091 | 2019-12-09 | ||
PCT/US2020/024635 WO2021118619A1 (en) | 2019-12-09 | 2020-03-25 | Storage system and method for video frame segregation to optimize storage |
Publications (1)
Publication Number | Publication Date |
---|---|
DE112020000177T5 true DE112020000177T5 (de) | 2021-09-02 |
Family
ID=73264128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112020000177.6T Pending DE112020000177T5 (de) | 2019-12-09 | 2020-03-25 | Speichersystem und verfahren zur videoeinzelbild-segregation zum optimieren der speicherung |
Country Status (4)
Country | Link |
---|---|
US (1) | US10841645B1 (de) |
CN (1) | CN113316817B (de) |
DE (1) | DE112020000177T5 (de) |
WO (1) | WO2021118619A1 (de) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11575978B2 (en) | 2021-06-01 | 2023-02-07 | Western Digital Technologies, Inc. | Data storage device and method for reliable watermarking |
US11546612B2 (en) * | 2021-06-02 | 2023-01-03 | Western Digital Technologies, Inc. | Data storage device and method for application-defined data retrieval in surveillance systems |
US11601656B2 (en) | 2021-06-16 | 2023-03-07 | Western Digital Technologies, Inc. | Video processing in a data storage device |
US20240298044A1 (en) * | 2023-03-03 | 2024-09-05 | Western Digital Technologies, Inc. | Data Storage Device and Method for Selecting a Data Recovery Mechanism Based on a Video Frame Position |
Family Cites Families (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5099150A (en) | 1989-09-29 | 1992-03-24 | Sgs-Thomson Microelectronics, Inc. | Circuit block for programmable logic devices, configurable as a user-writable memory or a logic circuit |
US6839725B2 (en) | 2000-05-16 | 2005-01-04 | Sun Microsystems, Inc. | Dynamic adaptive tenuring of objects |
US6646676B1 (en) | 2000-05-17 | 2003-11-11 | Mitsubishi Electric Research Laboratories, Inc. | Networked surveillance and control system |
US6920281B1 (en) * | 2000-06-30 | 2005-07-19 | Koninklijke Philips Electronics N.V. | Video memory manager for use in a video recorder and method of operation |
US6542075B2 (en) | 2000-09-28 | 2003-04-01 | Vigilos, Inc. | System and method for providing configurable security monitoring utilizing an integrated information portal |
US7088910B2 (en) * | 2001-02-09 | 2006-08-08 | Microsoft Corporation | Optimizing use of storage space in a video data recording system |
US7631327B2 (en) | 2001-08-08 | 2009-12-08 | Accenture Global Services Gmbh | Enhanced custom content television |
JP2004062916A (ja) * | 2002-06-05 | 2004-02-26 | Sony Corp | 情報処理装置および方法、記録媒体、並びにプログラム |
US7433582B2 (en) | 2002-06-25 | 2008-10-07 | International Business Machines Corporation | Personal video recording with machine learning for messaging |
US6768661B2 (en) | 2002-06-27 | 2004-07-27 | Matrix Semiconductor, Inc. | Multiple-mode memory and method for forming same |
KR100565307B1 (ko) * | 2003-11-24 | 2006-03-30 | 엘지전자 주식회사 | 이동 통신 단말기의 스트리밍 콘텐츠 저장 방법 |
US7697026B2 (en) | 2004-03-16 | 2010-04-13 | 3Vr Security, Inc. | Pipeline architecture for analyzing multiple video streams |
US7302159B2 (en) * | 2004-11-12 | 2007-11-27 | Pelco | Apparatus and method of storing video data |
US20060190419A1 (en) | 2005-02-22 | 2006-08-24 | Bunn Frank E | Video surveillance data analysis algorithms, with local and network-shared communications for facial, physical condition, and intoxication recognition, fuzzy logic intelligent camera system |
KR20080044616A (ko) * | 2006-11-17 | 2008-05-21 | 엘지전자 주식회사 | 디지털 비디오 레코더에서의 기록 제어방법 |
KR100858614B1 (ko) * | 2007-03-08 | 2008-09-17 | 삼성에스디아이 주식회사 | 유기전계발광표시장치 및 그의 구동방법 |
US8356061B2 (en) | 2008-06-23 | 2013-01-15 | Oracle America, Inc. | Maximizing throughput for a garbage collector |
EP2141928A1 (de) | 2008-06-30 | 2010-01-06 | Thomson Licensing S.A. | Vorrichtung und Verfahren zur Analyse eines kodierten Bildes |
EP2377277A4 (de) * | 2008-12-10 | 2013-08-28 | Motorola Solutions Inc | Verfahren und system für deterministischen paketverwurf |
JP5100667B2 (ja) | 2009-01-09 | 2012-12-19 | キヤノン株式会社 | 画像符号化装置及び画像符号化方法 |
US9215423B2 (en) | 2009-03-30 | 2015-12-15 | Time Warner Cable Enterprises Llc | Recommendation engine apparatus and methods |
US8725940B2 (en) | 2010-02-27 | 2014-05-13 | Cleversafe, Inc. | Distributedly storing raid data in a raid memory and a dispersed storage network memory |
EP2407943B1 (de) | 2010-07-16 | 2016-09-28 | Axis AB | Verfahren zur ereignisinitiierter Videoaufnahme und Videokamera zur Aufnahme eines ereignisinitiierten Videos |
US9414109B2 (en) | 2011-08-31 | 2016-08-09 | Tivo Inc. | Multimedia program recording schedule manager |
US8825721B2 (en) | 2011-10-03 | 2014-09-02 | Oracle International Corporation | Time-based object aging for generational garbage collectors |
US8516019B2 (en) | 2011-10-03 | 2013-08-20 | Oracle America, Inc. | Time-based object aging for generational garbage collectors |
US20140078256A1 (en) * | 2011-12-28 | 2014-03-20 | Panasonic Corporation | Playback device, transmission device, playback method and transmission method |
US9037921B1 (en) | 2012-03-29 | 2015-05-19 | Amazon Technologies, Inc. | Variable drive health determination and data placement |
US8855466B2 (en) * | 2012-05-01 | 2014-10-07 | Eldon Technology Limited | Separate video file for I-frame and non-I-frame data to improve disk performance in trick play |
KR102094902B1 (ko) | 2013-07-08 | 2020-03-30 | 삼성전자주식회사 | 액티브 상태에서 인터페이스 모드를 전환하는 스토리지 시스템 및 ufs 시스템 |
CN104580969A (zh) * | 2013-10-23 | 2015-04-29 | 中兴通讯股份有限公司 | 录像帧率调整方法和装置 |
US20150237351A1 (en) | 2014-02-18 | 2015-08-20 | Penne Lee | Techniques for inclusion of region of interest indications in compressed video data |
US9354794B2 (en) | 2014-07-07 | 2016-05-31 | Google Inc. | Method and system for performing client-side zooming of a remote video feed |
CN105335437A (zh) | 2014-08-11 | 2016-02-17 | 中兴通讯股份有限公司 | 数据的处理方法及装置 |
US10007442B2 (en) | 2014-08-20 | 2018-06-26 | Sandisk Technologies Llc | Methods, systems, and computer readable media for automatically deriving hints from accesses to a storage device and from file system metadata and for optimizing utilization of the storage device based on the hints |
US10228854B2 (en) | 2014-08-20 | 2019-03-12 | Sandisk Technologies Llc | Storage devices and methods for optimizing use of storage devices based on storage device parsing of file system metadata in host write operations |
US9836248B2 (en) | 2014-10-30 | 2017-12-05 | ScaleFlux | In-memory data compression complementary to host data compression |
GB201508074D0 (en) | 2015-05-12 | 2015-06-24 | Apical Ltd | People detection |
US20160345009A1 (en) | 2015-05-19 | 2016-11-24 | ScaleFlux | Accelerating image analysis and machine learning through in-flash image preparation and pre-processing |
US9578278B1 (en) * | 2015-10-20 | 2017-02-21 | International Business Machines Corporation | Video storage and video playing |
KR102618049B1 (ko) | 2016-02-02 | 2023-12-27 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 비디오 스트리밍의 관심 장면 섹션 및 영역 처리 |
US9781479B2 (en) | 2016-02-29 | 2017-10-03 | Rovi Guides, Inc. | Methods and systems of recommending media assets to users based on content of other media assets |
US10095445B2 (en) | 2016-03-29 | 2018-10-09 | Western Digital Technologies, Inc. | Systems and methods for offloading processing from a host to storage processing units using an interconnect network |
KR101923661B1 (ko) | 2016-04-04 | 2018-11-29 | 주식회사 맴레이 | 플래시 기반 가속기 및 이를 포함하는 컴퓨팅 디바이스 |
US11010431B2 (en) | 2016-12-30 | 2021-05-18 | Samsung Electronics Co., Ltd. | Method and apparatus for supporting machine learning algorithms and data pattern matching in ethernet SSD |
US10452278B2 (en) | 2017-03-24 | 2019-10-22 | Western Digital Technologies, Inc. | System and method for adaptive early completion posting using controller memory buffer |
KR20180114972A (ko) | 2017-04-11 | 2018-10-22 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US10592121B2 (en) | 2017-09-14 | 2020-03-17 | Samsung Electronics Co., Ltd. | Quasi-synchronous protocol for large bandwidth memory systems |
US10587919B2 (en) | 2017-09-29 | 2020-03-10 | International Business Machines Corporation | Cognitive digital video filtering based on user preferences |
TWI674505B (zh) | 2017-11-30 | 2019-10-11 | 宜鼎國際股份有限公司 | 資料存取效率的預估方法 |
US10747659B2 (en) | 2018-02-06 | 2020-08-18 | Western Digital Technologies, Inc. | Flash fast program mode for high definition video recording and high resolution camera burst mode recording |
US11025942B2 (en) | 2018-02-08 | 2021-06-01 | Samsung Electronics Co., Ltd. | Progressive compressed domain computer vision and deep learning systems |
CN110300134B (zh) * | 2018-03-22 | 2022-10-04 | 杭州海康威视系统技术有限公司 | 云存储资源池的存储空间调整方法、装置及云存储系统 |
-
2019
- 2019-12-09 US US16/708,091 patent/US10841645B1/en active Active
-
2020
- 2020-03-25 DE DE112020000177.6T patent/DE112020000177T5/de active Pending
- 2020-03-25 WO PCT/US2020/024635 patent/WO2021118619A1/en active Application Filing
- 2020-03-25 CN CN202080006883.0A patent/CN113316817B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113316817B (zh) | 2023-03-10 |
US10841645B1 (en) | 2020-11-17 |
WO2021118619A1 (en) | 2021-06-17 |
CN113316817A (zh) | 2021-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112020000177T5 (de) | Speichersystem und verfahren zur videoeinzelbild-segregation zum optimieren der speicherung | |
DE60303895T2 (de) | Hybridimplementierung von Fehlerkorrekturkoden eines nichtflüchtigen Speichersystems | |
DE112020000184T5 (de) | In zonen unterteilte namensräume in festkörperlaufwerken | |
DE112016004760T5 (de) | System und Verfahren für direktes Schreiben auf einen MLC-Speicher | |
DE102020107659A1 (de) | Zonenbildung für gezonte namensräume | |
DE112016004629T5 (de) | Datencodiertechniken für eine Vorrichtung | |
DE102018123891A1 (de) | Handhabung nichtabgestimmter Schreibvorgänge | |
DE112018004275T5 (de) | Raid-array-wiederherstellungsunterstützung anhand einer externen array-kopie | |
DE102018106154A1 (de) | Faltungsoperationen in datenspeichersystemen mit einzeladressenaktualisierungen | |
DE112017005955T5 (de) | Speichersystem und verfahren zur schlanken speicherzuweisung | |
DE112018000834T5 (de) | System und verfahren zur adaptiven befehlsabruf-aggregation | |
DE112015000378T5 (de) | Selektives Rückkopieren für einen auf einem Chipplättchen gepufferten nichtflüchtigen Speicher | |
DE102021115373A1 (de) | Identifizierte zonen für zonen mit optimaler paritätsteilung | |
DE112020006139T5 (de) | Vor-lese-und lese-schwellenspannungsoptimierung | |
DE102012112354A1 (de) | Speichervorrichtung und nichtflüchtige Speichervorrichtung sowie Betriebsverfahren davon | |
DE112017005637T5 (de) | Verfahren und System zur Schreibverstärkungsanalyse | |
DE112015005102T5 (de) | Systeme und verfahren zum erzeugen von einem hostbefehl zugeordneten hinweisinformationen | |
DE112018000230T5 (de) | System und Verfahren zur spekulativen Befehlsausführung unter Verwendung des Steuerungsspeicherpuffers | |
DE102019124668A1 (de) | Transistorschwellenspannungshaltung in 3d-speicher | |
DE112019000161T5 (de) | Speicher-cache-verwaltung | |
DE112020000143T5 (de) | Ssd-system, das einschaltzyklus-basierten read-scrub verwendet | |
DE112020000159T5 (de) | Systeme und verfahren zum definieren von speicher-unterblöcken | |
DE112022000468T5 (de) | Unterschiedliche schreibpriorisierung in zns-vorrichtungen | |
DE112022000525T5 (de) | Datenspeicherungsvorrichtung und verfahren zur verhinderung von versehentlichen aktualisierungen und löschungen bei der verwendung von datenversionierung | |
DE112021000139T5 (de) | Speicherungssystem und verfahren zum verwenden von zugewiesenem speicher in einem host für lesedaten als host-speicherpuffer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R082 | Change of representative |
Representative=s name: MURGITROYD GERMANY PATENTANWALTSGESELLSCHAFT M, DE Representative=s name: MEWBURN ELLIS LLP, DE |
|
R082 | Change of representative |
Representative=s name: MURGITROYD GERMANY PATENTANWALTSGESELLSCHAFT M, DE |
|
R081 | Change of applicant/patentee |
Owner name: SANDISK TECHNOLOGIES, INC. (N.D.GES.D. STAATES, US Free format text: FORMER OWNER: WESTERN DIGITAL TECHNOLOGIES, INC., SAN JOSE, CA, US Owner name: SANDISK TECHNOLOGIES, INC. (N.D.GES. D. STAATE, US Free format text: FORMER OWNER: WESTERN DIGITAL TECHNOLOGIES, INC., SAN JOSE, CA, US |
|
R081 | Change of applicant/patentee |
Owner name: SANDISK TECHNOLOGIES, INC. (N.D.GES.D. STAATES, US Free format text: FORMER OWNER: SANDISK TECHNOLOGIES, INC. (N.D.GES. D. STAATES DELAWARE), MILPITAS, CA, US |