IP Library › Granted Patent US 10,810,016
Granted Patent B2
US 10,810,016 · App. 15/156,855 · Granted Oct 20, 2020

Operating methods of computing devices comprising storage devices including nonvolatile memory devices, buffer memories and controllers

Inventors: Bon Cheol Gu (Seongnam-si, KR); Duckho Bae (Seoul, KR); Jong Hyun Yoon (Hwaseong-si, KR); Jinyoung Lee (Anyang-si, KR); Insoon Jo (Hwaseong-si, KR); MoonSang Kwon (Seoul, KR); Sungho Yoon (Seoul, KR); Sangyeun Cho (Seongnam-si, KR)
Assignee: Samsung Electronics Co., Ltd.
G06F9/4403G06F9/4401
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 10,810,016
App. No.
15/156,855
Granted
Oct 20, 2020
Kind
B2
Abstract

A method of operating a computing device includes a storage device receiving a request to execute an application instance, and executing the application instance at the storage device in response to the received request by the storage device. The application instance includes a plurality of storage instances connected with one another, and at least one of the plurality of storage instances is connected to a host device.

Claims (64)

1. A method of operating a computing device including a storage device, the method comprising:

loading firmware, the firmware being configured to control at least one memory operation at the storage device, the at least one memory operation including at least one of a writing, reading or erasing operation;

generating an application instance in the storage device based on a storage instance in the storage device according to a first request from a host device, the storage instance being a shuffler or a reducer;

executing the application instance at the storage device to perform a task requested by the host device; and

destructing the application instance based on a second request from the host device; wherein

the shuffler is configured to group pairs, having the same word, from among word and token pairs, and output pair groups, or

the reducer is configured to calculate a sum of tokens in each pair group, and output pairs of a word and the sum.

2. The method of claim 1 , further comprising:

executing a power-on initialization at the storage device;

loading a storage runtime on the storage device, the storage runtime supporting a plurality of fibers; and

executing the firmware,

wherein the firmware is loaded onto at least one of the plurality of fibers.

3. The method of claim 1 , wherein the generating the application instance comprises:

transferring a signature to the storage device.

4. The method of claim 1 , wherein the generating the application instance comprises:

loading a binary module onto the storage device, the binary module including an object class associated with the storage instance, the binary module being associated with a module identifier.

5. The method of claim 4 , wherein the loading a binary module comprises:

obtaining identifiers of binary modules from the storage device; and

loading, from the storage device, the binary module corresponding to an identifier selected from the identifiers.

6. The method of claim 4 , further comprising:

inputting the binary module to the storage device; and

inputting the module identifier to the storage device.

7. The method of claim 4 , wherein the generating the application instance further comprises:

generating an empty application instance; and

assigning an application identifier to the empty application instance.

8. The method of claim 7 , further comprising:

generating the storage instance on the storage device based on the binary module;

registering the storage instance; and

associating an object identifier with the application instance.

9. The method of claim 8 , further comprising:

probing the storage instance to determine a validity of the storage instance.

10. The method of claim 1 , further comprising:

connecting two or more storage instances in the application instance.

11. The method of claim 10 , wherein the connecting the two or more storage instances comprises:

connecting an output port of a first of the two or more storage instances with an input port of a second of the two or more storage instances.

12. The method of claim 11 , wherein the connecting the two or more storage instances comprises:

generating a queue between the output port of the first of the two or more storage instances and the input port of the second of the two or more storage instances.

13. The method of claim 10 , further comprising:

connecting at least one of the two or more storage instances to the host device based on a third request received from the host device; and

communicating between the host device and the at least one of the two or more storage instances based on a serialized packet.

14. The method of claim 1 , further comprising:

generating, by the host device, a file to be stored in the storage device; and

accessing the file through the application instance.

15. A method of operating a computing device including a storage device, the method comprising:

generating an application instance in the storage device based on a storage instance in the storage device, the storage instance being a shuffler or a reducer;

executing the application instance at the storage device;

receiving a range of logical addresses at the application instance;

accessing, by the application instance, a nonvolatile memory device based on the range of logical addresses; and

counting, by the application instance, a number of events that a word appears, among data accessed by the application instance, the word given from a host device; wherein

the shuffler is configured to group pairs, having the same word, from among word and token pairs, and output pair groups, or

the reducer is configured to calculate a sum of tokens in each pair group, and output pairs of a word and the sum.

16. A method of operating a computing device, the method comprising:

generating, at a storage device, an application instance by connecting a plurality of storage instances with one another, the plurality of storage instances including a shuffler or a reducer, and at least a first of the plurality of storage instances connected to a host device according to a first request from the host device;

receiving, at a storage device, a second request to execute the application instance; and

destructing the application instance at the storage device by disconnecting the plurality of storage instances in response to a third request; wherein

the shuffler is configured to group pairs, having the same word, from among word and token pairs, and output pair groups, or

the reducer is configured to calculate a sum of tokens in each pair group, and output pairs of a word and the sum.

17. The method of claim 16 , further comprising:

receiving a range of logical addresses at the application instance; and

accessing, by the application instance, a nonvolatile memory device at the storage device based on the range of logical addresses.

18. The method of claim 16 , further comprising:

connecting the plurality of storage instances with one another.

19. The method of claim 16 , wherein the storage device includes a flash memory device, the flash memory device including a three-dimensional memory array.

20. The method of claim 19 , wherein the three-dimensional memory array includes a non-volatile memory that is monolithically formed in one or more physical levels of memory cells having active areas above a silicon substrate.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2016
From: GU, BON CHEOL; BAE, DUCKHO; YOON, JONG HYUN; LEE, JINYOUNG; JO, INSOON; KWON, MOONSANG; YOON, SUNGHO; CHO, SANGYEUN
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 038636/0960 →
Priority Claims (1)
KR 10-2015-0113397 · Aug 11, 2015 · national
Continuity (1)
Related Publication 20170046170A1 · Feb 16, 2017