IP Library Granted Patent US 9,043,532
Granted Patent B2
US 9,043,532 · App. 12/743,905 · Granted May 26, 2015

Method, device and data structure for data storage on memory devices

Inventors: Petteri Hanhimäki (Salo, FI); Ilpo Henrik Järvinen (Pyöli, FI)
Assignee: Nokia Corporation
G06F12/0246G06F8/65G06F2212/1004G06F2212/1016G06F2212/7202G06F2212/7206G06F2212/7207G11C16/102
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,043,532
App. No.
12/743,905
Granted
May 26, 2015
Kind
B2
Abstract

A method is provided for storing data on memory devices comprising a plurality of erasable units, wherein the size of said erasable units is an integer multiple of a first integer value, comprising providing a data structure comprising a plurality of data units each including a data unit header, wherein the size of said data units is equal to said first integer value, a plurality of data items and corresponding data item headers within each data unit, associating at least one data unit to each erasable unit, storing said data in said data items and storing data item status information in the corresponding data item headers, and storing data unit status information in said data unit headers.

Claims (39)

1. A method comprising:

programming data on at least one memory device comprising creating a data structure image to program a plurality of erasable units of said at least one memory device, wherein a size of said erasable units is an integer multiple of a first integer value, the method further comprising:

providing a data structure image comprising:

creating a plurality of data items each including a data item header, wherein a size of each said data item being equal to said first integer value; and

creating a plurality of data units each including a corresponding data unit header and at least one data item, a size of each data unit being a third integer value, multiple of said first integer value;

associating a determined amount of the data units to each erasable unit, the size of each erasable unit being a second integer value, multiple of the first integer value and divisible by the third integer value, wherein said determined amount of the data units associated to each erasable unit is determined based on an amount of the data units that will fit into a smallest possible writeable unit size of the erasable unit associated with the second integer value;

storing said data in said data items and storing data item status information in the corresponding data item headers;

storing data unit status information in said data unit headers; and

using said data structure image to program said plurality of erasable units on said at least one memory device.

2. The method according to claim 1 , wherein a size of said data item headers is an integer multiple of said smallest possible writable unit.

3. The method according to claim 1 , wherein

the size of said erasable units is at least twice said first integer value;

at least two data units are associated to each erasable unit; and

a single data unit header within each erasable unit is used for storing status information of all data units associated with the same erasable unit.

4. The method according to claim 3 , wherein the programming comprises initial programming of said at least one memory device, the method further comprising:

reading out the status information of all data unit headers; and

storing status information of all data units associated with the same erasable unit in a single data unit header within said erasable unit.

5. The method according to claim 1 , wherein at least one of said data unit header is used to store the status information of all data units within the associated erasable unit.

6. A non-transitory computer program product, comprising program code to instruct a device on which said program product runs to perform a method comprising:

providing a data structure image to program a plurality of erasable units of at least one memory device comprising:

creating a plurality of data items each including a data item header, wherein a size of each said data item being equal to said first integer value;

creatine a plurality of data units each including a corresponding data unit header and at least one data item, the size of each data unit being a third integer value, multiple of said first integer value;

associating a determined amount of data units to each erasable unit, the size of each erasable unit being a second integer value, multiple of the first integer value and divisible by the third integer value, wherein said determined amount of the data units associated to each erasable unit is determined based on an amount of the data units that will fit into a smallest possible writeable unit size of the erasable unit associated with the second integer;

storing said data in said data items and storing data item status information in the corresponding data item headers;

storing data unit status information in said data unit headers; and

using said data structure image to program said plurality of erasable units on said at least one memory device.

7. The non-transitory computer program product of claim 6 , wherein at least one of said data unit header is used to store the status information of all data units within the associated erasable unit.

8. A non-transitory computer readable medium embodying a data structure image for programming data on at least one memory device comprising a plurality of erasable units, wherein the size of said erasable units is an integer multiple of a first integer value, wherein said data structure image comprises:

a plurality of data items each including a data item header, wherein a size of each said data item is equal to said first integer value; and

a plurality of data units each including a corresponding data unit header and at least one data item, the size of each data unit being a third integer value, multiple of said first integer value;

associating a determined amount of data units to each erasable unit, the size of each erasable unit being a second integer value, said determined amount of at least one data unit provided for each erasable unit is determined based on an amount of the data units that will fit into a smallest possible writeable unit size of the erasable unit and associated with the second integer;

said data items being adapted to store payload data,

said data item headers being adapted to store data item status information and

said data unit headers being adapted to store data unit status information; and

using said data structure image to program said plurality of erasable units of said at least one memory device.

9. The non-transitory computer readable medium according to claim 8 , wherein the size of said data item headers is an integer multiple of said smallest possible writable unit.

10. The non-transitory computer readable medium according to claim 8 , wherein said data structure image is part of a memory device.

11. The non-transitory computer readable medium according to claim 10 , wherein the at least one memory device is part of an electronic device.

12. The non-transitory computer readable medium according to claim 8 , wherein the size of the erasable units of each memory device is an integer multiple of the first integer value, and wherein the size of the erase units of one of said memory devices is different from the size of the erase units of the other one of said memory devices.

Assignments (10)
CHANGE OF NAME Recorded Jan 27, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058871/0336 →
RELEASE OF SECURITY INTEREST Recorded Dec 12, 2018
From: NOKIA USA INC.
To: PROVENANCE ASSET GROUP, LLC
Reel/Frame 047791/0566 →
RELEASE OF SECURITY INTEREST Recorded Dec 12, 2018
From: NOKIA USA INC.
To: PROVENANCE ASSET GROUP HOLDINGS LLC
Reel/Frame 049139/0088 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2018
From: PROVENANCE ASSET GROUP LLC
To: FACEBOOK, INC.
Reel/Frame 047190/0360 →
PARTIAL RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 043967/0001 Recorded Aug 30, 2018
From: CORTLAND CAPITAL MARKET SERVICES LLC
To: PROVENANCE ASSET GROUP, LLC
Reel/Frame 046981/0600 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP LLC
To: NOKIA USA INC.
Reel/Frame 043879/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NOKIA TECHNOLOGIES OY; NOKIA SOLUTIONS AND NETWORKS BV; ALCATEL LUCENT SAS
To: PROVENANCE ASSET GROUP LLC
Reel/Frame 043877/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP, LLC
To: CORTLAND CAPITAL MARKET SERVICES, LLC
Reel/Frame 043967/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2015
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 035544/0481 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2010
From: HANHIMAKI, PETTERI; JARVINEN, ILPO HENRIK
To: NOKIA CORPORATION
Reel/Frame 024415/0854 →
Continuity (1)
Related Publication 20100312951A1 · Dec 9, 2010