Mass Storage Controller Volatile Memory Containing Metadata Related to Flash Memory Storage
First Claim
Patent Images
1. An external memory coupled to a mass storage controller, the external memory comprising:
- a plurality of first tables, each first table containing first metadata relating to a first area of flash memory controlled by the mass storage controller;
a plurality of second tables, each second table containing second metadata regarding a second area of flash memory controlled by the mass storage controller, each first area consisting of a subset of a second area, each second table further including a count for the number of portions of the second area which store invalid data and another count for the number of times a portion of the second area has been erased;
a third table, distinct from the first tables and second tables, the third table containing physical flash memory addresses associated with logical host addresses, the physical flash memory addresses identifying one of a plurality of flash ports that are part of the mass storage controller, wherein each flash port is connected to a group of flash memory devices; and
an interface to the mass storage controller, wherein the mass storage controller is configured to generate and store aggregated data in the external memory, the aggregated data including data stored in the plurality of first tables, the plurality of second tables, and the third table in the external memory.
2 Assignments
0 Petitions
Accused Products
Abstract
A storage controller is provided that contains multiple processors. In some embodiments, the storage controller is coupled to a flash memory module having multiple flash memory groups, each flash memory group corresponding to a distinct flash port in the storage controller, each flash port comprising an associated processor. Each processor handles a portion of one or more host commands, including reads and writes, allowing multiple parallel pipelines to handle one or more host commands simultaneously.
55 Citations
30 Claims
-
1. An external memory coupled to a mass storage controller, the external memory comprising:
-
a plurality of first tables, each first table containing first metadata relating to a first area of flash memory controlled by the mass storage controller; a plurality of second tables, each second table containing second metadata regarding a second area of flash memory controlled by the mass storage controller, each first area consisting of a subset of a second area, each second table further including a count for the number of portions of the second area which store invalid data and another count for the number of times a portion of the second area has been erased; a third table, distinct from the first tables and second tables, the third table containing physical flash memory addresses associated with logical host addresses, the physical flash memory addresses identifying one of a plurality of flash ports that are part of the mass storage controller, wherein each flash port is connected to a group of flash memory devices; and an interface to the mass storage controller, wherein the mass storage controller is configured to generate and store aggregated data in the external memory, the aggregated data including data stored in the plurality of first tables, the plurality of second tables, and the third table in the external memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of operating a system, the system including a mass storage controller and an external memory coupled to the mass storage controller, the external memory comprising a plurality of first tables, a plurality of second tables, and a third table, the method comprising:
-
storing, in each respective first table of the plurality of first tables, first metadata relating to a first area of flash memory controlled by the mass storage controller; storing, in each respective second table of the plurality of second tables, second metadata regarding a second area of flash memory controlled by the mass storage controller, each first area consisting of a subset of a second area, a count for the number of portions of the second area which store invalid data, and another count for the number of times a portion of the second area has been erased; storing, in the third table, distinct from the first tables and second tables, physical flash memory addresses associated with logical host addresses, the physical flash memory addresses identifying one of a plurality of flash ports that are part of the mass storage controller, wherein each flash port is connected to a group of flash memory devices; and generating and storing aggregated data in the plurality of first tables, the plurality of second tables, and the third table in the external memory. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A system including a mass storage controller and an external memory coupled to the mass storage controller, the system comprising:
-
one or more ports for coupling to one or more hosts; the mass storage controller configured to be connected to flash memory and to generate and store aggregated data in the external memory; and the external memory coupled to the mass storage controller, the external memory including; an interface to the mass storage controller; a plurality of first tables, each first table to store first metadata relating to a first area of the flash memory controlled by the mass storage controller; a plurality of second tables, each second table to store second metadata regarding a second area of flash memory controlled by the mass storage controller, each first area consisting of a subset of a second area, each second table further including a count for the number of portions of the second area which store invalid data and another count for the number of times a portion of the second area has been erased; and a third table, distinct from the first tables and second tables, the third table to store physical flash memory addresses associated with logical host addresses, the physical flash memory addresses identifying one of a plurality of flash ports that are part of the mass storage controller, wherein each flash port is configured to be connected to a group of flash memory devices. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification