CN108694129B - Method for determining last writing position in storage area of Flash memory - Google Patents

Method for determining last writing position in storage area of Flash memory Download PDF

Info

Publication number
CN108694129B
CN108694129B CN201810239262.1A CN201810239262A CN108694129B CN 108694129 B CN108694129 B CN 108694129B CN 201810239262 A CN201810239262 A CN 201810239262A CN 108694129 B CN108694129 B CN 108694129B
Authority
CN
China
Prior art keywords
storage area
location
search section
last
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810239262.1A
Other languages
Chinese (zh)
Other versions
CN108694129A (en
Inventor
张英舟
张琪
高欣
张占鹏
雷刚
于吉祥
林迪
曹光杰
许佳佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honeywell Environmental and Combustion Controls Tianjin Co Ltd
Original Assignee
Honeywell Environmental and Combustion Controls Tianjin Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell Environmental and Combustion Controls Tianjin Co Ltd filed Critical Honeywell Environmental and Combustion Controls Tianjin Co Ltd
Priority to CN201810239262.1A priority Critical patent/CN108694129B/en
Publication of CN108694129A publication Critical patent/CN108694129A/en
Application granted granted Critical
Publication of CN108694129B publication Critical patent/CN108694129B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The invention relates to a method for determining the last written position in a storage area of a Flash memory, which comprises the following steps: setting a first position and a second position of a storage area, and planning the storage area into a plurality of search sections; and sequentially checking the writable state of at least one position in each search section by respectively adopting different traversal methods to determine the final written position. The method can promote the operations of storing, searching and deleting data, and can help to prolong the service life of the Flash memory.

Description

Method for determining last writing position in storage area of Flash memory
Technical Field
The invention relates to the technical field of Flash memories, in particular to a method for determining the last written-in position in a storage area of a Flash memory.
Background
The Flash memory is a commonly used large-capacity data storage chip, and the internal space takes a sector as a storage unit and takes bytes as a writing unit. Data erasure cannot be performed by a single byte, the number of erasure is limited, and the service life of the data erasure is reduced due to too frequent erasure. In addition, Flash has no data index structure. The conventional Flash memory writing method is to write a sector completely and then erase and rewrite, and according to the mode, a large amount of data is frequently stored for a long time, so that the memory is greatly abraded, and the service life is shortened.
In the prior art, it is also possible to use a special sector space to maintain an index data structure, but this not only consumes limited space resources, but also the sector needs to be subjected to frequent erasing, resulting in severe local wear.
Therefore, it is an objective of those skilled in the art to effectively save a certain amount of data records in the storage area, while considering the service life of the Flash memory and the convenience of data access.
Disclosure of Invention
It is an object of the present invention to provide a method for determining a last write location in a storage area, which can facilitate efficient reading and writing of a Flash memory and help overcome the drawbacks of the prior art.
In order to achieve the above purpose, the invention provides a technical scheme as follows:
a method for determining the last written position in a storage area of a Flash memory comprises the following steps: a) setting a first position and a second position of a storage area, and planning the storage area into a plurality of search sections; b) and sequentially checking the writable state of at least one position in each search section by respectively adopting different traversal methods to determine the final written position.
Preferably, the traversal method comprises: traversing in sequence; traversing in a reverse order; and, a bisection traversal.
Preferably, step b) specifically comprises: b1) checking the writable state of the first position, and if the first position is in the writable state, searching the last written position in the first search section; the first search section is located between the initial position and the first position of the storage area; b2) checking the writable state of the second position, and searching the last written position in the second search section if the second position is in the non-writable state; wherein the second search section is located between the second location and the end location of the storage area; and b3), finding the last written position in the third search section; wherein the third search section is located between the first location and the second location.
It is another object of the present invention to provide a method of writing data efficiently.
In order to achieve the above purpose, the invention provides a technical scheme as follows:
a method of writing new data in a Flash memory, comprising: step one, planning a plurality of storage areas in a Flash memory; step two, determining one of the storage areas as a currently operated storage area; step three, searching the last writing position in the currently operated storage area by using the method for determining the last writing position in the storage area; and step four, based on the last written position of the memory area which is determined to be operated currently, new data is cyclically written in different memory areas.
It is a further object of the invention to provide a method for efficiently finding data items in a storage area that facilitates reducing wear on Flash memory.
In order to achieve the above object, the present invention further provides a technical solution as follows:
a method of looking up data items in a storage area of a Flash memory, comprising: a) setting a first position and a second position of a storage area, and planning the storage area into a plurality of search sections; b) and searching in each search section in sequence by adopting different traversal methods respectively to determine whether the data item is stored in the search section.
The invention also discloses a method for deleting data from the storage area of the Flash memory, which comprises the following steps: a) determining the last writing position of the storage area according to the method for determining the last writing position in the storage area; b) searching a first data item to be deleted in the data to be deleted in the storage area based on the storage sequence relation corresponding to each storage position in the storage area from the last writing position to determine a first deleting position; the first data item to be deleted is any one of at least one data item to be deleted contained in the data to be deleted; and c) based on the entry of at least one data item to be deleted, respectively adding a deletion mark to each data item to be deleted before and/or after the first deletion position in the storage precedence relationship.
The embodiments of the present invention respectively provide a method for writing data in a memory/storage area, a method for searching for a data item, and a method for deleting data, which can not only promote efficient storage and positioning of data, or operations of searching, modifying, and deleting, but also can help to prolong the service life of a Flash memory.
Drawings
FIG. 1 is a flow diagram illustrating a process for finding a last written location in a currently operating storage area using bisection according to an embodiment of the present invention.
Fig. 2 is a flowchart illustrating a method for searching a data item in a storage area of a Flash memory according to an embodiment of the present invention.
Fig. 3 shows a schematic diagram of storage locations in a storage area of a Flash memory according to an embodiment of the present invention.
Detailed Description
In the following description specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that embodiments of the invention may be practiced without these specific details. In the present invention, specific numerical references such as "first element", "second device", and the like may be made. However, specific numerical references should not be construed as necessarily subject to their literal order, but rather construed as "first element" as opposed to "second element".
The specific details set forth herein are merely exemplary and may be varied while remaining within the spirit and scope of the invention. The term "coupled" is defined to mean either directly connected to a component or indirectly connected to the component via another component.
Preferred embodiments of methods, systems and devices suitable for implementing the present invention are described below with reference to the accompanying drawings. Although embodiments are described with respect to a single combination of elements, it is to be understood that the invention includes all possible combinations of the disclosed elements. Thus, if one embodiment includes elements A, B and C, while a second embodiment includes elements B and D, the invention should also be considered to include A, B, C or the other remaining combinations of D, even if not explicitly disclosed.
It should be noted that, according to embodiments of the present invention, the memory may include one or more storage areas, each storage area may have the same or different storage capacity, and the method for writing data provided by the present invention may be applied to any one of the storage areas. The term "location" in the present invention can be understood as a physical location, a mapped location, and a logical location.
A first embodiment of the present invention provides a method for determining a last write position in a storage area of a Flash memory, which includes the following steps.
Step one, setting a first position and a second position of a storage area, and further planning the storage into a plurality of search sections.
And step two, sequentially checking the writable state of at least one position in each search section by respectively adopting different traversal methods to determine the final written position.
As an example, in step one, a first search section is determined between a start position and a first position of the storage area, a second search section is determined between a second position and an end position of the storage area, and a third search section is determined between the first position and the second position. As a more preferred embodiment, the first location is located at 25% of the storage area (the storage capacity between the starting location and the first location is 25% of the total storage capacity), and the second location is located at 75% of the storage area (the storage capacity between the starting location and the second location is 75% of the total storage capacity).
As an example, in the first stage of step two, the writable state of the first location is checked first, and if it is the writable state (the last written location is located before the first location), which means that the first search area is not full, the last written location is searched for in the first search area; if it is in the non-writable state, which means that the first search field is full, a second stage check is performed.
In the second stage of the second step, checking the writable state of the second location, and if the second location is in the non-writable state (the second location is fully written before, and the last written location should be behind the second location), which indicates that the second search area may not be fully written, searching the last written location in the second search area; if the second location is writable (the last writing location is before the second location), which means that the third search area may not be full, then the third stage check is performed.
In the third stage of step two, the last written location is found in the third search area.
As an improvement to the first embodiment, in the second step, a sequential traversal method or a reverse traversal method is used to find the last position in the first and second search sections, and a binary traversal method is used to find the last position in the third search section. The search method combining dichotomy and sequential (reverse order) traversal can avoid the limitation of dichotomy and promote efficient reading and writing of the Flash memory (and the storage area therein).
A second embodiment of the present invention provides a method for writing data in a Flash memory, which includes the following steps.
Step one, planning a plurality of storage areas, such as a first storage area and a second storage area, in a Flash memory.
And step two, determining one of the plurality of storage areas as the currently operated storage area.
In particular, in implementation, the storage area may include a flag 1 and a flag 2. Flag 1 can be used to indicate the currently operating memory area and flag 2 can be used to indicate whether the memory area is full. The first storage area may be defaulted to be the currently operating storage area and the second storage area as the spare storage area.
If the flag 1 of the first storage area indicates that the first storage area is the currently operated storage area and the flag 2 indicates that the first storage area is not full, data needs to be written into the first storage area, and the first storage area is still the currently operated storage area; if flag 2 indicates that the first storage area is full, data needs to be written to the second storage area, which should be set as the currently operating storage area. Similarly, if flag 1 of the second storage area indicates that it is the currently operating storage area and flag 2 indicates that it is not full, then data is written to the second storage area (still as the currently operating storage area); if the flag 2 indicates that the second storage area is full, data should be written to the first storage area (changing the first storage area to the currently operating storage area). When the first and second memory areas are full, the first memory area can be selected to be erased and reset as the currently operated memory area for writing new data.
And step three, searching the last writing position in the currently operated storage area by using the method for determining the last writing position provided by the first embodiment.
And step four, circularly writing new data among different storage areas based on the determined last writing position of the currently operated storage area.
According to another improved embodiment of the present invention, the searching for the last written location in the currently operated memory area using dichotomy in step three may be performed as follows, as shown in fig. 1.
Step S10, checking the writable state of the first position in the currently operated storage area (hereinafter, the storage area will be understood as the currently operated storage area unless otherwise specified); if it is in a writable state (e.g., the state flag is blank or writable), the last writing position of the storage area is searched between the starting position and the first position of the storage area, and the process proceeds to step S140 (not shown in the drawing for simplicity).
Taking Flash memory capacity of 8M as an example, the first position is initially arranged in a first storage section, and the first storage section is a part between 22.5% and 27.5% of the storage area; for example, the first position is located at 25% of the storage area.
Since the data in the storage area of the Flash memory is stored in a circular manner, if the first position is in the writable state, it means that the last written position of the storage area is located between the initial position and the first position of the storage area (hereinafter, this storage area is referred to as a first search area), as shown in fig. 3. At this time, a lookup is made in the first search section to obtain the last written position of the storage area. Once the last written location is obtained, step four may be entered to write new data.
The searching for the last writing position in the first search section may be implemented in the following specific manner: and traversing the first search section position by position until the last writing position of the Flash memory is determined.
Step S11, checking a writable state of a second position in the storage area; if the state is not writable, the last writing position is searched between the second position and the end position of the storage area.
The second position is initially arranged in a second storage section, the capacity of the Flash memory is taken as 8M as an example, and the second storage section is a part between 72.5% and 77.5% of the storage area; for example, the second position is located at 75% of the storage area.
Specifically, if it is determined in step S10 that the first position is in the unwritable state, this indicates that the last written position is located after the first position, which includes two cases, namely: the last written location is located between the second location and the end location of the storage area (this section of the storage area is hereinafter labeled as the second search section), or the last written location is located between the first location and the second location of the storage area.
In this step S11, it is determined whether the last written position is located within the second search section. Specifically, because the data in the Flash memory is stored in a cyclic manner, if the second location is in the non-writable state, it indicates that the last written location is located in the second search section. At this time, the last writing position of the storage area may be found in the second search section, for example, by way of traversal, and then new data is written starting from the next position next to the last writing position. In contrast, if the second position is in the writable state, it indicates that the last writing position is located between the first position and the second position, and then, to finally determine the last writing position, the following step S12 is performed.
Step S12, it is checked whether a third position between the first position and the second position is the last written position.
In particular, the third position is preferably an intermediate position between the first position and the second position. For example, the number of the first position and the number of the second position are averaged or a mathematical intermediate value is calculated, and the average or intermediate value is rounded and then used as the number of the third position.
The intermediate position is taken to accelerate the search of the final writing position, and the idea is derived from the dichotomy search in mathematics, and the search efficiency is obviously superior to that of a traversal search mode.
In step S12, if the third position is the last writing position, the process proceeds to step four to write new data; otherwise, the following steps S130-S131 are performed (S132).
Step S130, determining whether the third position is writable.
This step is carried over to the determination in step S12 that the third position is not the last written position, in which case an iterative process will be initiated according to the idea of a mathematical dichotomy search. The following step S131 (S132) resets the parameters used for the iteration, and S131 and S132 are alternatively executed steps.
Specifically, if the third position is writable, which means that the last writing position is located in the third search area (between the first position and the third position), as shown in fig. 3, step S131 is selected and executed, and the third position is used as the second position for performing the binary search in the third search area.
On the contrary, if the third position is in the unwritable state, which means that the last written position is located in the fourth search section (between the third position and the fourth position), as shown in fig. 3, step S132 is selectively executed, and the third position is used as the first position for performing the binary search in the fourth search section.
After step S131 (S132), an iteration step is performed (may be performed any number of times): the steps S12, S130-S131 (S132) are repeatedly performed until the third position is determined to be the last writing position. The iteration steps are only shown in fig. 1 with a return arrow (pointing at the entrance to step S12).
According to another improved embodiment of the invention, new data is written in step four, starting at a location next to the last written location of the currently operated memory area.
Specifically, if the last written position is not the end position of the currently operated memory area, the next position is the next position that is positionally next to the last written position in the currently operated memory area; if the last writing position is the termination position of the currently operated storage area, the next position is: a first location of a blank storage area; or, a location next to the last written location of another storage area; or, a first location of another storage area.
Furthermore, in step four, when writing new data, if the written portion of the new data reaches the end position of the currently operated memory area, the unwritten portion of the new data is written from the following positions: a first location of a blank storage area; or, a location next to the last written location of another storage area; or, a first location of another storage area.
It is to be understood that, in order to realize the cyclic storage mode of the Flash memory, if the written portion of the new data reaches the end position of the currently operating storage area (e.g., the first storage area) and the new data is not yet written, the not-yet-written portion of the new data is written from the start position of another storage area (the second storage area).
After finding the appropriate write location (the next location to the last write location), the parity bits may be written along with the new data. After the data is written, reading the data and comparing the data with the original data; if so, the write is successful. And after success, writing a success mark on the post-data recording position. If not, indicating a write failure, then the data may be rewritten at a location next to the current write location.
According to the first embodiment, by realizing the ordered storage of the data, the read-write frequency of the Flash memory can be reduced, so that the data can be conveniently accessed, and the abrasion of the Flash memory can be reduced.
A third embodiment of the present invention provides a method for searching a specific data item in a storage area of a Flash memory, which includes the following steps.
Step one, setting a first position and a second position of a storage area, and planning the storage area into a plurality of search sections.
And step two, searching in each search section in sequence by adopting different traversal methods respectively to determine whether the data item to be searched is stored in the search section. The traversal method comprises sequential traversal, reverse-order traversal and dichotomy traversal.
As an improved implementation of the third embodiment described above, a more specific implementation procedure is provided below. As shown in fig. 2.
Step S20, the particular data item is looked up between the starting location and the first location of the storage area.
Specifically, if the data item is found in the first search section (as shown in FIG. 3), the method ends. In the searching process, a traversal method can be adopted.
Step S21 looks up the particular data item between the second location and the termination location of the storage area.
Specifically, if the data item is found in the second search section (as shown in FIG. 3), the method ends. Furthermore, it is understood that the steps S20 and S21 may be executed in reverse order or in parallel, which does not affect the technical effect of the present invention, and thus the steps are within the scope of the present invention.
Step S22, it is checked whether a data item is stored at a third position between the first position and the second position.
Specifically, if the third location is found to store the specific data item, the search is ended. If not, the iterative search is carried out according to the thought of the dichotomy search so as to accelerate the whole search process.
Preferably, the third position is an intermediate position between the first position and the second position, and the number of the intermediate position can be obtained by rounding the average or the intermediate value of the numbers (the numbers of the first position and the second position).
And step S230, respectively determining the precedence relationship between the storage marks of the data items and the storage marks stored in the first position, the second position and the third position.
As described above, because the data in the Flash memory is stored in a cyclic manner, the data item stored at each storage location may further include a storage flag, which can indicate the sequence relationship of the data item stored in the Flash memory, or the storage time, or embody a storage completion flag. Therefore, by comparing the storage marks contained in the first storage position and the second storage position with the storage mark of the searched specific data item respectively, the specific position of the specific data item in the Flash memory can be determined more quickly.
According to the precedence determined in step S230, one of the following steps S231 and S232 is selected to be executed.
If the storage flag of the specific data item is after the storage flag included in the first position and before the storage flag included in the third position (hereinafter referred to as a first relationship), step S231 is selectively executed: and taking the third position as the second position. The first relationship can indicate that a particular data item is located between the first location and the third location according to the chronological relationship in which the location data items are stored, at which time a binary search will be performed in a third search field (as shown in fig. 3).
If the storage flag of the specific data item is before the storage flag included in the second position and after the storage flag included in the third position (hereinafter referred to as a second relationship), step S232 is selectively executed: and taking the third position as the second position. The second relationship indicates that the particular data item is located between the third location and the second location, at which time a binary search will be performed in a fourth search section (as shown in FIG. 3).
In the iteration step (shown by the reentrant arrow at the entry to step 22 in fig. 2), steps S22, S230-S231 (S232) will be repeatedly executed until it is finally determined that the third location stores the particular data item to be searched.
According to the second embodiment, the specific data item can be quickly positioned or searched in the Flash memory, and the read-write frequency of the Flash memory is reduced, so that the service life of the Flash memory is prolonged.
A fourth embodiment of the present invention provides a method (not shown in the drawings) of deleting data from a storage area of a Flash memory, the method including the following steps.
Step S40, the last writing position of the storage area is determined.
In order to determine the last writing position, the method provided in the first embodiment may be directly adopted.
And step S41, searching a first data item to be deleted in the data to be deleted in the storage area based on the storage sequence relation corresponding to each storage position in the storage area from the last writing position so as to determine a first deleting position.
The first data item to be deleted is any one of at least one data item to be deleted contained in the data to be deleted.
And step S42, based on the item of at least one data item to be deleted, adding deletion marks to the data items to be deleted which are positioned at the first deletion position first and/or later in the storage precedence relationship.
According to the fourth embodiment, since the data items in the storage area are stored in the storage area in the storage precedence order relationship, based on the entry of the data to be deleted, the positions of other data items to be deleted can be quickly determined from the first deletion position forward or backward (or simultaneously forward and backward), and then the deletion action is performed (the deletion marks are added to the respective data items to be deleted).
In the subsequent steps, with the sector in the Flash memory as a unit, after each data item in the sector is added with a deletion mark, the erasing operation can be executed on the whole sector.
The above description is only for the preferred embodiment of the present invention and is not intended to limit the scope of the present invention. Various modifications may be made by those skilled in the art without departing from the spirit of the invention and the appended claims.

