DE112022000530T5 - Datenspeicherungsvorrichtung und Verfahren zum automatischen Schälen von Inhalten von Überwachungsvideos, um mehr Archivierungsspeicher zu schaffen - Google Patents

Datenspeicherungsvorrichtung und Verfahren zum automatischen Schälen von Inhalten von Überwachungsvideos, um mehr Archivierungsspeicher zu schaffen Download PDF

Info

Publication number
DE112022000530T5
DE112022000530T5 DE112022000530.0T DE112022000530T DE112022000530T5 DE 112022000530 T5 DE112022000530 T5 DE 112022000530T5 DE 112022000530 T DE112022000530 T DE 112022000530T DE 112022000530 T5 DE112022000530 T5 DE 112022000530T5
Authority
DE
Germany
Prior art keywords
memory
video file
storage device
data storage
video
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
DE112022000530.0T
Other languages
English (en)
Inventor
Eldhose Peter
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.)
Western Digital Technologies Inc
Original Assignee
Western Digital Technologies Inc
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 Western Digital Technologies Inc filed Critical Western Digital Technologies Inc
Publication of DE112022000530T5 publication Critical patent/DE112022000530T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/10Address translation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • H04N19/428Recompression, e.g. by spatial or temporal decimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/93Regeneration of the television signal or of selected parts thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0127Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter
    • H04N7/013Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter the incoming video signal comprising different parts having originally different frame rate, e.g. video and graphics
    • 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/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • G11B2020/00072Time or data compression or expansion the compressed signal including a video signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Bereitgestellt werden eine Datenspeicherungsvorrichtung und ein Verfahren zum automatischen Schälen von Inhalten von Überwachungsvideos, um mehr Archivierungsspeicher zu schaffen. In einer Ausführungsform wird eine Datenspeicherungsvorrichtung bereitgestellt, die einen Speicher und eine Steuerung aufweist. Die Steuerung ist konfiguriert zum Bestimmen, dass der verfügbare Speicherplatz im Speicher kleiner als ein Schwellenwert ist; als Reaktion auf das Bestimmen, dass der verfügbare Speicherplatz im Speicher kleiner als der Schwellenwert ist: Auslesen einer Videodatei aus dem Speicher; und Neucodieren der Videodatei, um eine Größe der Videodatei zu verringern, wobei das Neucodieren der Videodatei den verfügbaren Speicherplatz im Speicher erhöht, ohne die Videodatei zu löschen. Andere Ausführungsformen werden bereitgestellt.

