IP Library Granted Patent US 9,250,995
Granted Patent B2
US 9,250,995 · App. 13/911,443 · Granted Feb 2, 2016

Protection of data in memory

Inventors: Jackson L. Ellis (Fort Collins, CO); Earl T. Cohen (Cupertino, CA); Sivakumar Sambandan (Pune, IN); Jeonghun Kim (Fort Collins, CO); Stephen D. Hanna (Fort Collins, CO)
Assignee: Seagate Technology LLC
G06F11/1016G06F11/1008G06F11/1044G06F11/1076G11C29/00
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 9,250,995
App. No.
13/911,443
Granted
Feb 2, 2016
Kind
B2
Abstract

A method for protecting data in a memory is disclosed. The method generally includes steps (A) to (D). Step (A) converts a logical address of one of a plurality of logical units to a physical address of a corresponding one of a plurality of physical units. Each physical unit is configured to store (i) data from a corresponding one of the logical units, (ii) respective error correction information and (iii) respective verification information. Step (B) writes a particular one of the physical units to the memory. Step (C) reads a portion of the particular physical unit from the memory. The portion includes the respective verification information. The respective verification information includes an indication of the logical address. Step (D) verifies the writing according to the respective verification information in the portion.

Claims (35)

1. A method for protecting data in a memory, comprising the steps of:

converting a logical address of one of a plurality of logical units to a physical address of a particular one of a plurality of physical units, wherein (i) each of the physical units includes data from a corresponding one of the logical units, respective error correction information and respective verification information and (ii) the respective verification information of the particular physical unit includes an indication of the logical address that corresponds to the particular physical unit;

writing the particular physical unit into the memory;

reading a portion of the particular physical unit from the memory, wherein the portion includes the respective verification information; and

verifying if the particular physical unit was successfully written into the memory based on the respective verification information as read from the memory.

2. The method according to claim 1 , further comprising the step of:

prohibiting one or more read operations from accessing the particular physical unit in the memory between the write of the particular physical unit and a successful verification of the particular physical unit.

3. The method according to claim 1 , wherein the portion of the particular physical unit is less than all of the particular physical unit.

4. The method according to claim 1 , wherein the portion of the particular physical unit is no more than the respective error correction information and the respective verification information.

5. The method according to claim 1 , wherein the verification includes comparing the respective error correction information and the respective verification information as read from the memory with copies of the respective error correction information and the respective verification information saved in a buffer.

6. The method according to claim 1 , further comprising the step of:

re-writing the particular physical unit to the memory in response to an unsuccessful verification.

7. The method according to claim 6 , further comprising the step of:

storing a copy of the particular physical unit in a buffer, wherein the re-write uses the copy of the particular physical unit in the buffer.

8. The method according to claim 1 , wherein the conversion of the logical address includes dividing the logical address by a non-power-of-two number that is less than a specified power of two to determine at least a part of the physical address.

9. The method according to claim 1 , wherein the respective verification information is a cyclic redundancy check value based on both (i) the data from the corresponding logical unit and (ii) the logical address.

10. The method according to claim 1 , wherein the respective error correction information is encoded with one of (i) the logical address and (ii) the physical address.

11. The method according to claim 1 , further comprising the steps of:

reading the particular physical unit from the memory; and

correcting one or more errors encountered in the particular physical unit as read from the memory using the respective error correction information.

12. The method according to claim 11 , further comprising the steps of:

re-reading the particular physical unit from the memory in response to the particular physical unit as read from the memory being uncorrectable; and

re-correcting the particular physical unit as re-read from the memory.

13. An apparatus comprising:

an interface configured to process a plurality of read/write operations to/from a memory; and

a controller circuit connected to the interface and configured to (i) convert a logical address of one of a plurality of logical units to a physical address of a particular one of a plurality of physical units, wherein (a) each of the physical units includes data from a corresponding one of the logical units, respective error correction information and respective verification information and (b) the respective verification information of the particular physical unit includes an indication of the logical address that corresponds to the particular physical unit, (ii) write the particular physical unit into the memory, (iii) read a portion of the particular physical unit from the memory, wherein the portion includes the respective verification information and (iv) verify if the particular physical unit was successfully written into the memory based on the respective verification information as read from the memory.

14. The apparatus according to claim 13 , wherein the controller circuit is further configured to prohibit one or more read operations from accessing the particular physical unit in the memory between the write of the particular physical unit and a successful verification of the particular physical unit.

15. The apparatus according to claim 13 , wherein the portion of the particular physical unit is less than all of the particular physical unit.

16. The apparatus according to claim 13 , wherein the portion of the particular physical unit is no more than the respective error correction information and the respective verification information.

17. The apparatus according to claim 13 , wherein the verification includes a comparison of the respective error correction information and the respective verification information as read from the memory with copies of the respective error correction information and the respective verification information saved in a buffer.

18. The apparatus according to claim 13 , wherein the controller circuit is further configured to re-write the particular physical unit to the memory in response to an unsuccessful verification.

19. An apparatus comprising:

a memory configured to process a plurality of read/write operations; and

a controller configured to (i) convert a logical address of one of a plurality of logical units to a physical address of a particular one of a plurality of physical units, wherein (a) each of the physical units includes data from a corresponding one of the logical units, respective error correction information and respective verification information and (b) the respective verification information of the particular physical unit includes an indication of the logical address that corresponds to the particular physical unit, (ii) write the particular physical unit into the memory, (iii) read a portion of the particular physical unit from the memory, wherein the portion includes the respective verification information, and (iv) verify if the particular physical unit was successfully written into the memory based on the respective verification information as read from the memory.

20. The apparatus according to claim 19 , wherein the memory and the controller are part of a solid-state drive.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2015
From: LSI CORPORATION
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 034771/0272 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2013
From: ELLIS, JACKSON L.; COHEN, EARL T.; SAMBANDAN, SIVAKUMAR; KIM, JEONGHUN; HANNA, STEPHEN D.
To: LSI CORPORATION
Reel/Frame 030559/0678 →
Continuity (2)
Provisional Application 61828425 · May 29, 2013
Related Publication 20140359395A1 · Dec 4, 2014