Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping
AssigneeWestern Digital Technologies, Inc.
InventorMei-Man Syu
Life of this patent
Estimating the term…
Abstract
A non-volatile semiconductor memory is disclosed comprising a memory device having a memory array including a plurality of memory segments. A plurality of sequential access write commands and random access write commands are received from a host, wherein each write command identifies at least one logical block address (LBA). The LBAs for the sequential access write commands are mapped to a plurality of the memory segments to generate sequential mapping data, and the sequential mapping data is mapped to a first one of the zones. The LBAs for the random access write commands are mapped to a plurality of the memory segments to generate random mapping data, and the random mapping data is mapped to a second one of the zones.
Claims10
A non-volatile semiconductor memory comprising:
- a memory device comprising a memory array including a plurality of memory segments;
- and
- control circuitry operable to:
- allocate a first set of the plurality of memory segments to a first zone and a second set of the plurality of memory segments to a second zone, wherein the first zone is reserved for storing sequential data and the second zone is reserved for storing random data;
- receive a plurality of sequential access write commands including sequential data from a host after said allocation of memory segments to the first zone, wherein each of the sequential access write commands identifies one or more logical block addresses (LBAs);
- receive a plurality of random access write commands including random data from the host after said allocation of memory segments to the second zone, wherein each of the random access write commands identifies one or more LBAs;
- map the LBAs identified by the sequential access write commands to one or more memory segments of the first zone to generate sequential mapping data including zone number and page number information associated with the one or more memory segments of the first zone;
- store the sequential data in the one or more memory segments of the first zone;
- allocate a third set of the plurality of memory segments to a third zone for storing sequential mapping data and store the sequential mapping data in the third zone;
- map the LBAs identified by the random access write commands to one or more memory segments of the second zone to generate random mapping data including zone number and page number information associated with the one or more memory segments of the second zone;
- store the random data in the one or more memory segments of the second zone;
- and
- allocate a fourth set of the plurality of memory segments to a fourth zone for storing random mapping data and store the random mapping data in the fourth zone.
A method of operating a non-volatile semiconductor memory comprising a memory device comprising a memory array including a plurality of memory segments, the method comprising:
- allocating a first set of the plurality of memory segments to a first zone and a second set of the plurality of memory segments to a second zone, wherein the first zone is reserved for storing sequential data and the second zone is reserved for storing random data;
- receiving a plurality of sequential access write commands including sequential data from a host after said allocating memory segments to the first zone, wherein each of the sequential access write commands identifies one or more logical block addresses (LBAs);
- receiving a plurality of random access write commands including random data from the host after said allocating memory segments to the second zone, wherein each of the random access write commands identifies one or more LBAs;
- mapping the LBAs identified by the sequential access write commands to one or more memory segments of the first zone to generate sequential mapping data including zone number and page number information associated with the one or more memory segments of the first zone;
- storing the sequential data in the one or more memory segments of the first zone;
- allocating a third set of the plurality of memory segments to a third zone for storing sequential mapping data and storing the sequential mapping data in the third zone;
- mapping the LBAs identified by the random access write commands to one or more memory segments of the second zone to generate random mapping data including zone number and page number information associated with the one or more memory segments of the second zone;
- storing the random data in the one or more memory segments of the second zone;
- and
- allocating a fourth set of the plurality of memory segments to a fourth zone for storing random mapping data and storing the random mapping data in the fourth zone.
Dependencies are inferred from the claim text.