Method of controlling a non-volatile memory device in which a data erase block is larger than a data write block
Abstract
According to exemplary embodiments, there is provided an information storage apparatus having a non-volatile memory device in which a data erase block is larger than a data write block, the apparatus includes an erase device to effect erase in the non-volatile memory device on the basis of a write command from a host, a clean block pointer that stores an address of an erase area in the non-volatile memory device, and information indicative of a position of a write block in the erase area, up to which data is written, a determination device to determine, based on the clean block pointer, whether data associated with the write command is writable in the erase area in the non-volatile memory device, which is erased by the erase device, and a write device to write the data associated with the write command in the erase area, when the determination device determined that the data is writable.
Claims
exact text as granted — not AI-modified1. A method for controlling a non-volatile memory device in which a data erase block is larger than a data write block, the method comprising:
determining whether data associated with a write command is writable in the erase block in the non-volatile memory device, in addition to other data already written in the erase block, based on a pointer indicative of a position of a write block in the erase block, up to which data is written;
writing the data associated with the write command in the erase block, when it is determined that the data is writable;
reserving another erase block when it is determined that the data is not writable;
copying the other data already written in the erase block to the reserved another erase block; and
writing the data associated with the write command in the reserved another erase block.
2. The method according to claim 1 , wherein the other data is written in an area which is from a top position of the erase block to a position which is indicated by the pointer.
3. The method according to claim 1 , wherein the data associated with the write command is written in an address of the data write command which continues an address of the data write command of the other data already written in the erase block, when it is determined that the data associated with the write command is writable.
4. The method according to claim 1 , wherein the data associated with the write command is written in the write block next to the write block in which the other data is written.
5. The method according to claim 1 , wherein the pointer is stored in a temporary storage medium provided separate from the non-volatile memory device.
6. The method according to claim 1 , wherein the pointer is stored, along with the data associated with the write command, in the non-volatile memory device.
7. The method according to claim 1 , wherein the pointer further indicates an address of the erase block in the non-volatile memory device.
8. The method according to claim 7 , wherein the determining step comprises:
determining whether a write address associated with the write command coincides with the address of the erase block indicated by the pointer; and
determining whether the data associated with the write command is writable in the erase block, on the basis of the pointer, in addition to the other data already written in the erase block, when the write address associated with the write command coincides with the address of the erase block indicated by the pointer.
9. A method for controlling a non-volatile memory device in which a data erase block is larger than a data write block, the method comprising:
determining, when data associated with the write command is to be written in a first erase block, whether the data associated with the write command is writable in the first erase block in addition to other data already written in the first erase block and determining, based on a first pointer indicative of a position of a write block in the first erase block, up to which data is written, when data associated with the write command is to be written in a second erase block, whether the data associated with the write command is writable in the second erase block in addition to other data already written in the second erase block, based on a second pointer indicative of a position of a write block in the second erase block, up to which data is written;
writing the data in the first erase block, when it is determined that the data is writable in the first erase block, and writing the data in the second erase block, when it is determined that the data is writable in the second erase block;
reserving another erase block when it is determined that the data is not writable in one of the first erase block and second erase block;
copying the other data already written in the first erase block to the reserved another erase block when it is determined that, the data associated with the write command, which is to be written in the first erase block, is not writable in the first erase block and copying the other data already written in the second erase block to the reserved another erase block when it is determined that, the data associated with the write command, which is to be written in the second erase block, is not writable in the second erase block; and
writing the data associated with the write command in the reserved another erase block after the other erase block is reserved.
10. The method according to claim 9 , wherein the other data in the first erase block is written in an area which is from a top position of the first erase block to a position which is indicated by the first pointer and the other data in the second erase block is written in an area which is from a top position of the second erase block to a position which is indicated by the second pointer.
11. The method according to claim 9 , wherein the data, to be written in the first erase block, associated with the write command is written in an address of the data write command which continues an address of the data write command of the other data already written in the first erase block, when it is determined that the data associated with the write command is writable and the data, to be written in the second erase block, associated with the write command is written in an address of the data write command which continues an address of the data write command of the other data already written in the second erase block, when it is determined that the data associated with the write command is writable.
12. The method according to claim 9 , wherein the data, to be written in the first erase block, associated with the write command is written in the first erase block next to the write block in which the other data is written and the data, to be written in the second erase block, associated with the write command is written in the second erase block next to the write block in which the other data is written.
13. The method according to claim 9 , wherein the first and second pointers are stored in a temporary storage medium provided separate from the non-volatile memory device.
14. The method according to claim 9 , wherein the first and second pointers are stored, along with the data associated with the write command, in the non-volatile memory device.
15. The method according to claim 9 , wherein the first pointer further indicates an address of the first erase block in the non-volatile memory device and the second pointer further indicates an address of the second erase block in the non-volatile memory device.Join the waitlist — get patent alerts
Track US7404030B2 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.