Search International and National Patent Collections
Some content of this application is unavailable at the moment.
If this situation persists, please contact us atFeedback&Contact
1. (EP2382547) LOGICAL ADDRESS OFFSET
Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters
Claims

1. A memory controller (101, 201), comprising:

a host interface (204);

a memory unit interface (206), wherein the memory unit interface (206) is operated with a default logical address offset or an existing saved logical address offset responsive to detecting that user data had previously been written to a user data area; and

control circuitry (208) configured to:
detect a memory unit formatting operation as initiated across the host interface (204) and that formats the memory unit with a file system; and

in response to detecting the formatting operation:

inspect format information (465) on the memory unit (132);

calculate a logical address offset (474) to be applied subsequent to the operation with the default logical address offset or the existing saved logical address offset; and

apply the logical address offset (474) to be applied subsequent to the operation with the default logical address offset or the existing saved logical address offset to a host logical address.


  2. The memory controller (101, 201) of claim 1, wherein the control circuitry (208) is configured to determine a starting logical address (476) of a user data area (462) of the memory unit (132) according to the format information (465).
  3. The memory controller (101, 201) of claim 2, wherein the controller (101, 201) is configured to apply the logical address offset (474) to be applied subsequent to the operation with the default logical address offset or the existing saved logical address offset to a host logical address corresponding to a beginning (478) of the user data area (462), wherein the beginning (478) of the user data area (462) is aligned with an allocation unit boundary of a file system (460).
  4. The memory controller (101, 201) of claim 3, wherein the allocation unit boundary of the file system (460) comprises a cluster boundary.
  5. The memory controller (101, 201) of claim 1, wherein the logical address offset (474) to be applied subsequent to the operation with the default logical address offset or the existing saved logical address offset as applied to a starting logical address (476) of a user data area (462) of the memory unit (132) corresponds to a beginning of a physical page (350-0, 350-1, 350-R) of memory cells or a beginning of a physical block (340-0, 340-1, 340-M) of memory cells.
  6. The memory controller (101, 201) of claim 1, including a number of logical address range comparators (214) configured to compare a host logical address with a range of logical addresses corresponding to a user data area (462) of the memory unit (132) to determine whether the host logical address is within the user data area (462).
  7. The memory controller (101, 201) of claim 1, including a non-volatile memory (210) configured to store the offset (474).
  8. The memory controller (101, 201) of claim 7, including an adder (212) coupled to the non-volatile memory (210) and to the memory unit interface (206), wherein the adder (212) is configured to add the logical address offset (474) to be applied subsequent to the operation with the default logical address offset or the existing saved logical address offset to the host logical address prior to the host logical address being sent across the memory unit interface (206).
  9. The memory controller (101, 201) of claim 1, wherein the memory controller (101, 201) is configured to inspect the format information (465) from a system data area (461) of the memory unit (132).
  10. The memory controller (101, 201) of any one of claims 1-9, wherein the control circuitry (208) is configured to:

determine a starting logical address of a user data area (462) of the memory unit (132) according to the format information (465); and

calculate the subsequent logical address offset (474), wherein the subsequent logical address offset (474) is equal to a difference in logical addresses between an end (476) of a system data area (461) and a beginning (478) of a subsequent physical page (350-0, 350-1, 350-R) of memory cells or a beginning of a subsequent physical block (340-0, 340-1, 340-M) of memory cells, wherein the difference is greater than zero.


  11. A method for operating a memory unit (132), comprising:

operating the memory unit interface (206) with a default logical address offset or an existing saved logical address offset responsive to detecting that user data had previously been written to a user data area;

detecting a memory unit (132) formatting operation as initiated across a host interface (204) and that formats the memory unit with a file system; and

in response to detecting the formatting operation:

inspecting format information (465) on the memory unit (132);

calculating a logical address offset (474) to be applied subsequent to the operation with the default logical address offset or the existing saved logical address offset; and

applying the logical address offset (474) to be applied subsequent to the operation with the default logical address offset or the existing saved logical address offset to a host logical address.


  12. The method of claim 11, wherein the method includes:

determining a starting logical address (476) of a user data area (462) of the memory unit (132) according to the format information (465); and

calculating the logical address offset (474) to be applied subsequent to the operation with the default logical address offset or the existing saved logical address offset, wherein the logical address offset (474) to be applied subsequent to the operation with the default logical address offset or the existing saved logical address offset is equal to a difference in logical addresses between an end (476) of a system data area (461) and a beginning of a subsequent physical page (350-0, 350-1, 350-R) of memory cells or a beginning of a subsequent physical block (340-0, 340-1, 340-M) of memory cells, wherein the difference is greater than zero.


  13. The method of claim 12, wherein the method includes applying the logical address offset (474) to be applied subsequent to the operation with the default logical address offset or the existing saved logical address offset to a host logical address that is equal to or greater than the starting address (476) of the user data area (462).
  14. The method of claim 11, wherein applying the logical address offset (474) to be applied subsequent to the operation with the default logical address offset or the existing saved logical address offset to the host logical address includes applying the logical address offset (474) to be applied subsequent to the operation with the default logical address offset or the existing saved logical address offset to a starting logical address (476) of a user data area (462); and
wherein a offset starting logical address (478) corresponds to a beginning of a physical page (350-0, 350-1, 350-R) of memory cells or a beginning of a physical block (340-0, 340-1, 340-M) of memory cells.
  15. The method of any one of claims 11-14, wherein the method includes:

determining a starting address of a system data area (461) of the memory unit (132) according to the format information (465); and

calculating a second offset to be applied to host logical addresses that are within the system data area (461);

wherein the second offset as applied to the starting address of the system data area (461) corresponds to a beginning of a physical page (350-0, 350-1, 350-R) of memory cells or a beginning of a physical block (340-0, 340-1, 340-M) of memory cells.