# US 11,907,548 B2 · Storage of video data and file system metadata

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,907,548 B2
- Document ID: US11907548B2
- Status: Granted
- Kind: B2
- Application number: 17/047,327
- Filed: 2020-07-17
- Published: 2023-04-20
- Granted: 2024-02-20
- Earliest claimed: 2020-07-17
- Assignees: Micron Technology, Inc.
- Applicants: Micron Technology, Inc.
- Inventors: Minjian Wu
- Web page: https://patentgrep.com/patent/US11907548B2

## CPC

- G06F 3/0631: {by allocating resources to storage systems}
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0673: {Single storage device}
- G06F 2212/1036: Life time enhancement
- G06F 2212/7207: management of metadata or control data
- G06F 2212/7208: Multiple device management, e.g. distributing data over multiple flash devices
- G06F 2212/7211: Wear leveling
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A memory sub-system can allocate a first portion of blocks of a memory device for storage of file system metadata based on a file system and a capacity of the memory device, write video data received from a host within a second portion of the blocks at a first data density, and write file system metadata within the first portion of the blocks at a second data density lesser than the first data density.

## Claims

### Claim 1

A method, comprising:
determining, by a memory controller of a solid state drive, a size of a first portion of a plurality of blocks of a memory device to be allocated based on a file system metadata overhead, ratio associated with a file system and the capacity of the memory device;
allocating, by the memory controller, the first portion of a plurality of blocks of the memory device for storage of file system metadata;
writing video data received from a host within a second portion of the plurality of blocks at a first data density; and
writing file system metadata within the first portion of the plurality of blocks at a second data density lesser than the first data density.

### Claim 2 (depends on 1)

The method of claim 1, wherein writing the file system metadata comprises writing the file system metadata in response to receiving data from the host with a flag indicating that the data is file system metadata; and
wherein writing the video data comprises writing the video data in response to receiving data from the host without the flag.

### Claim 3 (depends on 1)

The method of claim 1, further comprising wear leveling the second portion of the plurality of blocks separately from the first portion of the plurality of blocks.

### Claim 4 (depends on 3)

The method of claim 3, further comprising preventing reallocation of the first portion of the plurality of blocks unless the file system is reformatted.

### Claim 5 (depends on 1)

The method of claim 1, wherein allocating the first portion of the plurality of blocks for storage of file system metadata comprises allocating the first portion of the plurality of blocks during initialization of the file system.

### Claim 6 (depends on 1)

The method of claim 1, further comprising writing application metadata with the video data within the second portion of the plurality of blocks; and
operating the memory device to provide storage for a black box application executed by the host for a vehicle.

### Claim 7

A system, comprising:
a memory controller;
a host interface coupled to the memory controller;
a memory device coupled to the memory controller;
wherein the memory controller is configured to:
determine a file system used by a host;
determine a size of a portion of the memory device to be allocated based on a file system metadata overhead ratio associated with the file system and the capacity of the memory device;
allocate the portion of the memory device for storage of flagged data received via the host interface;
operate memory cells of the portion in a single-level cell mode; and
operate memory cells of a remainder of the memory device in greater than single-level cell mode for storage of non-flagged data received from the host interface;
wherein the system comprises a solid state drive.

### Claim 8 (depends on 7)

The system of claim 7, wherein the flagged data comprises file system metadata; and
wherein the non-flagged data comprises other data.

### Claim 9 (depends on 8)

The system of claim 8, wherein the memory controller is further configured to prevent blocks of the portion from being reallocated to the remainder of the memory device.

### Claim 10 (depends on 9)

The system of claim 9, wherein the memory controller is configured to prevent blocks of the portion from being reallocated to the remainder of the memory device unless the file system is reformatted.

### Claim 11 (depends on 7)

The system of claim 7, wherein the memory controller is further configured to determine the file system based on file system metadata received via the host interface.

### Claim 12 (depends on 7)

The system of claim 7, wherein the memory controller is further configured to determine the file system based on receipt of a definition of the file system via the host interface.

### Claim 13 (depends on 7)

The system of claim 7, wherein the memory controller is further configured to wear level the portion separately from the remainder.

### Claim 14 (depends on 7)

The system of claim 7, wherein the memory controller is further configured to:
write first data to the portion in response to receiving the first data via the host interface with a flag; and
write second data to the remainder in response to receiving the second data via the host interface without the flag.

### Claim 15 (depends on 7)

The system of claim 7, wherein the system comprises an automotive grade solid state drive and the memory device comprises a plurality of memory dies including flash memory cells.

### Claim 16

A non-transitory machine readable medium storing instructions executable to:
run a black box application for a vehicle;
use a memory sub-system to provide storage for the black box application;
provide a definition of a file system to the memory sub-system to allow the memory sub-system to:
determine a size of a portion of the memory sub-system to be allocated based on a file system metadata overhead ratio associated with the file system and a capacity of the memory device; and
allocate the portion of the memory sub-system for storage of flagged data received via a host interface:
provide file system metadata to the memory sub-system with a flag indicating that the file system metadata is to be written at a first data density;
receive video data from a camera associated with the vehicle; and
provide the video data to the memory sub-system without the flag indicating that the video data is to be written at a second data density greater than the first data density.

### Claim 17 (depends on 16)

The medium of claim 16, wherein the instructions are executable to:
compress the video data before providing the video data to the memory sub-system; and
provide application metadata with the video data to the memory sub-system without the flag.

### Claim 18 (depends on 16)

The medium of claim 16, wherein the instructions are executable to provide the definition of the tile system to the memory sub-system prior to providing the file system metadata and the video data to the memory sub-system.

### Claim 19 (depends on 18)

The medium of claim 18, wherein the definition of the file system includes an instruction to cause the memory sub-system to store flagged data in the portion of the memory sub-system allocated so as not to be wear leveled with a remainder of the memory sub-system.
