Patentable/Patents/US-10592427
US-10592427

Logical to physical table fragments

PublishedMarch 17, 2020
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

Logical to physical tables each including logical to physical address translations for first logical addresses can be stored. Logical to physical table fragments each including logical to physical address translations for second logical address can be stored. A first level index can be stored. The first level index can include a physical table address of a respective one of the logical to physical tables for each of the first logical addresses and a respective pointer to a second level index for each of the second logical addresses. The second level index can be stored and can include a physical fragment address of a respective logical to physical table fragment for each of the second logical addresses.

Patent Claims
22 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method comprising: storing a plurality of logical to physical tables in secondary storage, each including logical to physical address translations for first logical addresses; storing a plurality of logical to physical table fragments in a first dedicated area of the secondary storage, each including logical to physical address translations for second logical address, wherein storing the plurality of logical to physical table fragments comprises: storing a respective first portion of each of the plurality of logical to physical table fragments in the first dedicated area of the secondary storage; and storing a respective second portion of each of the plurality of logical to physical table fragments in a second dedicated area of the secondary storage; storing a first level index in the secondary storage, the first level index including: a physical table address of a respective one of the plurality of logical to physical tables for each of the first logical addresses; and a respective pointer to a second level index for each of the second logical addresses; storing the second level index in the secondary storage, the second level index including a physical fragment address of a respective logical to physical table fragment for each of the second logical addresses; and caching the first level index and the second level index in primary storage.

2

2. The method of claim 1 , wherein the first logical addresses comprise cold logical addresses; and wherein the second logical addresses include hot logical addresses and cold logical addresses.

3

3. The method of claim 1 , further comprising: fragmenting one of the plurality of logical to physical tables in response to physical media of the table becoming unreliable; updating the first level index to include a particular pointer to the second level index for the one of the plurality of logical to physical tables; updating the second level index to include a physical fragment address of a fragment from a second dedicated area for the particular pointer.

4

4. The method of claim 1 , wherein storing the first level index and the second level index comprises storing the first level index and the second level index in the second dedicated area of the secondary storage.

5

5. The method of claim 1 , further comprising: counting a respective quantity of writes to each of the logical address over a measurement interval; moving a particular logical to physical table fragment from the second dedicated area to the first dedicated area in response to those of the quantity of writes associated with the particular logical to physical table fragment exceeding a cold threshold quantity of writes over the measurement interval.

6

6. The method of claim 1 , further comprising: counting a respective quantity of writes to each of the logical address over a measurement interval; moving a particular logical to physical table fragment from the first dedicated area to the second dedicated area in response to those of the quantity of writes associated with the particular logical to physical table fragment exceeding a hot threshold quantity of writes over the measurement interval.

7

7. A method comprising: storing a plurality of logical to physical tables, each including logical to physical address translations for first logical addresses; storing a plurality of logical to physical table fragments each including logical to physical address translations for second logical address; storing a first level index including: a physical table address of a respective one of the plurality of logical to physical tables for each of the first logical addresses; and a respective pointer to a second level index for each of the second logical addresses, wherein storing the first level index includes: storing a first fragmentation indicator associated with the first logical addresses; and storing a second fragmentation indicator and a respective second level index type indicator associated with the second logical addresses; and storing the second level index including a physical fragment address of a respective logical to physical table fragment for each of the second logical addresses.

8

8. The method of claim 7 , further including indicating a second level index type having only one hot fragment by storing a first respective second level index type indicator.

9

9. The method of claim 8 , further including indicating a second level index type having only two hot fragments by storing a second respective second level index type indicator.

10

10. The method of claim 9 , further including indicating a second level index type having more than two hot fragments by storing a third respective second level index type indicator.

11

11. A method comprising: storing a plurality of logical to physical tables, each including logical to physical address translations for first logical addresses; storing a plurality of logical to physical table fragments each including logical to physical address translations for second logical address; storing a first level index including: a physical table address of a respective one of the plurality of logical to physical tables for each of the first logical addresses; and a respective pointer to a second level index for each of the second logical addresses; storing the second level index including a physical fragment address of a respective logical to physical table fragment for each of the second logical addresses; starting a table copy operation to copy one of the plurality of logical to physical tables; and suspending the table copy operation after copying only a portion of the logical to physical address translations corresponding to an integer quantity of logical to physical table fragments.