Claims (14)

1. A method for determining the last written position in a storage area of a Flash memory comprises the following steps:
a) setting a first position and a second position of the storage area, and planning the storage area into a plurality of search sections;
b) sequentially checking the writable state of at least one position in each search section by respectively adopting different traversal methods to determine the final writing position,
wherein step b) comprises:
b1) checking the writable state of the first position, and if the first position is in the writable state, searching the last written position in a first search section; wherein the first search section is located between a start position of the storage area and the first position;
b2) checking the writable state of the second position, and searching the last written position in a second search section if the second position is in the non-writable state; wherein the second search section is located between the second location and an end location of the storage area; and
b3) searching the last writing position in a third searching section; wherein the third search section is located between the first location and the second location.
2. The method of claim 1, wherein the traversal method comprises:
traversing in sequence; traversing in a reverse order; and, a bisection traversal.
3. The method of claim 1, wherein a sequential or reverse order traversal method is used to find the last written location in the first search section and the second search section, and a binary traversal method is used to find the last written location in the third search section.
4. The method of any one of claims 1 to 3, wherein the location comprises:
a physical location; mapping the position; and, a logical location.
5. A method of writing new data in a Flash memory, comprising:
step one, planning a plurality of storage areas in the Flash memory;
step two, determining one of the storage areas as a currently operated storage area;
step three, searching the last writing position in the current operation storage area by using the method of any one of claims 1 to 4; and
and step four, based on the last writing position of the currently operated storage area, cyclically writing new data in different storage areas.
6. The method of claim 5, wherein step four comprises:
writing new data at a position next to the last written position of the currently operated memory area;
wherein if the last writing position is not the end position of the currently operated storage area, the next position is a position next to the last writing position in the currently operated storage area;
if the last writing position is the termination position of the currently operated storage area, the next position is:
(1) a first location of said memory area that is empty;
(2) next to the last written location of another one of said storage areas; or
(3) A first location of another of said storage areas.
7. The method according to claim 5, characterized in that in step four:
if the written part of the new data reaches the end position of the currently operated storage area, writing the unwritten part of the new data from the following positions:
(1) a first location of said memory area that is empty;
(2) next to the last written location of another one of said storage areas; or
(3) A first location of another of said storage areas.
8. A method of looking up data items in a storage area of a Flash memory, comprising:
a) setting a first position and a second position of the storage area, and planning the storage area into a plurality of search sections;
b) searching in each search section in sequence by adopting different traversal methods respectively to determine whether the data item is stored in the search section,
wherein step b) comprises:
b1) searching the data item in a first search section; wherein the first search section is located between a start position of the storage area and the first position;
b2) searching the data item in a second searching section; wherein the second search section is located between the second location and an end location of the storage area; and
b3) searching the data item in a third search section; wherein the third search section is located between the first location and the second location.
9. The method of claim 8, wherein the traversal method comprises:
traversing in sequence; traversing in a reverse order; and, a bisection traversal.
10. The method of claim 8, wherein the data item is located in the first search section and the second search section using a sequential traversal method or a reverse traversal method, and wherein the data item is located in the third search section using a binary traversal method.
11. The method of any one of claims 8 to 10, wherein the location comprises:
a physical location; mapping the position; and, a logical location.
12. A method of deleting data from a storage area of a Flash memory, comprising:
a) determining a last write location of the storage area according to the method of any of claims 1-4;
b) searching a first data item to be deleted in the data to be deleted in the storage area based on the storage sequence relation corresponding to each storage position in the storage area from the last writing position to determine a first deleting position; the first data item to be deleted is any one of at least one data item to be deleted contained in the data to be deleted; and
c) and respectively adding a deletion mark to each data item to be deleted before and/or after the first deletion position in the storage precedence relationship based on the entry of the at least one data item to be deleted.
13. A machine-readable storage medium having computer-executable instructions stored thereon, which when executed by a processor implement the method of any of claims 1 to 4, or any of claims 5 to 7, or any of claims 8 to 11, or claim 12.
14. A computer control system, characterized in that it executes the steps of the method of any one of claims 1 to 4, or of any one of claims 5 to 7, or of any one of claims 8 to 11, or of claim 12, when implementing computer executable instructions stored in a memory.
CN201810239262.1A 2018-03-22 2018-03-22 Method for determining last writing position in storage area of Flash memory Active CN108694129B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810239262.1A CN108694129B (en) 2018-03-22 2018-03-22 Method for determining last writing position in storage area of Flash memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810239262.1A CN108694129B (en) 2018-03-22 2018-03-22 Method for determining last writing position in storage area of Flash memory