Description

  • HINTERGRUND
  • In Videoüberwachungssystemen wird das durch eine Kamera aufgenommene digitale Video gelegentlich in einer Schleife im Speicher gespeichert, wobei das älteste zuvor aufgenommene Video gelöscht wird, um Platz zum Speichern eines neuen Videos zu schaffen. Auf diese Weise gleicht der Speicher (gelegentlich auch als Ringspeicher bezeichnet) einer First-in-First-out-Warteschlange (FIFO-Warteschlange), wobei an einem Ende des Speichers kontinuierlich neue Videodaten geschrieben werden und, sobald der Speicher seine Kapazitätsgrenze erreicht, die ältesten geschriebenen Videodaten gelöscht werden, um Platz für neue, eingehende Videodaten zu schaffen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
    • 1A ist ein Blockdiagramm einer Datenspeicherungsvorrichtung einer Ausführungsform.
    • 1 B ist ein Blockdiagramm, das ein Speicherungsmodul einer Ausführungsform veranschaulicht.
    • 1C ist ein Blockdiagramm, das ein hierarchisches Speicherungssystem einer Ausführungsform veranschaulicht.
    • 2A ist ein Blockdiagramm, das Komponenten der Steuerung der in 1A veranschaulichten Datenspeicherungsvorrichtung gemäß einer Ausführungsform veranschaulicht.
    • 2B ist ein Blockdiagramm, das Komponenten der in 1A veranschaulichten Speicherdatenspeicherungsvorrichtung gemäß einer Ausführungsform veranschaulicht.
    • 3 ist ein Blockdiagramm eines Hosts und einer Datenspeicherungsvorrichtung einer Ausführungsform.
    • 4 ist eine Videoüberwachungsspeichermatrix einer Ausführungsform.
    • 5 ist eine Veranschaulichung einer Datenspeicherungsvorrichtung einer Ausführungsform.
    • 6 ist eine Veranschaulichung der Speicherkapazität eines Speichers einer Ausführungsform.
    • 7 ist eine Veranschaulichung der Speicherkapazität eines Speichers einer Ausführungsform mit automatischem Schälen der in der Vergangenheit aufgezeichneten Inhalte nach fünf Tagen.
    • 8 ist eine Veranschaulichung der Speicherkapazität eines Speichers einer Ausführungsform mit automatischem Schälen der in der Vergangenheit aufgezeichneten Inhalte nach zehn Tagen.
    • 9 ist eine Veranschaulichung der Speicherkapazität eines Speichers einer Ausführungsform mit automatischem Schälen der in der Vergangenheit aufgezeichneten Inhalte nach fünfzehn Tagen.
    • 10 ist eine Veranschaulichung der Speicherkapazität eines Speichers einer Ausführungsform mit automatischem Schälen der in der Vergangenheit aufgezeichneten Inhalte nach zwanzig Tagen.
  • DETAILLIERTE BESCHREIBUNG
  • Überblick
  • Einleitend beziehen sich die folgenden Ausführungsformen auf eine Datenspeicherungsvorrichtung und ein Verfahren zum automatischen Schälen von Inhalten von Überwachungsvideos, um mehr Archivierungsspeicher zu schaffen. In einer Ausführungsform wird eine Datenspeicherungsvorrichtung bereitgestellt, die einen Speicher und eine Steuerung aufweist. Die Steuerung ist konfiguriert zum Bestimmen, dass der verfügbare Speicherplatz im Speicher kleiner als ein Schwellenwert ist; als Reaktion auf das Bestimmen, dass der verfügbare Speicherplatz im Speicher kleiner als der Schwellenwert ist: Auslesen einer Videodatei aus dem Speicher; und Neucodieren der Videodatei, um eine Größe der Videodatei zu verringern, wobei das Neucodieren der Videodatei den verfügbaren Speicherplatz im Speicher erhöht, ohne die Videodatei zu löschen.
  • In einigen Ausführungsformen wird die Größe der Videodatei verringert, indem die Auflösung der Videodatei herabgesetzt wird.
  • In einigen Ausführungsformen wird die Größe der Videodatei verringert, indem die Bitrate der Videodatei herabgesetzt wird.
  • In einigen Ausführungsformen wird die Größe der Videodatei verringert, indem Videobilder aus der Videodatei entfernt werden.
  • In einigen Ausführungsformen ist die Steuerung ferner konfiguriert, um die neu zu codierende Videodatei basierend darauf auszuwählen, wie lange die Videodatei in dem Speicher gespeichert war.
  • In einigen Ausführungsformen war die Videodatei länger im Speicher gespeichert als eine andere Videodatei.
  • In einigen Ausführungsformen ist die Steuerung ferner konfiguriert, um eine logisch-physische Adresszuordnung zu aktualisieren, um die neu codierte Videodatei widerzuspiegeln.
  • In einigen Ausführungsformen ist ein Abschnitt des Speichers für die Speicherung von Videodateien zugewiesen.
  • In einigen Ausführungsformen umfasst die Steuerung einen Audio/VideoCodierer/Decodierer, der konfiguriert ist, um die Videodatei neu zu codieren.
  • In einigen Ausführungsformen umfasst die Videodatei ein Überwachungsvideo.
  • In einigen Ausführungsformen weist der Speicher einen dreidimensionalen Speicher auf.
  • In einer anderen Ausführungsform wird ein Verfahren bereitgestellt, das in einem Datenspeicherungssystem durchgeführt wird, das einen Speicher umfasst. Das Verfahren umfasst: Bestimmen, dass die verfügbare Speicherkapazität in einem Abschnitt des Speichers, der für die Speicherung von Videodateien zugewiesen ist, erhöht werden muss; Auswählen einer in dem Abschnitt des Speichers gespeicherten Videodatei; und Neucodieren der Videodatei zum Verringern einer Größe der Videodatei, um die verfügbare Speicherkapazität in dem Abschnitt des Speichers zu erhöhen, ohne die Videodatei zu löschen.
  • In einigen Ausführungsformen umfasst das Neucodieren ein Herabsetzen der Auflösung der Videodatei.
  • In einigen Ausführungsformen umfasst das Neucodieren ein Herabsetzen der Bitrate der Videodatei.
  • In einigen Ausführungsformen umfasst das Neucodieren ein Entfernen von Videobildern aus der Videodatei.
  • In einigen Ausführungsformen wird die Videodatei basierend darauf ausgewählt, wie lange die Videodatei in dem Abschnitt des Speichers gespeichert war.
  • In einigen Ausführungsformen war die Videodatei länger in dem Abschnitt des Speichers gespeichert als eine andere Videodatei.
  • In einigen Ausführungsformen umfasst das Verfahren ferner das Aktualisieren einer logisch-physischen Adresszuordnung, um das Neucodieren widerzuspiegeln.
  • In einigen Ausführungsformen umfasst die Videodatei ein Überwachungsvideo.
  • In einer anderen Ausführungsform wird eine Datenspeicherungsvorrichtung bereitgestellt, umfassend: einen Speicher; ein Mittel zum Bestimmen, dass der verfügbare Speicherplatz im Speicher kleiner als ein Schwellenwert ist; ein Mittel zum Auslesen einer Videodatei aus dem Speicher; und ein Mittel zum Neucodieren der Videodatei, um die Größe der Videodatei zu verringern.
  • 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
  • Die folgenden Ausführungsformen beziehen sich auf eine Datenspeicherungsvorrichtung (DSD). Wie hierin verwendet, bezieht sich eine „Datenspeicherungsvorrichtung“ auf eine Vorrichtung, die Daten speichert. Beispiele für DSDs schließen Festplattenlaufwerke (HDDs), Festkörperlaufwerke (SSDs), Bandlaufwerke, Hybridlaufwerke usw. ein, ohne darauf beschränkt zu sein. Details zu beispielhaften DSDs werden nachstehend bereitgestellt.
  • Datenspeicherungsvorrichtungen, die zur Verwendung bei der Implementierung von Gesichtspunkten dieser Ausführungsformen geeignet sind, sind in 1A bis 1C gezeigt. 1A ist ein Blockdiagramm, das eine Datenspeicherungsvorrichtung 100 gemäß einer Ausführungsform des hierin beschriebenen Gegenstands veranschaulicht. Bezug nehmend auf 1A schließt die Datenspeicherungsvorrichtung 100 eine Steuerung 102 und einen nichtflüchtigen Speicher, der aus einem oder mehreren nichtflüchtigen Speicher-Dies 104 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 Steuerung 102 bildet mit einem Hostsystem eine Schnittstelle und überträgt Befehlssequenzen für Lese-, Programmier- und Löschvorgänge zu dem nichtflüchtigen Speicher-Die 104.
  • Die Steuerung 102 (welche eine Steuerung eines nichtflüchtigen Speichers (z. B. eines Flash-Speichers, eines resistiven Direktzugriffsspeichers (Re-RAM), eines Phasenwechselspeichers (PCM) oder eines magnetoresistiven Direktzugriffsspeichers (MRAM) sein kann)) kann zum Beispiel die Form einer Verarbeitungsschaltung, 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 einem eingebetteten Mikrocontroller ausführbar ist. Die Steuerung 102 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-Die 104 kann jede geeignete Flash-Schnittstelle wie ein Toggle-Modus 200, 400 oder 800 sein. In einer Ausführungsform kann die Datenspeicherungsvorrichtung 100 ein kartenbasiertes System, wie eine Secure Digital-Karte (SD-Karte) oder eine micro Secure Digital-Karte (Micro-SD-Karte), sein. In einer alternativen Ausführungsform kann die Datenspeicherungsvorrichtung 100 Teil einer eingebetteten Datenspeicherungsvorrichtung sein.
  • Obwohl in dem in 1A veranschaulichten Beispiel die Datenspeicherungsvorrichtung 100 (hierin manchmal als Speicherungsmodul bezeichnet) einen einzigen Kanal zwischen der Steuerung 102 und dem nichtflüchtigen Speicher-Die 104 einschließt, ist der hierin beschriebene Gegenstand nicht auf einen einzigen Speicherkanal beschränkt. Zum Beispiel können in einigen Architekturen (wie den in 1 B und 1C gezeigten) abhängig von Steuerungsfähigkeiten zwei, vier, acht 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 Speicherungsmodul 200, das eine Vielzahl von nichtflüchtigen Datenspeicherungsvorrichtungen 100 einschließt. Deshalb kann das Speicherungsmodul 200 eine Speicherungssteuerung 202 einschließen, die mit einem Host und mit der Datenspeicherungsvorrichtung 204, die eine Vielzahl von Datenspeicherungsvorrichtungen 100 einschließt, verbunden ist. Die Schnittstelle zwischen der Speicherungssteuerung 202 und den Datenspeicherungsvorrichtungen 100 kann eine Busschnittstelle, 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), sein. Das Speicherungsmodul 200 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 Speicherungssystem veranschaulicht. Ein hierarchisches Speicherungssystem 250 schließt eine Vielzahl von Speicherungssteuerungen 202 ein, von denen jede eine jeweilige Datenspeicherungsvorrichtung 204 steuert. Host-Systeme 252 können über eine Busschnittstelle auf Speicher innerhalb des Speicherungssystems 250 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 in 1C veranschaulichte System ein in Racks montierbares Massenspeicherungssystem 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 Steuerung 102 detaillierter veranschaulicht. Die Steuerung 102 schließt ein Frontend-Modul 108, das mit einem Host verbunden ist, ein Backend-Modul 110, das mit dem einen oder den mehreren nichtflüchtigen Speicher-Dies 104 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. Außerdem kann ein „Mittel“ zum Durchführen einer Funktion mit mindestens einer der hierin erwähnten Struktur für die Steuerung implementiert werden und kann reine Hardware oder eine Kombination aus Hardware und computerlesbarem Programmcode sein.
  • Unter erneuter Bezugnahme auf Module der Steuerung 102 verwaltet eine Pufferverwaltung/Bussteuerung 114 Puffer in Direktzugriffsspeicher (RAM) 116 und steuert die interne Busarbitrierung der Steuerung 102. Ein Nur-Lese-Speicher (ROM) 118 speichert Systemhochfahrcode (Boot-Code). Obwohl sie in 2A als von der Steuerung 102 getrennt angeordnet veranschaulicht sind, können in anderen Ausführungsformen einer oder beide von dem RAM 116 und dem ROM 118 innerhalb der Steuerung angeordnet sein. In noch anderen Ausführungsformen können sich Abschnitte des RAM und des ROM sowohl innerhalb der Steuerung 102 als auch außerhalb der Steuerung befinden.
  • Das Frontend-Modul 108 schließt eine Host-Schnittstelle 120 und eine Physical-Layer-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-Schnittstelle 120 kann von dem Typ des verwendeten Speichers abhängen. Beispiele für Host-Schnittstellen 120 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), PCIe und NVMe ein. Die Hostschnittstelle 120 unterstützt üblicherweise den Transfer von Daten, Steuersignalen und Taktsignalen.
  • Das Backend-Modul 110 schließt eine Fehlerkorrekturcode-Engine (ECC-Engine) 124 ein, die die vom Host empfangenen Datenbytes codiert, und die aus dem nichtflüchtigen Speicher gelesenen Datenbytes decodiert und fehlerkorrigiert. Ein Befehlssequenzer 126 erzeugt Befehlssequenzen wie Programmier- und Löschbefehlssequenzen zum Übermitteln an das nichtflüchtige Speicher-Die 104. 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 Speichervorrichtung 104 geschrieben werden. In einigen Fällen kann das RAID-Modul 128 Teil der ECC-Engine 124 sein. Eine Speicherschnittstelle 130 stellt die Befehlssequenzen für das nichtflüchtige Speicher-Die 104 bereit und empfängt Statusinformationen von dem nichtflüchtigen Speicher-Die 104. In einer Ausführungsform kann die Speicherschnittstelle 130 eine Double Data Rate-Schnittstelle (DDR-Schnittstelle), wie eine Schnittstelle für den Toggle-Modus 200, 400 oder 800 sein. Eine Flash-Steuerschicht 132 steuert den Gesamtbetrieb des Backend-Moduls 110.
  • Die Datenspeicherungsvorrichtung 100 schließt außerdem andere diskrete Komponenten 140, wie externe elektrische Schnittstellen, externen RAM, Widerstände, Kondensatoren oder andere Komponenten, die mit der Steuerung 102 verbunden sein können, ein. In alternativen Ausführungsformen sind eine oder mehrere der Bitübertragungsschicht-Schnittstelle 122, des RAID-Moduls 128, der Medienverwaltungsschicht 138 und der Pufferverwaltungs-/Bussteuerung 114 optionale Komponenten, die in der Steuerung 102 nicht notwendig sind.
  • 2B ist ein Blockdiagramm, das Komponenten des nichtflüchtigen Speicher-Dies 104 detaillierter veranschaulicht. Das nichtflüchtige Speicher-Die 104 schließt eine Peripherieschaltlogik 141 und ein Array nichtflüchtiger Speicher 142 ein. Das Array nichtflüchtiger Speicher 142 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, einschließlich ReRAM-, MRAM-, PCM-, NAND-Flash-Speicherzellen und/oder NOR-Flash-Speicherzellen in einer zweidimensionalen und/oder dreidimensionalen Konfiguration, sein. Das nichtflüchtige Speicher-Die 104 schließt weiterhin einen Datencache 156 ein, der Daten zwischenspeichert. Die Peripherieschaltung 141 schließt eine Zustandsmaschine 152, die Statusinformationen an die Steuerung 102 bereitstellt, ein.
  • Erneut Bezug nehmend auf 2A, behandelt die Flash-Steuerschicht 132 (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 Schnittstelle 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 Speicher 104. Die FTL kann benötigt werden, da der Speicher 104 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 Speichers 104, die für den Host möglicherweise nicht sichtbar sind. Dementsprechend versucht die FTL, die Schreibvorgänge vom Host in Schreibvorgänge in den Speicher 104 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“) vom Host in physische Adressen im 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 Hosts 300 und der Datenspeicherungsvorrichtung 100 einer Ausführungsform. Der Host 300 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 Host 300 in dieser Ausführungsform (hier eine Rechnervorrichtung) weist einen Prozessor 330 und einen Speicher 340 auf. In einer Ausführungsform konfiguriert in dem Host-Speicher 340 gespeicherter computerlesbarer Programmcode den Host-Prozessor 330, um die hierin beschriebenen Aktionen durchzuführen. Somit werden durch den Host 300 durchgeführte Aktionen hierin manchmal als durch eine Anwendung (computerlesbaren Programmcode), die auf dem Host 300 ausgeführt wird, durchgeführt bezeichnet.
  • Wie bereits erwähnt, wird in Videoüberwachungssystemen das durch eine Kamera aufgenommene digitale Video gelegentlich in einer Schleife im Speicher gespeichert, wobei das älteste zuvor aufgenommene Video gelöscht wird, um Platz zum Speichern eines neuen Videos zu schaffen. Die erfassten Daten werden in sequentiellen Dateien gespeichert. Sobald der zugewiesene Speicher voll ist, überschreibt die Datenspeicherungsvorrichtung die alten Daten mit neu aufgezeichneten Datensätzen in einer Schleifenaufzeichnung. Somit ist die Menge an Archivierungsspeicher durch die Menge an verfügbarem Speicher begrenzt. Dies kann vor allem dann problematisch sein, wenn das Video in High-Definition-Qualität aufgezeichnet wird, was die Menge an Archivierungsspeicher begrenzt.
  • Es gibt zwar Techniken, um zum Zeitpunkt der Aufzeichnung mehr Archivierungsspeicher zu schaffen, doch beeinträchtigen die meisten dieser Techniken die Qualität der aufgezeichneten Daten. Die Qualität der aufgezeichneten Datensätze kann allerdings zum Zeitpunkt der Wiedergabe für eine Analyse der aufgezeichneten Daten entscheidend sein. Um die erforderliche Leistung und Effizienz in jeder Sicherheitsumgebung zu gewährleisten, muss ein Videoüberwachungssystem ausreichend Speicherkapazität aufweisen, um drei grundlegende Videoparameter zu berücksichtigen: Quantität (Anzahl und Dauer der Videostreams), Qualität (Bildqualität der Videostreams, ausgedrückt durch die Bildauflösung (z. B. 1280 × 1024 Pixel) und Bilder pro Sekunde (fps)) und Archivierung (Dauer der Speicherung der Videostreams im Speicher der Datenspeicherungsvorrichtung). 4 ist ein Diagramm einer Videoüberwachungsspeichermatrix für die Moving-Picture-Experts-Group(MPEG)-4-Codierung, das die Zusammenhänge zwischen diesen Faktoren veranschaulicht.
  • Wie bereits erwähnt, kann die älteste gespeicherte Videodatei gelöscht werden, wenn der Abschnitt des Speichers 104, in dem Videodateien gespeichert sind, voll ist oder voll wird, um Platz für eine neue Videodatei zu schaffen. Es ist möglich, dass die gelöschte Videodatei später für eine Überprüfung benötigt wird. Sobald die Videodatei jedoch gelöscht ist, ist dies nicht mehr möglich. Um dieser Situation entgegenzuwirken, können die folgenden Ausführungsformen freien Platz im Speicher 104 schaffen, ohne die Datei zu löschen. Insbesondere kann in diesen Ausführungsformen die Steuerung 102 der Datenspeicherungsvorrichtung 100 die Videodatei neu codieren, um ihre Größe zu reduzieren (dieser Prozess wird hierin manchmal als „Schälen“ oder „automatisches Schälen“ bezeichnet), statt die Videodatei zu löschen. Dadurch wird Speicherplatz im Speicher 104 für eine neue Videodatei geschaffen, ohne dass die alte Videodatei gelöscht wird. Das heißt, anstatt altes aufgezeichnetes Aufnahmematerial mit neuem zu überschreiben, wird bei diesen Ausführungsformen das alte aufgezeichnete Aufnahmematerial geschält (z. B. wenn der zugewiesene Speicherplatz im Speicher 104 fast voll ist), um den Speicherplatz zum Archivieren zu vergrößern. Da die alte Videodatei noch im Speicher 104 gespeichert ist, kann sie weiterhin angeschaut werden, wenn auch in geringerer Qualität.
  • Es ist zu beachten, dass bei diesen Ausführungsformen die anfängliche Qualität des aufgezeichneten Videos nicht notwendigerweise verringert wird, da die Qualitätsverringerung später erfolgt, wenn die Videodatei automatisch geschält wird. Auf diese Weise kann die Qualität der aufgezeichneten Daten zum Zeitpunkt der Aufzeichnung auf Wunsch bis zu ihrer maximalen Qualität beibehalten werden. Mit zunehmendem Alter des Aufnahmematerials kann die Steuerung 102 der Datenspeicherungsvorrichtung 100 dieses intern decodieren und erneut mit einer geringeren Auflösung oder einer niedrigeren Bitrate codieren, um den Speicherplatz des Aufnahmematerials zu reduzieren und somit mehr Archivierungsspeicher innerhalb des verfügbaren Speicherplatzes im Speicher 104 zu schaffen. In dem Überwachungssystem kann die Wichtigkeit des aufgezeichneten Aufnahmematerials im Laufe der Zeit abnehmen. Zum Beispiel können Daten, die in den letzten drei bis vier Tagen aufgezeichnet wurden, relevanter sein als diejenigen, die vor mehr als zwanzig Tagen aufgezeichnet wurden.
  • Die folgenden Absätze stellen beispielhafte Implementierungen dieser Ausführungsformen bereit. Natürlich sind sie lediglich beispielhaft zu verstehen, und es können andere Implementierungen verwendet werden.
  • Wieder Bezug nehmend auf die Zeichnungen ist 5 ein Beispiel einer Datenspeicherungsvorrichtung 100, die in diesen Ausführungsformen verwendet werden kann. Wie in 5 gezeigt, umfasst die Steuerung 102 in diesem Beispiel ein Flash-Translation-Layer-Modul (FTL-Modul) 510, ein Modul zur logisch-physischen Adressabbildung (L2P-Adressabbildungsmodul) 520, einen Videodecoder 530, einen Videocodierer 540, einen Lesepuffer 550 und einen Schreibpuffer 560. Außerdem umfasst der Speicher 104 in diesem Beispiel eine Vielzahl von Speicherchips, und ein Abschnitt des Speichers 104 ist für die Speicherung von Videodateien zugewiesen.
  • In diesem Beispiel überwacht die Steuerung 102 den Speicher 104, um zu bestimmen, ob der verfügbare Speicherplatz in dem Speicher 104 unter einem Schwellenwert liegt. Die Steuerung 102 kann jeden geeigneten Mechanismus verwenden, um zu bestimmen, ob die verfügbare Speicherkapazität im Speicher 104 unter dem Schwellenwert liegt und erhöht werden muss. In der in 5 gezeigten Implementierung überprüft das FTL-Modul 510 in der Steuerung 102 zum Beispiel in regelmäßigen Abständen, ob der verbleibende Speicherplatz der zugewiesenen Speicherkapazität nahezu ausgeschöpft ist (Vorgang 1). Ist der verbleibende Speicherplatz geringer als der Schwellenwert, beginnt die Steuerung 102 mit dem Schälen einer der in dem Speicher 104 gespeicherten Videodateien. Dazu kann die Steuerung 102 eine Videodatei aus dem Speicher 104 auslesen (Vorgang 2), diese im Lesepuffer speichern (Vorgang 3), die Videodatei mit dem Videodecoder 530 decodieren (Vorgang 4), die Videodatei mit dem Videocodierer 540 so neu codieren, dass die Größe der Videodatei reduziert wird (Vorgang 5), die neu codierte Videodatei in den Schreibpuffer 560 schreiben (Vorgang 6) und dann die neu codierte Videodatei zurück in den Speicher 104 schreiben (Vorgang 7). Das L2P-Modul 520 kann dann eine in dem Speicher 104 gespeicherte logisch-physische Adresszuordnung aktualisieren, um die neu codierte Videodatei widerzuspiegeln (Vorgänge 8 und 9).
  • Die Steuerung 102 kann die neu zu codierende Videodatei auf jede geeignete Weise auswählen. Zum Beispiel kann die Steuerung 102 die Videodatei für das automatische Schälen basierend darauf auswählen, wie lange die Videodatei in dem Speicher 104 gespeichert war. Auf diese Weise kann eine Videodatei, die schon länger in dem Speicher 104 gespeichert ist (z. B. die älteste Videodatei), vor einer anderen Videodatei für das automatische Schälen ausgewählt werden. Bei der Auswahl können auch andere Faktoren als das Alter der Videodatei oder zusätzliche Faktoren verwendet werden. Außerdem kann die Steuerung 102 die ausgewählte Videodatei auf jede geeignete Weise neu codieren, um deren Größe zu reduzieren. Zum Beispiel kann die Steuerung 102 die Auflösung der Videodatei herabsetzen, die Bitrate der Videodatei herabsetzen und/oder Videobilder aus der Videodatei entfernen.
  • Wiederum Bezug nehmend auf die Zeichnungen veranschaulichen die 6 bis 10, wie diese Ausführungsformen mehr Archivierungsspeicher in dem Speicher 104 schaffen können. In diesem Beispiel wird ein hochauflösendes Video mit 30 Bildern pro Sekunde aufgenommen und in einem Terabyte (TB) an Speicherplatz in dem Speicher 104 abgelegt. Wie aus der Matrix in 4 hervorgeht, können in einer herkömmlichen Datenspeicherungsvorrichtung Videos in High-Definition-Qualität (HD-Qualität) (1280 x 1024) mit 30 Bildern pro Sekunde nur acht Tage lang in einem TB an Speicherplatz gespeichert werden (6). Danach beginnt der Schleifenaufzeichnungsmechanismus damit, den alten Inhalt zu überschreiben.
  • In einer herkömmlichen Datenspeicherungsvorrichtung verbraucht die Vorrichtung in fünf Tagen 640 Gigabyte (GB) an Speicherplatz, während sie Inhalte in HD-Qualität (1280 x 1024) mit 30 Bildern pro Sekunde aufnimmt, und der freie Speicherplatz beträgt 384 GB. Bei diesen Ausführungsformen führt die Steuerung 102 ein automatisches Schälen von bereits aufgezeichneten Inhalten durch, um das Löschen einer Videodatei zu vermeiden. Somit kann die Steuerung 102 ab dem nächsten Tag damit beginnen, den alten Inhalt zu schälen, um den Speicherbedarf zu reduzieren (7).
  • Nach 10 Tagen (8) kann die Steuerung 102 Daten in einer niedrigeren Auflösung (z. B. Standard-Definition(SD)-Qualität) mit den gleichen 30 Bildern pro Sekunde strippen. Dadurch wird der Speicherbedarf für die Daten der ersten fünf Tage von 640 GB auf etwa 182 GB reduziert. Die Daten der letzten fünf Tage sind immer noch in HD-Qualität erfasst. In ähnlicher Weise können nach 15 Tagen (9) die ersten fünf Tage an Daten (10. bis 15. Tag) weiter auf niedrigere 20 fps bei gleicher SD-Qualität geschält werden. Damit kann der für die ersten fünf Tage benötigte Datenspeicher von 182 GB auf 122 GB reduziert werden. Wie vorstehend beschrieben, werden die Daten des 5. bis 10. Tages auf SD-Qualität reduziert, und die Daten der letzten fünf Tage bleiben weiterhin in HD-Qualität gespeichert. Wie in 10 gezeigt, können die in den ersten fünf Tagen aufgezeichneten Daten bei gleicher SD-Qualität weiter auf niedrigere 10 fps geschält werden. Dies trägt dazu bei, den Speicherbedarf für die ersten fünf Tage von 122 GB auf nur 60 GB zu reduzieren.
  • In diesem Beispiel können in dieser Ausführungsform anstelle der Speicherung von nur acht Tagen mit Daten in HD-Qualität fünf Tage mit Daten in gleicher HD-Qualität sowie fünf Tage mit Daten in SD-Qualität mit 30 fps und weitere fünf Tage mit Inhalten in SD-Qualität mit 20 fps und weitere fünf Tage mit Daten in SD-Qualität mit 10 fps bereitgestellt werden. Somit wird die Videodatei für insgesamt 20 Tage anstatt für 8 Tage gespeichert.
  • Diese Ausführungsformen bringen zahlreiche Vorteile mit sich. Zum Beispiel können Ausführungsformen mehr Archivierungsspeicher schaffen, indem sie ältere Videodaten auf eine niedrigere Qualität schälen, anstatt sie mit neueren Daten zu überschreiben, ohne die Qualität der anfänglichen Aufzeichnung zu beeinträchtigen. Somit kann das ältere Video auch weiterhin angeschaut werden, während das Video nach und nach in eine Reihe von relevanten Bildern abgeschält wird.
  • 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 Resistive Random Access Memory („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 Magnetoresistive Random Access Memory („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 Ebene in x-z-Richtung) 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 gebildet werden. 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 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 ist und die x- und z-Richtungen im Wesentlichen parallel zu der Hauptoberfläche des Substrats verlaufen).
  • Als nicht einschränkendes Beispiel kann eine dreidimensionale Speicherstruktur vertikal als Stapel mehrerer zweidimensionaler 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 auch ein dreidimensionales Speicherarray bilden.
  • Als nicht einschränkendes Beispiel können die Speicherelemente in einem dreidimensionalen NAND-Speicher-Array miteinander gekoppelt sein, um eine NAND-Kette innerhalb einer einzelnen horizontalen (z. B. x-z-) 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 in einer NOR-Konfiguration und in einer ReRAM-Konfiguration ausgebildet 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 die einzelnen Speichervorrichtungsebenen 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.
  • Auch können wiederum 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 Schutzumfangs 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)

  1. Datenspeicherungsvorrichtung, aufweisend: einen Speicher; und eine Steuerung, die konfiguriert ist zum: Bestimmen, dass der verfügbare Speicherplatz in dem Speicher geringer als ein Schwellenwert ist; als Reaktion auf das Bestimmen, dass der verfügbare Speicherplatz in dem Speicher geringer als der Schwellenwert ist: Auslesen einer Videodatei aus dem Speicher; und Neucodieren der Videodatei, um die Größe der Videodatei zu verringern, wobei das Neucodieren der Videodatei den verfügbaren Speicherplatz in dem Speicher erhöht, ohne die Videodatei zu löschen.
  2. Datenspeicherungsvorrichtung nach Anspruch 1, wobei die Größe der Videodatei durch Herabsetzen der Auflösung der Videodatei verringert wird.
  3. Datenspeicherungsvorrichtung nach Anspruch 1, wobei die Größe der Videodatei durch Herabsetzen der Bitrate der Videodatei verringert wird.
  4. Datenspeicherungsvorrichtung nach Anspruch 1, wobei die Größe der Videodatei durch Entfernen von Videobildern aus der Videodatei verringert wird.
  5. Datenspeicherungsvorrichtung nach Anspruch 1, wobei die Steuerung ferner konfiguriert ist, um die neu zu codierende Videodatei basierend darauf auszuwählen, wie lange die Videodatei in dem Speicher gespeichert war.
  6. Datenspeicherungsvorrichtung nach Anspruch 5, wobei die Videodatei länger als eine andere Videodatei in dem Speicher gespeichert war.
  7. Datenspeicherungsvorrichtung nach Anspruch 1, wobei die Steuerung ferner konfiguriert ist, um eine logisch-physische Adressabbildung zu aktualisieren, um die neu codierte Videodatei wiederzuspiegeln.
  8. Datenspeicherungsvorrichtung nach Anspruch 1, wobei ein Abschnitt des Speichers für die Speicherung von Videodateien zugewiesen ist.
  9. Datenspeicherungsvorrichtung nach Anspruch 1, wobei die Steuerung einen Audio/VideoCodierer/Decodierer umfasst, der konfiguriert ist, um die Videodatei neu zu codieren.
  10. Datenspeicherungsvorrichtung nach Anspruch 1, wobei die Videodatei ein Überwachungsvideo umfasst.
  11. Datenspeicherungsvorrichtung nach Anspruch 1, wobei der Speicher einen dreidimensionalen Speicher umfasst.
  12. Verfahren, umfassend: Durchführen von Folgendem in einer Datenspeicherungsvorrichtung, die einen Speicher umfasst: Bestimmen, dass verfügbare Speicherkapazität in einem Abschnitt des Speichers, der für die Speicherung von Videodateien zugewiesen ist, erhöht werden muss; Auswählen einer in dem Abschnitt des Speichers gespeicherten Videodatei; und Neucodieren der Videodatei zum Verringern einer Größe der Videodatei, um die verfügbare Speicherkapazität in dem Abschnitt des Speichers zu erhöhen, ohne die Videodatei zu löschen.
  13. Verfahren nach Anspruch 12, wobei das Neucodieren Herabsetzen der Auflösung der Videodatei umfasst.
  14. Verfahren nach Anspruch 12, wobei das Neucodieren Herabsetzen einer Bitrate der Videodatei umfasst.
  15. Verfahren nach Anspruch 12, wobei das Neucodieren Entfernen von Videobildern aus der Videodatei umfasst.
  16. Verfahren nach Anspruch 12, wobei die Videodatei basierend darauf ausgewählt wird, wie lange die Videodatei in dem Abschnitt des Speichers gespeichert war.
  17. Verfahren nach Anspruch 16, wobei die Videodatei länger als eine andere Videodatei in dem Abschnitt des Speichers gespeichert war.
  18. Verfahren nach Anspruch 12, ferner umfassend Aktualisieren einer logisch-physischen Adressabbildung, um das Neucodieren widerzuspiegeln.
  19. Verfahren nach Anspruch 11, wobei die Videodatei ein Überwachungsvideo umfasst.
  20. Datenspeicherungsvorrichtung, umfassend: einen Speicher; ein Mittel zum Bestimmen, dass der verfügbare Speicherplatz im Speicher kleiner als ein Schwellenwert ist; ein Mittel zum Auslesen einer Videodatei aus dem Speicher; und ein Mittel zum Neucodieren der Videodatei, um die Größe der Videodatei zu verringern.
