Memory devices and electronic systems having a hybrid cache including static and dynamic caches with single and multiple bits per cell, and related methods
First Claim
1. A memory device, comprising:
- x-level cell (XLC) blocks of non-volatile memory cells configured to be programmable with more than one bit, wherein x represents an integer greater than one;
single-level cell (SLC) blocks of non-volatile memory cells; and
a memory controller operably coupled with the XLC blocks and the SLC blocks, the memory controller configured to;
operate a hybrid cache including;
a dynamic cache including the XLC blocks of non-volatile memory cells shared between the dynamic cache and main memory; and
a static cache including the SLC blocks; and
disable at least one of the static cache or the dynamic cache so that writes to the hybrid cache are only directed to the other of the static cache or the dynamic cache based on monitoring a workload of the hybrid cache relative to a Total Bytes Written (TBW) Spec for the main memory over a durable lifetime for the memory device.
5 Assignments
0 Petitions
Accused Products
Abstract
A memory having a memory controller is configured to operate a hybrid cache including a dynamic cache including x-level cell (XLC) (e.g., multi-level cell (MLC)) blocks and a static cache including single level cell (SLC) blocks. A method of operating the memory includes storing at least a portion of host data into the SLC blocks as static cache; and storing at least another portion of host data into XLC blocks in an SLC mode as dynamic cache responsive to a burst of host data being determined to be greater than the static cache can handle. At least one of the static cache or dynamic cache may be disabled based on monitoring a workload of the hybrid cache relative to a Total Bytes Written (TBW) specification, such as by counting program-erase (PE) cycles of different portions of memory, or responsive to the workload exceeding a predetermined threshold defining one or more switch points.
51 Citations
32 Claims
-
1. A memory device, comprising:
-
x-level cell (XLC) blocks of non-volatile memory cells configured to be programmable with more than one bit, wherein x represents an integer greater than one; single-level cell (SLC) blocks of non-volatile memory cells; and a memory controller operably coupled with the XLC blocks and the SLC blocks, the memory controller configured to; operate a hybrid cache including; a dynamic cache including the XLC blocks of non-volatile memory cells shared between the dynamic cache and main memory; and a static cache including the SLC blocks; and disable at least one of the static cache or the dynamic cache so that writes to the hybrid cache are only directed to the other of the static cache or the dynamic cache based on monitoring a workload of the hybrid cache relative to a Total Bytes Written (TBW) Spec for the main memory over a durable lifetime for the memory device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A memory device, comprising:
a memory array including; single-level cell (SLC) blocks of non-volatile memory cells; and x-level cell (XLC) blocks of non-volatile memory cells, wherein x represents an integer greater than one; a memory controller operably coupled with the XLC blocks and the SLC blocks, the memory controller configured to; write host data to the SLC blocks operating as a static cache in SLC mode; write the host data to the XLC blocks operating as a dynamic cache in SLC mode if the static cache is unavailable, wherein the static cache and the dynamic cache together comprise a hybrid cache, the XLC blocks shared between the dynamic cache and main memory; and disable at least one of the static cache or the dynamic cache so that writes to the hybrid cache are only directed to the other of the static cache or the dynamic cache based on monitoring a workload of the hybrid cache relative to a Total Bytes Written (TBW) Spec for the main memory over a durable lifetime for the memory device. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
20. A method of operating a memory device having a hybrid single-level cell (SLC) cache, the method comprising:
-
receiving host data from a host; storing the host data in the hybrid SLC cache by; writing the host data in SLC blocks of a static cache if the static cache is available; writing the host data in x-level cell (XLC) blocks operating in an SLC mode as a dynamic cache if the static cache is unavailable, wherein the static cache and the dynamic cache together comprise the hybrid SLC cache, the XLC blocks shared between the dynamic cache and main memory; and disabling at least one of the static cache or the dynamic cache so that writes to the hybrid SLC cache are only directed to the other of the static cache or the dynamic cache based on a determined workload of the hybrid SLC cache relative to a Total Bytes Written (TBW) Spec for the main memory over a durable lifetime for the memory device. - View Dependent Claims (21, 22, 23, 24, 25, 26)
-
-
27. A method of operating a memory device having a hybrid single-level cell (SLC) cache, the method comprising:
-
partitioning a memory array into a first portion of SLC blocks and a second portion of x-level cell (XLC) blocks; storing at least a portion of a burst of host data into the first portion of SLC blocks as a static cache for the memory array; storing at least another portion of the burst of host data into the second portion of XLC blocks in an SLC mode as a dynamic cache for the memory array responsive to the burst being determined to be greater than the static cache can handle, wherein the hybrid SLC cache comprises the static cache and the dynamic cache; monitoring a workload of the hybrid cache; and disabling at least one of the static cache or the dynamic cache so that writes to the hybrid SLC cache are only directed to the other of the static cache or the dynamic cache responsive to the workload exceeding a predetermined threshold defining one or more switch points. - View Dependent Claims (28)
-
-
29. An electronic system, comprising:
-
a host device; and a memory device operably coupled with the host device, the memory device configured to; control writing of host data into one of a static cache, a dynamic cache, and main memory, the static cache including single-level cell (SLC) blocks of a memory array, the dynamic cache and the main memory sharing at least a portion of x-level cell (XLC) blocks of the memory array, wherein the static cache and hybrid cache together form a hybrid SLC cache; and disable at least one of the static cache or the dynamic cache from writing host data to the hybrid cache so that writes to the hybrid SLC cache are only directed to the other of the static cache or the hybrid cache responsive to a workload of the hybrid cache relative to a Total Bytes Written (TBW) Spec for the main memory over a durable lifetime for the memory device exceeding a predetermined threshold defining one or more switch points, wherein the XLC blocks include multiple bits per cell when programmed as main memory, and the XLC blocks include a single bit per cell when programmed as dynamic cache. - View Dependent Claims (30, 31, 32)
-
Specification