IP Library Granted Patent US 10,782,914
Granted Patent B2
US 10,782,914 · App. 16/003,927 · Granted Sep 22, 2020

Buffer systems and methods of operating the same

Inventors: Seunggyu Jeong (Icheon-si, KR); Jung Hyun Kwon (Seoul, KR); Wongyu Shin (Icheon-si, KR); Do-Sun Hong (Icheon-si, KR)
Assignee: SK hynix Inc.
G06F3/0656G06F3/0611G06F3/0673
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,782,914
App. No.
16/003,927
Granted
Sep 22, 2020
Kind
B2
Abstract

A buffer system may include a buffer configured to receive input data having an assigned priority level, store the input data within a memory stack regardless of the priority level assigned to the input data, and sequentially output the input data stored in the memory stack in order of the priority levels assigned to the input data.

Claims (55)

1. A buffer system comprising:

a buffer configured to store an sorted data into a plurality of groups respectively corresponding to a plurality of priority levels and configured to output the stored data according to a first-in first-out (FIFO) scheme for a priority level,

wherein the buffer includes:

a memory stack configured to include a plurality of storage elements, each of which stores one of the sorted data;

a first register stack configured to include information on an output sequence of data stored in the plurality of storage elements; and

a second register stack configured to include information on a storage location of the sorted data outputted from the classifier when the sorted data are stored into the plurality of storage elements,

wherein the first register stack includes a plurality of first registers;

wherein the second register stack includes a plurality of second registers; and

wherein the number of the first registers is equal to or greater than the number of the storage elements, and the number of the first registers is equal to or greater than the number of the second registers.

2. The buffer system of claim 1 , wherein if the input data is stored into a certain storage element among the plurality of storage elements, a level end pointer of the priority level of the input data is created to indicate the certain storage element in which the input data is stored.

3. The buffer system of claim 1 ,

wherein if the input data is stored into a certain storage element among the plurality of storage elements, an address of the storage element storing a data having a priority level lower than the priority level of the input data stored in the certain storage element is stored into any one of the plurality of first registers.

4. The buffer system of claim 1 ,

wherein if a data is outputted from a certain storage element among the plurality of storage elements, an address of the certain storage element is stored into one of the plurality of second registers.

5. The buffer system of claim 1 ,

wherein the first registers are matched with the storage elements, respectively; and

wherein the second registers are matched with the storage elements, respectively.

6. The buffer system of claim 5 , wherein one of the first registers, one of the second registers and one of the storage elements which are matched with one another have the same address.

7. The buffer system of claim 1 ,

wherein all of the storage elements and the first registers have an empty state if the buffer is initialized; and

wherein if the buffer is initialized, a second lowest-order address to a highest-order address of the storage elements are respectively stored into the second registers having a lowest-order address to a second highest-order address; and

wherein if the buffer is initialized, the second register having a highest-order address has an empty state.

8. The buffer system of claim 1 ,

wherein if the input data is an initial data that is firstly inputted to the memory stack after the buffer is initialized, the input data is stored into a first storage element having a lowest-order address among the storage elements, a push pointer is created to indicate a first one of the second registers, which is matched with the first storage element, and a pop pointer is created to indicate a first one of the first registers, which is matched with the first storage element.

9. The buffer system of claim 8 ,

wherein an end flag data is stored into a first one of the first registers, which is matched with the first storage element;

wherein the input data stored in the first storage element matched with the first register storing the end flag data means a last data among data stored in the memory stack.

10. The buffer system of claim 9 ,

wherein the input data stored in the first storage element matched with the first register indicated by the pop pointer is outputted based on a pop command;

wherein an address stored in the first register indicated by the pop pointer is deleted, and the pop pointer is recreated to indicate the first register matched with the first storage element having the deleted address; and

wherein an address of the storage element in which the outputted data was previously stored is stored into the empty second register having the highest-order address among the second registers.

11. The buffer system of claim 1 ,

wherein if the input data is not an initial data that is firstly inputted to the memory stack after the buffer is initialized, the input data is stored into the storage element having an address stored in a certain second register indicated by a push pointer among the second registers, and the push pointer is recreated to indicate another second register having an address greater than the address of the certain second register.

12. The buffer system of claim 11 , wherein if a priority level of the input data is higher than the priority levels of the previous data stored in the memory stack, a pop pointer is created to indicate one of the first registers, which is matched with the storage element in which the input data is stored.

13. The buffer system of claim 12 ,

wherein the input data stored in the storage element matched with the first register indicated by the pop pointer is outputted in response to a pop command;

wherein an address stored in the first register indicated by the pop pointer is deleted, and the pop pointer is recreated to indicate the first register matched with the storage element having the deleted address; and

wherein an address of the storage element in which the outputted data was previously stored is stored into any one of the second registers.

14. The buffer system of claim 1 ,

wherein if the input data is not an initial data that is firstly inputted to the memory stack after the buffer is initialized and the input data has a lowest priority level among the priority levels of the previous data stored in the memory stack, an end flag data is stored into the first register which is matched with the storage element storing the input data, and an address of the storage element storing the input data is stored into the first register in which the end flag data was previously stored; and

wherein the end flag data is provided to indicate a last one of the data having a lowest priority level among the priority levels of the data stored in the memory stack.

15. The buffer system of claim 14 ,

wherein the input data stored in the storage element matched with the first register indicated by a pop pointer is outputted based on a pop command;

wherein an address stored in the first register indicated by the pop pointer is deleted, and the pop pointer is recreated to indicate the first register matched with the storage element having the deleted address; and

wherein an address of the storage element in which the outputted data was previously stored is stored into any one of the second registers.

16. The buffer system of claim 1 ,

wherein if the input data is not an initial data that is firstly inputted to the memory stack after the buffer is initialized and a priority level of the input data is not a lowest priority level among the priority levels of the previous data stored in the memory stack, an address of the storage element storing a first one of the data having a highest priority level among the priority levels lower than the priority level of the input data is stored into the first register matched with the storage element in which the input data is stored.

17. The buffer system of claim 16 , wherein if at least one data having the same priority level as the input data is present in the previous data stored in the memory stack, an address of the storage element storing the input data is stored into the first register which is matched with the storage element in which a last one among the data having the same priority level as the input data is stored.

18. The buffer system of claim 17 ,

wherein the input data stored in the storage element matched with the first register indicated by a pop pointer is outputted in response to a pop command;

wherein an address stored in the first register indicated by the pop pointer is deleted, and the pop pointer is recreated to indicate the first register matched with the storage element having the deleted address; and

wherein an address of the storage element in which the outputted data was previously stored is stored into any one of the second registers.

19. The buffer system of claim 1 ,

wherein the buffer system is implemented with a FIFO buffer system architecture, and

wherein the buffer is implemented with a FIFO buffer architecture.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2024
From: SK HYNIX INC.
To: MIMIRIP LLC
Reel/Frame 067335/0246 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2018
From: JEONG, SEUNGGYU; KWON, JUNG HYUN; SHIN, WONGYU; HONG, DO-SUN
To: SK HYNIX INC.
Reel/Frame 046031/0532 →
Priority Claims (1)
KR 10-2017-0176471 · Dec 20, 2017 · national
Continuity (1)
Related Publication 20190187927A1 · Jun 20, 2019