DE112022000530.0T 2021-06-15 2022-01-19 Datenspeicherungsvorrichtung und Verfahren zum automatischen Schälen von Inhalten von Überwachungsvideos, um mehr Archivierungsspeicher zu schaffen Pending DE112022000530T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/348,148 2021-06-15
US17/348,148 US11942111B2 (en) 2021-06-15 2021-06-15 Data storage device and method for auto-peeling of surveillance video content to increase archival storage
PCT/US2022/012860 WO2022265684A1 (en) 2021-06-15 2022-01-19 Data storage device and method for auto-peeling of surveillance video content to increase archival storage

Publications (1)

Publication Number Publication Date
DE112022000530T5 true DE112022000530T5 (de) 2023-11-23

Family

ID=84389985

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112022000530.0T Pending DE112022000530T5 (de) 2021-06-15 2022-01-19 Datenspeicherungsvorrichtung und Verfahren zum automatischen Schälen von Inhalten von Überwachungsvideos, um mehr Archivierungsspeicher zu schaffen

Country Status (4)

Country Link
US (1) US11942111B2 (de)
CN (1) CN116888582A (de)
DE (1) DE112022000530T5 (de)
WO (1) WO2022265684A1 (de)

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6782052B2 (en) 2001-03-16 2004-08-24 Sharp Laboratories Of America, Inc. Reference frame prediction and block mode prediction for fast motion searching in advanced video coding
US7787539B2 (en) 2002-07-17 2010-08-31 Broadcom Corporation Decoding and presentation time stamps for MPEG-4 advanced video coding
US20040101272A1 (en) * 2002-11-21 2004-05-27 International Business Machines Corporation Personal video recording with storage space providers
US7966642B2 (en) * 2003-09-15 2011-06-21 Nair Ajith N Resource-adaptive management of video storage
US8503541B2 (en) 2004-01-16 2013-08-06 Motorola Mobility Llc Method and apparatus for determining timing information from a bit stream
US20060133775A1 (en) * 2004-12-22 2006-06-22 Ju Chi-Cheng Method of storage medium management and video recording system and storage system thereof
US20070112826A1 (en) * 2005-11-10 2007-05-17 Vixs Systems, Inc. Multimedia transcoding based on remaining storage capacity
US8848787B2 (en) 2007-10-15 2014-09-30 Qualcomm Incorporated Enhancement layer coding for scalable video coding
US9395924B2 (en) * 2013-01-22 2016-07-19 Seagate Technology Llc Management of and region selection for writes to non-volatile memory
US10531095B2 (en) * 2015-11-17 2020-01-07 Nbcuniversal Media, Llc System and method for optimal variable bit rate packing
WO2018031562A1 (en) * 2016-08-08 2018-02-15 Netradyne Inc. Distributed video storage and search with edge computing
TWM563707U (zh) * 2017-11-16 2018-07-11 英屬開曼群島商麥迪創科技股份有限公司 行車記錄器
US11422945B2 (en) * 2020-03-20 2022-08-23 Micron Technology, Inc. Generating, maintaining, or utilizing a compressed logical-to-physical table based on sequential writes