Publications (2)

Publication Number Publication Date
CN108694129A CN108694129A (en) 2018-10-23
CN108694129B true CN108694129B (en) 2021-06-22

Family

ID=63844253

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810239262.1A Active CN108694129B (en) 2018-03-22 2018-03-22 Method for determining last writing position in storage area of Flash memory

Country Status (1)

Country Link
CN (1) CN108694129B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109933542A (en) * 2019-02-27 2019-06-25 记忆科技(深圳)有限公司 Based on solid state hard disk AES key dynamic management approach and device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1627272A (en) * 2003-12-10 2005-06-15 上海贝豪通讯电子有限公司 Method for managing files in flash memory of mobile terminal
CN103294615A (en) * 2012-02-24 2013-09-11 北京四达时代软件技术股份有限公司 Method for storing user information of set top box
CN103729303A (en) * 2014-01-20 2014-04-16 飞天诚信科技股份有限公司 Data writing and data reading methods of Flash
CN104794065A (en) * 2015-05-04 2015-07-22 常州工学院 Multi-group fixed length data circulation access method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006059626A1 (en) * 2006-12-14 2008-06-19 Robert Bosch Gmbh Method for reading data from a storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1627272A (en) * 2003-12-10 2005-06-15 上海贝豪通讯电子有限公司 Method for managing files in flash memory of mobile terminal
CN103294615A (en) * 2012-02-24 2013-09-11 北京四达时代软件技术股份有限公司 Method for storing user information of set top box
CN103729303A (en) * 2014-01-20 2014-04-16 飞天诚信科技股份有限公司 Data writing and data reading methods of Flash
CN104794065A (en) * 2015-05-04 2015-07-22 常州工学院 Multi-group fixed length data circulation access method