12

12. An apparatus, comprising: primary storage; secondary storage; and a controller coupled to the primary storage and to the secondary storage, wherein the controller is configured to: in response to receiving a logical address: search a first level index in the primary storage of logical to physical tables using the logical address; retrieve, from a logical to physical table, a first physical address of the secondary storage corresponding to the logical address in response to finding a physical table address of the logical to physical table stored in the first level index for the logical address; search a second level index of logical to physical table fragments in response to finding a pointer to the second level index stored in the first level index for the logical address; and retrieve, from a logical to physical table fragment, a second physical address of the secondary storage corresponding to the logical address in response to finding a physical fragment address of the logical to physical table fragment stored in the second level index for the logical address; and in response to the physical table address of the logical to physical table being stored in the first level index for the logical address; and in response to more than a hot threshold quantity of writes of data associated with the logical address over a measurement interval: copy the data associated with the logical address to the second physical address of the secondary storage; add, to the first level index, the pointer to the second level index for the logical address; and remove the physical table address of the logical to physical table stored in the first level index for the logical address.

13

13. The apparatus of claim 12 , wherein the controller is further configured to store the first level index and the second level index in the secondary storage and a copy of the first level index and the second level index in the primary storage.

14

14. The apparatus of claim 13 , wherein the controller is further configured to store data associated with the logical address in the secondary storage or in a different secondary storage.

15

15. The apparatus of claim 12 , wherein the controller is further configured to: update data associated with the logical address and stored at the second physical address of the secondary storage by storing the updated data at a different physical address in the secondary storage; update the logical to physical table fragment with the new physical address; and copy the logical to physical table fragment to a different physical location with a different physical fragment address and update the logical to physical table fragment with the different physical fragment address.

16

16. The apparatus of claim 12 , wherein the controller is further configured to: update data associated with the logical address and stored at the first physical address of the secondary storage by storing the updated data at a different physical address in the secondary storage; update the logical to physical table fragment with the new physical address; and copy the logical to physical table to a different physical location with a different physical table address and update the logical to physical table with the different physical table address.

17

17. The apparatus of claim 12 , wherein the controller is further configured to access the first or the second physical address of the secondary storage corresponding to the logical address in response to retrieving the physical address.

18

18. The apparatus of claim 12 , wherein the primary storage comprises static random access memory (SRAM) embedded on a same die as the controller; and wherein the secondary storage comprises non-volatile memory separate from the same die as the controller.

19

19. The apparatus of claim 12 , wherein the secondary storage is not bit alterable.

20

20. The apparatus of claim 12 , wherein the secondary storage is bit alterable.

21

21. The apparatus of claim 20 , wherein the secondary storage comprises 3D XPoint.

22

22. An apparatus, comprising: primary storage; secondary storage; and a controller coupled to the primary storage and to the secondary storage, wherein the controller is configured to: in response to receiving a logical address: search a first level index in the primary storage of logical to physical tables using the logical address; retrieve, from a logical to physical table, a first physical address of the secondary storage corresponding to the logical address in response to finding a physical table address of the logical to physical table stored in the first level index for the logical address; search a second level index of logical to physical table fragments in response to finding a pointer to the second level index stored in the first level index for the logical address; and retrieve, from a logical to physical table fragment, a second physical address of the secondary storage corresponding to the logical address in response to finding a physical fragment address of the logical to physical table fragment stored in the second level index for the logical address: in response to the pointer to the second level index being stored in the first level index for the logical address; and in response to less than a cold threshold quantity of writes of data associated with the logical address over a measurement interval: copy the data associated with the logical address to a third physical address of the secondary storage; remove, from the first level index, the pointer to the second level index for the logical address; add, to the first level index, the physical table address of the logical to physical table for the logical address; and update the logical to physical table with the third physical address of the secondary storage corresponding to the logical address.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

August 2, 2018

Publication Date

March 17, 2020

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Logical to physical table fragments” (US-10592427). https://patentable.app/patents/US-10592427

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.