Also Published As

Publication number Publication date
WO2022265684A1 (en) 2022-12-22
US20220399040A1 (en) 2022-12-15
CN116888582A (zh) 2023-10-13
US11942111B2 (en) 2024-03-26

Similar Documents

Publication Publication Date Title
DE102020107659A1 (de) Zonenbildung für gezonte namensräume
DE112020000184T5 (de) In zonen unterteilte namensräume in festkörperlaufwerken
DE102018105750A1 (de) System und Verfahren für Hybrid-Push-Pull-Datenmanagement in einem nichtflüchtigen Datenspeicher
DE112020005060T5 (de) Ratengrenze für den übergang von zonen zum öffnen
DE112017005955T5 (de) Speichersystem und verfahren zur schlanken speicherzuweisung
DE102017104125A1 (de) Zonen von Übersetzungstabellen von logischen in physische Datenadressen mit parallelisiertem Log-Listenreplay
DE112017005887T5 (de) Speichersystem und Verfahren zur thermischen Drosselung über eine Befehlsarbitrierung
DE102018123891A1 (de) Handhabung nichtabgestimmter Schreibvorgänge
DE112017005637T5 (de) Verfahren und System zur Schreibverstärkungsanalyse
DE112016004760T5 (de) System und Verfahren für direktes Schreiben auf einen MLC-Speicher
DE112020000139T5 (de) Nicht sequentiell in zonen aufgeteilte namensräume
DE112019005511T5 (de) Halten von schreibbefehlen in gezonten namensräumen
DE112018000230T5 (de) System und Verfahren zur spekulativen Befehlsausführung unter Verwendung des Steuerungsspeicherpuffers
DE102017114078A1 (de) Fehlerabschwächung für 3d-nand-flash-speicher
DE102021115373A1 (de) Identifizierte zonen für zonen mit optimaler paritätsteilung
DE102017128941A1 (de) Speichersystem und Verfahren zur prädiktiven Blockzuweisung zur effizienten Speicherbereinigung
DE112019000161T5 (de) Speicher-cache-verwaltung
DE112020000143T5 (de) Ssd-system, das einschaltzyklus-basierten read-scrub verwendet
DE112020004966T5 (de) Zns-parität-verschiebung nach dram
DE112020000177T5 (de) Speichersystem und verfahren zur videoeinzelbild-segregation zum optimieren der speicherung
DE112020004963T5 (de) Datenintegritätsschutz für zns-anforderungen
DE102021107436A1 (de) Speichersystem und Verfahren zum direkten Quad-Level-Cell-Programmieren (QLC-Programmieren)
DE112022000468T5 (de) Unterschiedliche schreibpriorisierung in zns-vorrichtungen
DE102021107443A1 (de) Dynamische speichersteuerung und verfahren zur verwendung damit
DE102021115500A1 (de) Hostverwaltete hardwarekomprimierung mit gezonten namensräumen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: DEHNS GERMANY PARTNERSCHAFT MBB, DE

Representative=s name: DEHNSGERMANY PARTNERSCHAFT VON PATENTANWAELTEN, DE