Also Published As

Publication number Publication date
CN108694129A (en) 2018-10-23

Similar Documents

Publication Publication Date Title
US10783071B2 (en) Data storage device and operating method thereof, wherein mapping table for valid data of source block that has not been copied to destination block has a higher priority than mapping information collected by reverse scanning from end of the destination block
US11100071B2 (en) Key-value store tree data block spill with compaction
US6865658B2 (en) Nonvolatile data management system using data segments and link information
US7882300B2 (en) Apparatus and method for managing nonvolatile memory
US7702844B2 (en) Address mapping method and mapping information managing method for flash memory, and flash memory using the same
US6711663B2 (en) Algorithm of flash memory capable of quickly building table and preventing improper operation and control system thereof
US9229644B2 (en) Targeted copy of data relocation
KR100644602B1 (en) Method for driving remapping for flash memory and flash memory architecture thereto
US8478796B2 (en) Uncorrectable error handling schemes for non-volatile memories
US9213627B2 (en) Non-volatile memory with block erasable locations
US20060168392A1 (en) Flash memory file system
KR100809319B1 (en) Apparatus and method for providing atomicity request of multiple sector write in flash memory
US20050216687A1 (en) Data managing method and data access system for storing all management data in management bank of non-volatile memory
KR20140006234A (en) Data storage device and operating method thereof
CN110134645B (en) File system storage management method, file system storage reading method, file system storage management device and file system storage reading device
US20150205538A1 (en) Storage apparatus and method for selecting storage area where data is written
US11409720B2 (en) Metadata reduction in a distributed storage system
KR100914646B1 (en) Management Scheme for Flash Memory with the Multi-Plane Architecture
KR20010037155A (en) Flash file system
CN108694129B (en) Method for determining last writing position in storage area of Flash memory
KR101826778B1 (en) EEPROM Emulation Method Considering implementation of Flash Life Cycle and Performance Improvement
US20180052635A1 (en) Electronic control apparatus and information storage method for the same
CN116185563B (en) Software simulation algorithm based on vehicle-gauge microcontroller data flash memory
CN113918485B (en) Method, device, equipment and storage medium for preventing flash memory data from being lost
CN111949212B (en) File system and file management method based on self-defined open channel SSD

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant