Method and apparatus for processing data in flash memory
AssigneeShenzhen Longsys Electronics Co., Ltd.
InventorsWenzuan Yu, Xiaoqing Liang
Life of this patent
Estimating the term…
Abstract
A method and apparatus for processing data in a flash memory are disclosed. The flash memory has a plurality of data blocks for storing data. The method comprises obtaining read modes of read operations which are performed on a data block and a number of each of the read modes, wherein the read modes comprises a sequence read mode and a random read mode, determining a read disturbance value of the data block based on the read modes and the number of each of the read modes, and performing a data move operation for the data block when the read disturbance value of the data block is above a threshold.
Claims14
A method for processing data in a flash memory, wherein the flash memory has a plurality of data blocks for storing data, the method comprising:
- obtaining read modes of read operations which are performed on a data block and a number of each of the read modes, wherein the read modes comprise a sequence read mode and a random read mode;
- determining a read disturbance value of the data block based on the read modes and the number of each of the read modes;
- and
- performing a data move operation for the data block when the read disturbance value of the data block is above a threshold;
- wherein the data block includes a plurality of data pages which are arranged in an order;
- and
- wherein the obtaining read modes of read operations which are performed on a data block and a number of each of the read modes, comprises:
- obtaining a sequence number of a currently-read data page and a sequence number of a previously-read data page, to obtain a read order of the currently-read data page, wherein the currently-read data page is a target page by a current read operation from the previously-read data page which is a target page by a previous read operation;
- determining a read mode of the currently-read data page as the sequence read mode when the read order of the currently-read data page is same to that of the previously-read data page, and recording a number of the sequence read mode continuously occurring;
- and
- determining the read mode of the currently-read data page as the random read mode when the read order of the currently-read data page is different from that of the previously-read data page, and recording a total number of the random read modes occurring;
- or
- wherein the obtaining read modes of read operation which are performed on the data block and a number of each of the read modes, comprises:
- obtaining a sequence number of a currently-read data page and a sequence number of a previously-read data page, to obtain a read order of the currently-read data page, wherein the currently-read data page is a target page by a current read operation from the previously-read data page which is a target page by a previous read operation;
- determining a read mode of the currently-read data page as the sequence read mode when the read order of the currently-read data page is same to that of the previously-read data page, and recording a total number of the sequence read modes occurring;
- and
- determining the read mode of the currently-read data page as the random read mode when the read order of the currently-read data page is different from that of the previously-read data page, and recording a total number of the random read modes occurring.
An apparatus for processing data in a flash memory, wherein the flash memory has a plurality of data blocks for data storage, and the apparatus comprises a processor configured to:
- obtain read modes of read operations which are performed on a data block and a number of each of the read modes, wherein the read modes comprise a sequence read mode and a random read mode;
- determine a read disturbance value of the data block based on the read modes and the number of each of the read modes;
- and
- perform a data move operation for the data block when the read disturbance value of the data block is above a threshold;
- wherein the data block includes a plurality of data pages which are arranged in an order;
- and
- the processor is further configured to:
- obtain a sequence number of a currently-read data page and a sequence number of a previously-read data page, to obtain a read order of the currently-read data page, wherein the currently-read data page is a target page by a current read operation from the previously-read data page which is a target page by a previous read operation;
- determine a read mode of the currently-read data page as the sequence read mode when the read order of the currently-read data page is same to that of the previously-read data page, and record a number of the sequence read mode continuously occurring;
- and
- determine the read mode of the currently-read data page as the random read mode when the read order of the currently-read data page is different from that of the previously-read data page, and record a total number of the random read mode occurring;
- or
- wherein the processor is further configured to:
- obtain a sequence number of a currently-read data page and a sequence number of a previously-read data page, to obtain a read order of the currently-read data page, wherein the currently-read data page is a target page by a current read operation from the previously-read data page which is a target page by a previous read operation;
- determine a read mode of the currently-read data page as the sequence read mode when the read order of the currently-read data page is same to that of the previously-read data page, and record a total number of the sequence read modes occurring;
- and
- determine the read mode of the currently-read data page as the random read mode when the read order of the currently-read data page is different from that of the previously-read data page, and record a total number of the random read modes occurring.
A non-transitory computer readable medium storing computer programs which, when executed by a processor, cause the processor to perform a method for processing data in a flash memory having a plurality of data blocks for data storage, the method comprising:
- obtaining read modes of read operations which are performed on a data block and a number of each of the read modes, wherein the read modes comprises a sequence read mode and a random read mode;
- determining a read disturbance value of the data block based on the read modes and the number of each of the read modes;
- and
- performing a data move operation for the data block when the read disturbance value of the data block is above a threshold;
- wherein the data block includes a plurality of data pages which are arranged in an order;
- and
- wherein the obtaining read modes of read operations which are performed on a data block and a number of each of the read modes, comprises:
- obtaining a sequence number of a currently-read data page and a sequence number of a previously-read data page, to obtain a read order of the currently-read data page, wherein the currently-read data page is a target page by a current read operation from the previously-read data page which is a target page by a previous read operation;
- determining a read mode of the currently-read data page as the sequence read mode when the read order of the currently-read data page is same to that of the previously-read data page, and recording a number of the sequence read mode continuously occurring;
- and
- determining the read mode of the currently-read data page as the random read mode when the read order of the currently-read data page is different from that of the previously-read data page, and recording a total number of the random read modes occurring;
- or
- wherein the obtaining read modes of read operation which are performed on the data block and a number of each of the read modes, comprises:
- obtaining a sequence number of a currently-read data page and a sequence number of a previously-read data page, to obtain a read order of the currently-read data page, wherein the currently-read data page is a target page by a current read operation from the previously-read data page which is a target page by a previous read operation;
- determining a read mode of the currently-read data page as the sequence read mode when the read order of the currently-read data page is same to that of the previously-read data page, and recording a total number of the sequence read modes occurring;
- and
- determining the read mode of the currently-read data page as the random read mode when the read order of the currently-read data page is different from that of the previously-read data page, and recording a total number of the random read modes occurring.
Dependencies are inferred from the claim text.