IP Library Granted Patent US 11,307,992
Granted Patent B2
US 11,307,992 · App. 16/164,252 · Granted Apr 19, 2022

Method and apparatus for performing operations to namespaces of a flash memory device

Inventor: Sheng-Liu Lin (Hsinchu, TW)
Assignee: SILICON MOTION, INC.
G06F12/1009G06F12/109G06F2212/1044
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,307,992
App. No.
16/164,252
Granted
Apr 19, 2022
Kind
B2
Abstract

The invention introduces a method for performing operations to namespaces of a flash memory device, at least including the steps: receiving a namespace setting-update command from a host, requesting to update a namespace size of a namespace; determining whether the updated namespace size of the namespace can be supported; and when the updated namespace size of the namespace can be supported, updating a logical-physical mapping table of the namespace to enable the namespace to store user data of the updated namespace size.

Claims (20)

1. A method for performing operations to namespaces of a flash memory device, by a processing unit of a storage device, comprising:

receiving a namespace setting-update command from a host, requesting to update a namespace size of a namespace, wherein the namespace size indicates a total number of logical blocks;

obtaining a memory address from the namespace setting-update command, wherein the memory address indicates where an updated namespace size value is stored in a random access memory (RAM) outside of the storage device;

reading the updated namespace size value from the RAM according to the memory address, wherein the RAM is disposed outside of the storage device;

determining whether an updated namespace size of the namespace can be supported; and

in response to determining the updated namespace size of the namespace can be supported, updating a logical-physical mapping table of the namespace to allow the namespace to store user data of the updated namespace size,

wherein the updated namespace size of the namespace is determined that can be supported to respond to the namespace setting-update command in response to determining the updated namespace size value of the namespace plus a summation of namespace size values of the other namespaces does not exceed a maximum quantity of logical blocks, or the difference between the updated namespace size value of the namespace and an original namespace size value of the namespace is smaller than an unallocated quantity of logical blocks.

2. The method of claim 1 , comprising:

replying to the host with an execution fail message in response to determining the updated namespace size cannot be supported.

3. The method of claim 1 , wherein the memory address points to a start address of namespace data structure and the namespace data structure comprises a field storing the updated namespace size value.

4. The method of claim 1 , wherein the updated namespace size of the namespace is greater than an original namespace size of the namespace.

5. The method of claim 1 , wherein the namespace has been attached to a controller.

6. An apparatus for performing operations to namespaces of a flash memory device, comprising:

a first random access memory (RAM) arranged to operably store a logical-physical mapping table of a namespace; and

a processing unit coupled to the first RAM, and arranged to operably receive a namespace setting-update command from a host, requesting to update a namespace size of the namespace, wherein the namespace size indicates a total number of logical blocks; obtain a memory address from the namespace setting-update command, wherein the memory address indicates where an updated namespace size value is stored in a second RAM outside of the apparatus; read the updated namespace size value from the second RAM according to the memory address, wherein the second RAM is disposed outside of the apparatus; determine whether an updated namespace size of the namespace can be supported; and when the updated namespace size of the namespace can be supported, update the logical-physical mapping table of the namespace to allow the namespace to store user data of the updated namespace size,

wherein the processing unit is arranged to operably determine that the updated namespace size of the namespace can be supported to respond to the namespace setting-update command when the updated namespace size value of the namespace plus a summation of namespace size values of the other namespaces does not exceed a maximum quantity of logical blocks, or the difference between the updated namespace size value of the namespace and an original namespace size value of the namespace is smaller than an unallocated quantity of logical blocks.

7. The apparatus of claim 6 , wherein the memory address points to a start address of namespace data structure and the namespace data structure comprises a field storing the updated namespace size value.

8. The apparatus of claim 6 , wherein the processing unit is arranged to operably reply to the host with an execution fail message when the updated namespace size cannot be supported.

9. The apparatus of claim 6 , wherein the updated namespace size of the namespace is greater than an original namespace size of the namespace.

10. The apparatus of claim 6 , wherein the namespace has been attached to a controller.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2018
From: LIN, SHENG-LIU
To: SILICON MOTION, INC.
Reel/Frame 047234/0911 →
Priority Claims (1)
CN 201810970872.9 · Aug 24, 2018 · national
Continuity (2)
Provisional Application 62688743 · Jun 22, 2018
Related Publication 20190391928A1 · Dec 26, 2019