IP Library Granted Patent US 10,261,715
Granted Patent B2
US 10,261,715 · App. 15/625,385 · Granted Apr 16, 2019

Storage space management method and apparatus

Inventors: Changliang Xue (Beijing, CN); Wenlong Huang (Shenzhen, CN); Guanyu Zhu (Shenzhen, CN); Jun Xu (Hangzhou, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
G06F3/064G06F3/0616G06F3/0679G06F17/30G06F17/30247Y02D10/45
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 10,261,715
App. No.
15/625,385
Granted
Apr 16, 2019
Kind
B2
Abstract

A storage space management method and apparatus, where the method and apparatus are applied to a non-volatile memory (NVM). In a feature set that includes M image features of M idle blocks in storage space of the NVM, an idle block whose image feature is highly similar to an image feature of data to be written into the NVM is determined such that the data is written into the idle block. In this way, wear and energy consumption problems are considered during storage space allocation, and a write operation of an idle block in storage space of an NVM can consume less energy, thereby extending a life span of the NVM and reducing write operation energy consumption.

Claims (117)

1. A storage space management method for a non-volatile memory (NVM), comprising:

obtaining an image feature of data to be written into the NVM;

calculating an image feature of each idle block of M idle blocks in a storage space of the NVM, M being a natural number, by:

traversing an idle block i in the storage space of the NVM using a preset window;

obtaining a local binary pattern (LBP) eigenvector of the idle block i (X i ), the X i =(LBP i1 , LBP i2 , . . . , LBP, iN ), the N being determined according to a size of the idle block i and a size of the preset window, the LBP in , being an LBP operator corresponding to each preset window in the idle block i, the

LBP

in

=

j

=

0

J

-

1

s

j

2

j

 the J indicating a total quantity of bits obtained after the LBP operator is converted into binary, and the s i =0 or 1; and

obtaining an image feature of the idle block i (T i ) according to the idle block X i and a ratio of 0 to 1 in the idle block i (P i ), the T i =αX i +βP i , the α and the β being weights, and α+β=1; and

identifying a first image feature that is most similar to the image feature of the data in a feature set of storage space of the NVM, M image features obtained according to the M idle blocks in the storage space of the NVM being comprised in the feature set, and a size of the each idle block in the storage space being equivalent to a size of the data; and

writing the data into an idle block having the first image feature.

2. The storage space management method of claim 1 , wherein obtaining the image feature of the data to be written into the NVM comprises:

traversing the data using the preset window;

obtaining an LBP eigenvector of the data (X), the X=(LBP 1 , LBP 2 , . . . , LBP N ), the

LBP

n

=

j

=

0

J

-

1

s

j

2

j

;

 and

obtaining the image feature of the data (T) according to the X and a ratio of 0 to 1 in data (P), the T=αX+βP.

3. The storage space management method of claim 2 , wherein the feature set comprises a plurality of B+ trees, nodes of the B+ trees comprising the M image features of the M idle blocks in the storage space of the NVM, identifying the first image feature that is most similar to the image feature of the data comprising:

identifying a first B+ tree according to an Euclidean distance from the image feature of the data to a root node of each B+ tree in B+ trees, the first B+ tree being a B+ tree with a shortest Euclidean distance in Euclidean distances from the root node of each of all the B+ trees to the image feature of the data;

calculating an Euclidean distance between the image feature of the data and each node in the first B+ tree; and

identifying that a first image feature with a shortest Euclidean distance in the Euclidean distances between the image feature of the data and all nodes in the first B+ tree is the first image feature that is most similar to the image feature of the data.

4. The storage space management method of claim 1 , further comprising marking a status of the idle block having the first image feature as ‘used’.

5. The storage space management method of claim 1 , further comprising:

obtaining an image feature of a recycled invalid data block when the invalid data block in the storage space of the NVM is recycled, the invalid data block being a data block in which stored data is in an invalid state in the storage space of the NVM; and

updating the feature set of the storage space of the NVM according to the image feature of the recycled invalid data block.

6. A storage space management apparatus, comprising:

a receiver configured to receive data to be written into a non-volatile memory (NVM);

a processor coupled to the receiver and configured to:

obtain an image feature of the data to be written into the NVM;

calculate an image feature of each idle block of M idle blocks in a storage space of the NVM, M being a natural number, by being configured to:

traverse an idle block i in the storage space of the NVM using a preset window;

obtain a local binary pattern (LBP) eigenvector of the idle block i (X i ), the X i =(LBP i1 , LBP i2 , . . . , LBP, iN ), the N being determined according to a size of the idle block i and a size of the preset window, LBP in being an LBP operator corresponding to each preset window in the idle block i, the

LBP

in

=

j

=

0

J

-

1

s

j

2

j

,

 the J indicating a total quantity of bits obtained after the LBP operator is converted into binary, and the s i =0 or 1; and

obtain an image feature of the idle block i (T i ) according to the idle block X i , and a ratio of 0 to 1 in the idle block i (P i ), the T i =αX i +βP i , the α and the β being weights, and α+β=1; and

identify a first image feature that is most similar to the image feature of the data in a feature set of storage space of the NVM, M image features obtained according to the M idle blocks in the storage space of the NVM being comprised in the feature set, a size of the each idle block in the storage space being equivalent to a size of the data; and

write the data into an idle block having the first image feature.

7. The storage space management apparatus of claim 6 , wherein the processor is further configured to:

traverse the data using the preset window;

obtain an LBP eigenvector of the data (X), the X=(LBP 1 , LBP 2 , . . . ,LBP N ), the

LBP

n

=

j

=

0

J

-

1

s

j

2

j

;

 and

obtain an image feature of the data (T) according to the X and a ratio of 0 to 1 in the data (P), the T=αX+βP.

8. The storage space management apparatus of claim 7 , wherein the feature set comprises a plurality of B+ trees, nodes of the B+ trees comprising the M image features of the M idle blocks in the storage space of the NVM, the processor being further configured to:

identify a first B+ tree according to an Euclidean distance from the image feature of the data to a root node of each B+ tree in the B+ trees, and the first B+ tree being a B+ tree with a shortest Euclidean distance in Euclidean distances from the root node of each of all the B+ trees to the image feature of the data;

calculate an Euclidean distance between the image feature of the data and each node in the first B+ tree; and

identify that a first image feature with a shortest Euclidean distance in the Euclidean distances between the image feature of the data and all nodes in the first B+ tree is the first image feature that is most similar to the image feature of the data.

9. The storage space management apparatus of claim 6 , wherein the processor is further configured to mark a status of the idle block having the first image feature as ‘used’ after the data is written into the idle block having the first image feature.

10. The storage space management apparatus of claim 6 , wherein the processor is further configured to:

obtain an image feature of a recycled invalid data block when the invalid data block in the storage space of the NVM is recycled, and the invalid data block being a data block in which stored data is in an invalid state in the storage space of the NVM; and

update the feature set of the storage space of the NVM according to the image feature of the recycled invalid data block.

11. The storage space management method of claim 1 , wherein the M idle blocks comprise an invalid data block and an area in which no data is written in the storage space of the NVM.

12. The storage space management method of claim 1 , wherein the NVM comprises at least one of a phase change memory, a resistive random access memory, or a magnetic random access memory.

13. The storage space management apparatus of claim 6 , wherein the M idle blocks comprise an invalid data block and an area in which no data is written in the storage space of the NVM.

14. The storage space management apparatus of claim 6 , wherein the NVM comprises at least one of a phase change memory, a resistive random access memory, or a magnetic random access memory.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2022
From: HUAWEI TECHNOLOGIES CO., LTD.
To: XFUSION DIGITAL TECHNOLOGIES CO., LTD.
Reel/Frame 058682/0312 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2018
From: XUE, CHANGLIANG; HUANG, WENLONG; ZHU, GUANYU; XU, JUN
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 045863/0245 →
Continuity (2)
Continuation PCTCN2014093948 · Dec 16, 2014
Related Publication 20170285956A1 · Oct 5, 2017